# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: NeuralNetwork.proto
"""Generated protocol buffer code."""
from google.protobuf.internal import enum_type_wrapper
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from . import DataStructures_pb2 as DataStructures__pb2
try:
  FeatureTypes__pb2 = DataStructures__pb2.FeatureTypes__pb2
except AttributeError:
  FeatureTypes__pb2 = DataStructures__pb2.FeatureTypes_pb2
from . import Parameters_pb2 as Parameters__pb2
try:
  DataStructures__pb2 = Parameters__pb2.DataStructures__pb2
except AttributeError:
  DataStructures__pb2 = Parameters__pb2.DataStructures_pb2
try:
  FeatureTypes__pb2 = Parameters__pb2.FeatureTypes__pb2
except AttributeError:
  FeatureTypes__pb2 = Parameters__pb2.FeatureTypes_pb2

from .DataStructures_pb2 import *
from .Parameters_pb2 import *

DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13NeuralNetwork.proto\x12\x14\x43oreML.Specification\x1a\x14\x44\x61taStructures.proto\x1a\x10Parameters.proto\"\x88\x03\n\rNeuralNetwork\x12\x38\n\x06layers\x18\x01 \x03(\x0b\x32(.CoreML.Specification.NeuralNetworkLayer\x12G\n\rpreprocessing\x18\x02 \x03(\x0b\x32\x30.CoreML.Specification.NeuralNetworkPreprocessing\x12Y\n\x16\x61rrayInputShapeMapping\x18\x05 \x01(\x0e\x32\x39.CoreML.Specification.NeuralNetworkMultiArrayShapeMapping\x12T\n\x16imageInputShapeMapping\x18\x06 \x01(\x0e\x32\x34.CoreML.Specification.NeuralNetworkImageShapeMapping\x12\x43\n\x0cupdateParams\x18\n \x01(\x0b\x32-.CoreML.Specification.NetworkUpdateParameters\"x\n\x18NeuralNetworkImageScaler\x12\x14\n\x0c\x63hannelScale\x18\n \x01(\x02\x12\x10\n\x08\x62lueBias\x18\x14 \x01(\x02\x12\x11\n\tgreenBias\x18\x15 \x01(\x02\x12\x0f\n\x07redBias\x18\x16 \x01(\x02\x12\x10\n\x08grayBias\x18\x1e \x01(\x02\"+\n\x16NeuralNetworkMeanImage\x12\x11\n\tmeanImage\x18\x01 \x03(\x02\"\xc6\x01\n\x1aNeuralNetworkPreprocessing\x12\x13\n\x0b\x66\x65\x61tureName\x18\x01 \x01(\t\x12@\n\x06scaler\x18\n \x01(\x0b\x32..CoreML.Specification.NeuralNetworkImageScalerH\x00\x12\x41\n\tmeanImage\x18\x0b \x01(\x0b\x32,.CoreML.Specification.NeuralNetworkMeanImageH\x00\x42\x0e\n\x0cpreprocessor\"\x10\n\x0e\x41\x63tivationReLU\"$\n\x13\x41\x63tivationLeakyReLU\x12\r\n\x05\x61lpha\x18\x01 \x01(\x02\"\x10\n\x0e\x41\x63tivationTanh\"3\n\x14\x41\x63tivationScaledTanh\x12\r\n\x05\x61lpha\x18\x01 \x01(\x02\x12\x0c\n\x04\x62\x65ta\x18\x02 \x01(\x02\"\x13\n\x11\x41\x63tivationSigmoid\"/\n\x10\x41\x63tivationLinear\x12\r\n\x05\x61lpha\x18\x01 \x01(\x02\x12\x0c\n\x04\x62\x65ta\x18\x02 \x01(\x02\"4\n\x15\x41\x63tivationSigmoidHard\x12\r\n\x05\x61lpha\x18\x01 \x01(\x02\x12\x0c\n\x04\x62\x65ta\x18\x02 \x01(\x02\"D\n\x0f\x41\x63tivationPReLU\x12\x31\n\x05\x61lpha\x18\x01 \x01(\x0b\x32\".CoreML.Specification.WeightParams\"\x1e\n\rActivationELU\x12\r\n\x05\x61lpha\x18\x01 \x01(\x02\"*\n\x19\x41\x63tivationThresholdedReLU\x12\r\n\x05\x61lpha\x18\x01 \x01(\x02\"\x14\n\x12\x41\x63tivationSoftsign\"\x14\n\x12\x41\x63tivationSoftplus\"\x83\x01\n\x1c\x41\x63tivationParametricSoftplus\x12\x31\n\x05\x61lpha\x18\x01 \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x30\n\x04\x62\x65ta\x18\x02 \x01(\x0b\x32\".CoreML.Specification.WeightParams\"\xd4\x06\n\x10\x41\x63tivationParams\x12\x38\n\x06linear\x18\x05 \x01(\x0b\x32&.CoreML.Specification.ActivationLinearH\x00\x12\x34\n\x04ReLU\x18\n \x01(\x0b\x32$.CoreML.Specification.ActivationReLUH\x00\x12>\n\tleakyReLU\x18\x0f \x01(\x0b\x32).CoreML.Specification.ActivationLeakyReLUH\x00\x12J\n\x0fthresholdedReLU\x18\x14 \x01(\x0b\x32/.CoreML.Specification.ActivationThresholdedReLUH\x00\x12\x36\n\x05PReLU\x18\x19 \x01(\x0b\x32%.CoreML.Specification.ActivationPReLUH\x00\x12\x34\n\x04tanh\x18\x1e \x01(\x0b\x32$.CoreML.Specification.ActivationTanhH\x00\x12@\n\nscaledTanh\x18\x1f \x01(\x0b\x32*.CoreML.Specification.ActivationScaledTanhH\x00\x12:\n\x07sigmoid\x18( \x01(\x0b\x32\'.CoreML.Specification.ActivationSigmoidH\x00\x12\x42\n\x0bsigmoidHard\x18) \x01(\x0b\x32+.CoreML.Specification.ActivationSigmoidHardH\x00\x12\x32\n\x03\x45LU\x18\x32 \x01(\x0b\x32#.CoreML.Specification.ActivationELUH\x00\x12<\n\x08softsign\x18< \x01(\x0b\x32(.CoreML.Specification.ActivationSoftsignH\x00\x12<\n\x08softplus\x18\x46 \x01(\x0b\x32(.CoreML.Specification.ActivationSoftplusH\x00\x12P\n\x12parametricSoftplus\x18G \x01(\x0b\x32\x32.CoreML.Specification.ActivationParametricSoftplusH\x00\x42\x12\n\x10NonlinearityType\"(\n\x06Tensor\x12\x0c\n\x04rank\x18\x01 \x01(\r\x12\x10\n\x08\x64imValue\x18\x02 \x03(\x03\"\xeaU\n\x12NeuralNetworkLayer\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05input\x18\x02 \x03(\t\x12\x0e\n\x06output\x18\x03 \x03(\t\x12\x31\n\x0binputTensor\x18\x04 \x03(\x0b\x32\x1c.CoreML.Specification.Tensor\x12\x32\n\x0coutputTensor\x18\x05 \x03(\x0b\x32\x1c.CoreML.Specification.Tensor\x12\x13\n\x0bisUpdatable\x18\n \x01(\x08\x12\x43\n\x0b\x63onvolution\x18\x64 \x01(\x0b\x32,.CoreML.Specification.ConvolutionLayerParamsH\x00\x12;\n\x07pooling\x18x \x01(\x0b\x32(.CoreML.Specification.PoolingLayerParamsH\x00\x12=\n\nactivation\x18\x82\x01 \x01(\x0b\x32&.CoreML.Specification.ActivationParamsH\x00\x12\x46\n\x0cinnerProduct\x18\x8c\x01 \x01(\x0b\x32-.CoreML.Specification.InnerProductLayerParamsH\x00\x12@\n\tembedding\x18\x96\x01 \x01(\x0b\x32*.CoreML.Specification.EmbeddingLayerParamsH\x00\x12@\n\tbatchnorm\x18\xa0\x01 \x01(\x0b\x32*.CoreML.Specification.BatchnormLayerParamsH\x00\x12\x46\n\x03mvn\x18\xa5\x01 \x01(\x0b\x32\x36.CoreML.Specification.MeanVarianceNormalizeLayerParamsH\x00\x12\x44\n\x0bl2normalize\x18\xaa\x01 \x01(\x0b\x32,.CoreML.Specification.L2NormalizeLayerParamsH\x00\x12<\n\x07softmax\x18\xaf\x01 \x01(\x0b\x32(.CoreML.Specification.SoftmaxLayerParamsH\x00\x12\x34\n\x03lrn\x18\xb4\x01 \x01(\x0b\x32$.CoreML.Specification.LRNLayerParamsH\x00\x12\x36\n\x04\x63rop\x18\xbe\x01 \x01(\x0b\x32%.CoreML.Specification.CropLayerParamsH\x00\x12<\n\x07padding\x18\xc8\x01 \x01(\x0b\x32(.CoreML.Specification.PaddingLayerParamsH\x00\x12>\n\x08upsample\x18\xd2\x01 \x01(\x0b\x32).CoreML.Specification.UpsampleLayerParamsH\x00\x12J\n\x0eresizeBilinear\x18\xd3\x01 \x01(\x0b\x32/.CoreML.Specification.ResizeBilinearLayerParamsH\x00\x12\x42\n\ncropResize\x18\xd4\x01 \x01(\x0b\x32+.CoreML.Specification.CropResizeLayerParamsH\x00\x12@\n\x05unary\x18\xdc\x01 \x01(\x0b\x32..CoreML.Specification.UnaryFunctionLayerParamsH\x00\x12\x34\n\x03\x61\x64\x64\x18\xe6\x01 \x01(\x0b\x32$.CoreML.Specification.AddLayerParamsH\x00\x12>\n\x08multiply\x18\xe7\x01 \x01(\x0b\x32).CoreML.Specification.MultiplyLayerParamsH\x00\x12<\n\x07\x61verage\x18\xf0\x01 \x01(\x0b\x32(.CoreML.Specification.AverageLayerParamsH\x00\x12\x38\n\x05scale\x18\xf5\x01 \x01(\x0b\x32&.CoreML.Specification.ScaleLayerParamsH\x00\x12\x36\n\x04\x62ias\x18\xfa\x01 \x01(\x0b\x32%.CoreML.Specification.BiasLayerParamsH\x00\x12\x34\n\x03max\x18\x84\x02 \x01(\x0b\x32$.CoreML.Specification.MaxLayerParamsH\x00\x12\x34\n\x03min\x18\x85\x02 \x01(\x0b\x32$.CoreML.Specification.MinLayerParamsH\x00\x12;\n\x03\x64ot\x18\x8e\x02 \x01(\x0b\x32+.CoreML.Specification.DotProductLayerParamsH\x00\x12:\n\x06reduce\x18\x98\x02 \x01(\x0b\x32\'.CoreML.Specification.ReduceLayerParamsH\x00\x12\x46\n\x0cloadConstant\x18\xa2\x02 \x01(\x0b\x32-.CoreML.Specification.LoadConstantLayerParamsH\x00\x12<\n\x07reshape\x18\xac\x02 \x01(\x0b\x32(.CoreML.Specification.ReshapeLayerParamsH\x00\x12<\n\x07\x66latten\x18\xad\x02 \x01(\x0b\x32(.CoreML.Specification.FlattenLayerParamsH\x00\x12<\n\x07permute\x18\xb6\x02 \x01(\x0b\x32(.CoreML.Specification.PermuteLayerParamsH\x00\x12:\n\x06\x63oncat\x18\xc0\x02 \x01(\x0b\x32\'.CoreML.Specification.ConcatLayerParamsH\x00\x12\x38\n\x05split\x18\xca\x02 \x01(\x0b\x32&.CoreML.Specification.SplitLayerParamsH\x00\x12J\n\x0esequenceRepeat\x18\xd4\x02 \x01(\x0b\x32/.CoreML.Specification.SequenceRepeatLayerParamsH\x00\x12J\n\x0ereorganizeData\x18\xd9\x02 \x01(\x0b\x32/.CoreML.Specification.ReorganizeDataLayerParamsH\x00\x12\x38\n\x05slice\x18\xde\x02 \x01(\x0b\x32&.CoreML.Specification.SliceLayerParamsH\x00\x12L\n\x0fsimpleRecurrent\x18\x90\x03 \x01(\x0b\x32\x30.CoreML.Specification.SimpleRecurrentLayerParamsH\x00\x12\x34\n\x03gru\x18\x9a\x03 \x01(\x0b\x32$.CoreML.Specification.GRULayerParamsH\x00\x12R\n\x12uniDirectionalLSTM\x18\xa4\x03 \x01(\x0b\x32\x33.CoreML.Specification.UniDirectionalLSTMLayerParamsH\x00\x12P\n\x11\x62iDirectionalLSTM\x18\xae\x03 \x01(\x0b\x32\x32.CoreML.Specification.BiDirectionalLSTMLayerParamsH\x00\x12:\n\x06\x63ustom\x18\xf4\x03 \x01(\x0b\x32\'.CoreML.Specification.CustomLayerParamsH\x00\x12\x36\n\x04\x63opy\x18\xd8\x04 \x01(\x0b\x32%.CoreML.Specification.CopyLayerParamsH\x00\x12:\n\x06\x62ranch\x18\xdd\x04 \x01(\x0b\x32\'.CoreML.Specification.BranchLayerParamsH\x00\x12\x36\n\x04loop\x18\xe7\x04 \x01(\x0b\x32%.CoreML.Specification.LoopLayerParamsH\x00\x12@\n\tloopBreak\x18\xec\x04 \x01(\x0b\x32*.CoreML.Specification.LoopBreakLayerParamsH\x00\x12\x46\n\x0cloopContinue\x18\xf1\x04 \x01(\x0b\x32-.CoreML.Specification.LoopContinueLayerParamsH\x00\x12\x44\n\x0brangeStatic\x18\xfb\x04 \x01(\x0b\x32,.CoreML.Specification.RangeStaticLayerParamsH\x00\x12\x46\n\x0crangeDynamic\x18\x80\x05 \x01(\x0b\x32-.CoreML.Specification.RangeDynamicLayerParamsH\x00\x12\x36\n\x04\x63lip\x18\x94\x05 \x01(\x0b\x32%.CoreML.Specification.ClipLayerParamsH\x00\x12\x36\n\x04\x63\x65il\x18\x99\x05 \x01(\x0b\x32%.CoreML.Specification.CeilLayerParamsH\x00\x12\x38\n\x05\x66loor\x18\x9e\x05 \x01(\x0b\x32&.CoreML.Specification.FloorLayerParamsH\x00\x12\x36\n\x04sign\x18\xa8\x05 \x01(\x0b\x32%.CoreML.Specification.SignLayerParamsH\x00\x12\x38\n\x05round\x18\xad\x05 \x01(\x0b\x32&.CoreML.Specification.RoundLayerParamsH\x00\x12\x36\n\x04\x65xp2\x18\xbc\x05 \x01(\x0b\x32%.CoreML.Specification.Exp2LayerParamsH\x00\x12\x34\n\x03sin\x18\xc6\x05 \x01(\x0b\x32$.CoreML.Specification.SinLayerParamsH\x00\x12\x34\n\x03\x63os\x18\xcb\x05 \x01(\x0b\x32$.CoreML.Specification.CosLayerParamsH\x00\x12\x34\n\x03tan\x18\xd0\x05 \x01(\x0b\x32$.CoreML.Specification.TanLayerParamsH\x00\x12\x36\n\x04\x61sin\x18\xda\x05 \x01(\x0b\x32%.CoreML.Specification.AsinLayerParamsH\x00\x12\x36\n\x04\x61\x63os\x18\xdf\x05 \x01(\x0b\x32%.CoreML.Specification.AcosLayerParamsH\x00\x12\x36\n\x04\x61tan\x18\xe4\x05 \x01(\x0b\x32%.CoreML.Specification.AtanLayerParamsH\x00\x12\x36\n\x04sinh\x18\xee\x05 \x01(\x0b\x32%.CoreML.Specification.SinhLayerParamsH\x00\x12\x36\n\x04\x63osh\x18\xf3\x05 \x01(\x0b\x32%.CoreML.Specification.CoshLayerParamsH\x00\x12\x36\n\x04tanh\x18\xf8\x05 \x01(\x0b\x32%.CoreML.Specification.TanhLayerParamsH\x00\x12\x38\n\x05\x61sinh\x18\x82\x06 \x01(\x0b\x32&.CoreML.Specification.AsinhLayerParamsH\x00\x12\x38\n\x05\x61\x63osh\x18\x87\x06 \x01(\x0b\x32&.CoreML.Specification.AcoshLayerParamsH\x00\x12\x38\n\x05\x61tanh\x18\x8c\x06 \x01(\x0b\x32&.CoreML.Specification.AtanhLayerParamsH\x00\x12\x34\n\x03\x65rf\x18\x96\x06 \x01(\x0b\x32$.CoreML.Specification.ErfLayerParamsH\x00\x12\x36\n\x04gelu\x18\x9b\x06 \x01(\x0b\x32%.CoreML.Specification.GeluLayerParamsH\x00\x12\x38\n\x05\x65qual\x18\xaf\x06 \x01(\x0b\x32&.CoreML.Specification.EqualLayerParamsH\x00\x12>\n\x08notEqual\x18\xb4\x06 \x01(\x0b\x32).CoreML.Specification.NotEqualLayerParamsH\x00\x12>\n\x08lessThan\x18\xb9\x06 \x01(\x0b\x32).CoreML.Specification.LessThanLayerParamsH\x00\x12@\n\tlessEqual\x18\xbb\x06 \x01(\x0b\x32*.CoreML.Specification.LessEqualLayerParamsH\x00\x12\x44\n\x0bgreaterThan\x18\xbe\x06 \x01(\x0b\x32,.CoreML.Specification.GreaterThanLayerParamsH\x00\x12\x46\n\x0cgreaterEqual\x18\xc0\x06 \x01(\x0b\x32-.CoreML.Specification.GreaterEqualLayerParamsH\x00\x12@\n\tlogicalOr\x18\xc8\x06 \x01(\x0b\x32*.CoreML.Specification.LogicalOrLayerParamsH\x00\x12\x42\n\nlogicalXor\x18\xcd\x06 \x01(\x0b\x32+.CoreML.Specification.LogicalXorLayerParamsH\x00\x12\x42\n\nlogicalNot\x18\xd2\x06 \x01(\x0b\x32+.CoreML.Specification.LogicalNotLayerParamsH\x00\x12\x42\n\nlogicalAnd\x18\xd7\x06 \x01(\x0b\x32+.CoreML.Specification.LogicalAndLayerParamsH\x00\x12N\n\x10modBroadcastable\x18\xe1\x06 \x01(\x0b\x32\x31.CoreML.Specification.ModBroadcastableLayerParamsH\x00\x12N\n\x10minBroadcastable\x18\xe6\x06 \x01(\x0b\x32\x31.CoreML.Specification.MinBroadcastableLayerParamsH\x00\x12N\n\x10maxBroadcastable\x18\xeb\x06 \x01(\x0b\x32\x31.CoreML.Specification.MaxBroadcastableLayerParamsH\x00\x12N\n\x10\x61\x64\x64\x42roadcastable\x18\xf0\x06 \x01(\x0b\x32\x31.CoreML.Specification.AddBroadcastableLayerParamsH\x00\x12N\n\x10powBroadcastable\x18\xf5\x06 \x01(\x0b\x32\x31.CoreML.Specification.PowBroadcastableLayerParamsH\x00\x12T\n\x13\x64ivideBroadcastable\x18\xfa\x06 \x01(\x0b\x32\x34.CoreML.Specification.DivideBroadcastableLayerParamsH\x00\x12X\n\x15\x66loorDivBroadcastable\x18\xff\x06 \x01(\x0b\x32\x36.CoreML.Specification.FloorDivBroadcastableLayerParamsH\x00\x12X\n\x15multiplyBroadcastable\x18\x84\x07 \x01(\x0b\x32\x36.CoreML.Specification.MultiplyBroadcastableLayerParamsH\x00\x12X\n\x15subtractBroadcastable\x18\x89\x07 \x01(\x0b\x32\x36.CoreML.Specification.SubtractBroadcastableLayerParamsH\x00\x12\x36\n\x04tile\x18\x98\x07 \x01(\x0b\x32%.CoreML.Specification.TileLayerParamsH\x00\x12\x38\n\x05stack\x18\x9d\x07 \x01(\x0b\x32&.CoreML.Specification.StackLayerParamsH\x00\x12:\n\x06gather\x18\xa2\x07 \x01(\x0b\x32\'.CoreML.Specification.GatherLayerParamsH\x00\x12<\n\x07scatter\x18\xa7\x07 \x01(\x0b\x32(.CoreML.Specification.ScatterLayerParamsH\x00\x12>\n\x08gatherND\x18\xac\x07 \x01(\x0b\x32).CoreML.Specification.GatherNDLayerParamsH\x00\x12@\n\tscatterND\x18\xb1\x07 \x01(\x0b\x32*.CoreML.Specification.ScatterNDLayerParamsH\x00\x12@\n\tsoftmaxND\x18\xb6\x07 \x01(\x0b\x32*.CoreML.Specification.SoftmaxNDLayerParamsH\x00\x12L\n\x0fgatherAlongAxis\x18\xb8\x07 \x01(\x0b\x32\x30.CoreML.Specification.GatherAlongAxisLayerParamsH\x00\x12N\n\x10scatterAlongAxis\x18\xba\x07 \x01(\x0b\x32\x31.CoreML.Specification.ScatterAlongAxisLayerParamsH\x00\x12<\n\x07reverse\x18\xc0\x07 \x01(\x0b\x32(.CoreML.Specification.ReverseLayerParamsH\x00\x12\x42\n\nreverseSeq\x18\xc5\x07 \x01(\x0b\x32+.CoreML.Specification.ReverseSeqLayerParamsH\x00\x12<\n\x07splitND\x18\xcf\x07 \x01(\x0b\x32(.CoreML.Specification.SplitNDLayerParamsH\x00\x12>\n\x08\x63oncatND\x18\xd4\x07 \x01(\x0b\x32).CoreML.Specification.ConcatNDLayerParamsH\x00\x12@\n\ttranspose\x18\xd9\x07 \x01(\x0b\x32*.CoreML.Specification.TransposeLayerParamsH\x00\x12\x44\n\x0bsliceStatic\x18\xe3\x07 \x01(\x0b\x32,.CoreML.Specification.SliceStaticLayerParamsH\x00\x12\x46\n\x0csliceDynamic\x18\xe8\x07 \x01(\x0b\x32-.CoreML.Specification.SliceDynamicLayerParamsH\x00\x12J\n\x0eslidingWindows\x18\xed\x07 \x01(\x0b\x32/.CoreML.Specification.SlidingWindowsLayerParamsH\x00\x12\x36\n\x04topK\x18\xf7\x07 \x01(\x0b\x32%.CoreML.Specification.TopKLayerParamsH\x00\x12:\n\x06\x61rgMin\x18\xfc\x07 \x01(\x0b\x32\'.CoreML.Specification.ArgMinLayerParamsH\x00\x12:\n\x06\x61rgMax\x18\x81\x08 \x01(\x0b\x32\'.CoreML.Specification.ArgMaxLayerParamsH\x00\x12\x44\n\x0b\x65mbeddingND\x18\x90\x08 \x01(\x0b\x32,.CoreML.Specification.EmbeddingNDLayerParamsH\x00\x12H\n\rbatchedMatmul\x18\x95\x08 \x01(\x0b\x32..CoreML.Specification.BatchedMatMulLayerParamsH\x00\x12>\n\x08getShape\x18\xa9\x08 \x01(\x0b\x32).CoreML.Specification.GetShapeLayerParamsH\x00\x12J\n\x0eloadConstantND\x18\xae\x08 \x01(\x0b\x32/.CoreML.Specification.LoadConstantNDLayerParamsH\x00\x12>\n\x08\x66illLike\x18\xb8\x08 \x01(\x0b\x32).CoreML.Specification.FillLikeLayerParamsH\x00\x12\x42\n\nfillStatic\x18\xbd\x08 \x01(\x0b\x32+.CoreML.Specification.FillStaticLayerParamsH\x00\x12\x44\n\x0b\x66illDynamic\x18\xc2\x08 \x01(\x0b\x32,.CoreML.Specification.FillDynamicLayerParamsH\x00\x12L\n\x0f\x62roadcastToLike\x18\xcc\x08 \x01(\x0b\x32\x30.CoreML.Specification.BroadcastToLikeLayerParamsH\x00\x12P\n\x11\x62roadcastToStatic\x18\xd1\x08 \x01(\x0b\x32\x32.CoreML.Specification.BroadcastToStaticLayerParamsH\x00\x12R\n\x12\x62roadcastToDynamic\x18\xd6\x08 \x01(\x0b\x32\x33.CoreML.Specification.BroadcastToDynamicLayerParamsH\x00\x12<\n\x07squeeze\x18\xe0\x08 \x01(\x0b\x32(.CoreML.Specification.SqueezeLayerParamsH\x00\x12\x42\n\nexpandDims\x18\xe5\x08 \x01(\x0b\x32+.CoreML.Specification.ExpandDimsLayerParamsH\x00\x12\x44\n\x0b\x66lattenTo2D\x18\xea\x08 \x01(\x0b\x32,.CoreML.Specification.FlattenTo2DLayerParamsH\x00\x12\x44\n\x0breshapeLike\x18\xef\x08 \x01(\x0b\x32,.CoreML.Specification.ReshapeLikeLayerParamsH\x00\x12H\n\rreshapeStatic\x18\xf4\x08 \x01(\x0b\x32..CoreML.Specification.ReshapeStaticLayerParamsH\x00\x12J\n\x0ereshapeDynamic\x18\xf9\x08 \x01(\x0b\x32/.CoreML.Specification.ReshapeDynamicLayerParamsH\x00\x12X\n\x15rankPreservingReshape\x18\xfe\x08 \x01(\x0b\x32\x36.CoreML.Specification.RankPreservingReshapeLayerParamsH\x00\x12H\n\x0b\x63onstantPad\x18\x83\t \x01(\x0b\x32\x30.CoreML.Specification.ConstantPaddingLayerParamsH\x00\x12N\n\x10randomNormalLike\x18\x92\t \x01(\x0b\x32\x31.CoreML.Specification.RandomNormalLikeLayerParamsH\x00\x12R\n\x12randomNormalStatic\x18\x97\t \x01(\x0b\x32\x33.CoreML.Specification.RandomNormalStaticLayerParamsH\x00\x12T\n\x13randomNormalDynamic\x18\x9c\t \x01(\x0b\x32\x34.CoreML.Specification.RandomNormalDynamicLayerParamsH\x00\x12P\n\x11randomUniformLike\x18\xa6\t \x01(\x0b\x32\x32.CoreML.Specification.RandomUniformLikeLayerParamsH\x00\x12T\n\x13randomUniformStatic\x18\xab\t \x01(\x0b\x32\x34.CoreML.Specification.RandomUniformStaticLayerParamsH\x00\x12V\n\x14randomUniformDynamic\x18\xb0\t \x01(\x0b\x32\x35.CoreML.Specification.RandomUniformDynamicLayerParamsH\x00\x12T\n\x13randomBernoulliLike\x18\xba\t \x01(\x0b\x32\x34.CoreML.Specification.RandomBernoulliLikeLayerParamsH\x00\x12X\n\x15randomBernoulliStatic\x18\xbf\t \x01(\x0b\x32\x36.CoreML.Specification.RandomBernoulliStaticLayerParamsH\x00\x12Z\n\x16randomBernoulliDynamic\x18\xc4\t \x01(\x0b\x32\x37.CoreML.Specification.RandomBernoulliDynamicLayerParamsH\x00\x12\\\n\x17\x63\x61tegoricalDistribution\x18\xce\t \x01(\x0b\x32\x38.CoreML.Specification.CategoricalDistributionLayerParamsH\x00\x12>\n\x08reduceL1\x18\xe2\t \x01(\x0b\x32).CoreML.Specification.ReduceL1LayerParamsH\x00\x12>\n\x08reduceL2\x18\xe7\t \x01(\x0b\x32).CoreML.Specification.ReduceL2LayerParamsH\x00\x12@\n\treduceMax\x18\xec\t \x01(\x0b\x32*.CoreML.Specification.ReduceMaxLayerParamsH\x00\x12@\n\treduceMin\x18\xf1\t \x01(\x0b\x32*.CoreML.Specification.ReduceMinLayerParamsH\x00\x12@\n\treduceSum\x18\xf6\t \x01(\x0b\x32*.CoreML.Specification.ReduceSumLayerParamsH\x00\x12\x42\n\nreduceProd\x18\xfb\t \x01(\x0b\x32+.CoreML.Specification.ReduceProdLayerParamsH\x00\x12\x42\n\nreduceMean\x18\x80\n \x01(\x0b\x32+.CoreML.Specification.ReduceMeanLayerParamsH\x00\x12\x46\n\x0creduceLogSum\x18\x85\n \x01(\x0b\x32-.CoreML.Specification.ReduceLogSumLayerParamsH\x00\x12L\n\x0freduceSumSquare\x18\x8a\n \x01(\x0b\x32\x30.CoreML.Specification.ReduceSumSquareLayerParamsH\x00\x12L\n\x0freduceLogSumExp\x18\x8f\n \x01(\x0b\x32\x30.CoreML.Specification.ReduceLogSumExpLayerParamsH\x00\x12\x46\n\x0cwhereNonZero\x18\xa1\n \x01(\x0b\x32-.CoreML.Specification.WhereNonZeroLayerParamsH\x00\x12J\n\x0ematrixBandPart\x18\xa3\n \x01(\x0b\x32/.CoreML.Specification.MatrixBandPartLayerParamsH\x00\x12L\n\x0flowerTriangular\x18\xa8\n \x01(\x0b\x32\x30.CoreML.Specification.LowerTriangularLayerParamsH\x00\x12L\n\x0fupperTriangular\x18\xad\n \x01(\x0b\x32\x30.CoreML.Specification.UpperTriangularLayerParamsH\x00\x12R\n\x12whereBroadcastable\x18\xb2\n \x01(\x0b\x32\x33.CoreML.Specification.WhereBroadcastableLayerParamsH\x00\x12R\n\x12layerNormalization\x18\xc6\n \x01(\x0b\x32\x33.CoreML.Specification.LayerNormalizationLayerParamsH\x00\x12X\n\x15NonMaximumSuppression\x18\xf8\n \x01(\x0b\x32\x36.CoreML.Specification.NonMaximumSuppressionLayerParamsH\x00\x12:\n\x06oneHot\x18\xaa\x0b \x01(\x0b\x32\'.CoreML.Specification.OneHotLayerParamsH\x00\x12:\n\x06\x63umSum\x18\xaf\x0b \x01(\x0b\x32\'.CoreML.Specification.CumSumLayerParamsH\x00\x12\x44\n\x0b\x63lampedReLU\x18\xb4\x0b \x01(\x0b\x32,.CoreML.Specification.ClampedReLULayerParamsH\x00\x12<\n\x07\x61rgSort\x18\xb5\x0b \x01(\x0b\x32(.CoreML.Specification.ArgSortLayerParamsH\x00\x12@\n\tpooling3d\x18\xb9\x0b \x01(\x0b\x32*.CoreML.Specification.Pooling3DLayerParamsH\x00\x12L\n\x0fglobalPooling3d\x18\xba\x0b \x01(\x0b\x32\x30.CoreML.Specification.GlobalPooling3DLayerParamsH\x00\x12\x44\n\x0bsliceBySize\x18\xbe\x0b \x01(\x0b\x32,.CoreML.Specification.SliceBySizeLayerParamsH\x00\x12H\n\rconvolution3d\x18\xbf\x0b \x01(\x0b\x32..CoreML.Specification.Convolution3DLayerParamsH\x00\x42\x07\n\x05layer\"\x83\x01\n\x11\x42ranchLayerParams\x12\x35\n\x08ifBranch\x18\x01 \x01(\x0b\x32#.CoreML.Specification.NeuralNetwork\x12\x37\n\nelseBranch\x18\x02 \x01(\x0b\x32#.CoreML.Specification.NeuralNetwork\"\xbb\x01\n\x0fLoopLayerParams\x12\x19\n\x11maxLoopIterations\x18\x01 \x01(\x04\x12\x14\n\x0c\x63onditionVar\x18\x02 \x01(\t\x12=\n\x10\x63onditionNetwork\x18\x03 \x01(\x0b\x32#.CoreML.Specification.NeuralNetwork\x12\x38\n\x0b\x62odyNetwork\x18\x04 \x01(\x0b\x32#.CoreML.Specification.NeuralNetwork\"\x16\n\x14LoopBreakLayerParams\"\x19\n\x17LoopContinueLayerParams\"\x11\n\x0f\x43opyLayerParams\"\'\n\x16GreaterThanLayerParams\x12\r\n\x05\x61lpha\x18\x02 \x01(\x02\"(\n\x17GreaterEqualLayerParams\x12\r\n\x05\x61lpha\x18\x02 \x01(\x02\"$\n\x13LessThanLayerParams\x12\r\n\x05\x61lpha\x18\x02 \x01(\x02\"%\n\x14LessEqualLayerParams\x12\r\n\x05\x61lpha\x18\x02 \x01(\x02\"!\n\x10\x45qualLayerParams\x12\r\n\x05\x61lpha\x18\x01 \x01(\x02\"$\n\x13NotEqualLayerParams\x12\r\n\x05\x61lpha\x18\x01 \x01(\x02\"\x17\n\x15LogicalAndLayerParams\"\x16\n\x14LogicalOrLayerParams\"\x17\n\x15LogicalXorLayerParams\"\x17\n\x15LogicalNotLayerParams\"\x8e\x01\n\rBorderAmounts\x12\x44\n\rborderAmounts\x18\n \x03(\x0b\x32-.CoreML.Specification.BorderAmounts.EdgeSizes\x1a\x37\n\tEdgeSizes\x12\x15\n\rstartEdgeSize\x18\x01 \x01(\x04\x12\x13\n\x0b\x65ndEdgeSize\x18\x02 \x01(\x04\"K\n\x0cValidPadding\x12;\n\x0epaddingAmounts\x18\x01 \x01(\x0b\x32#.CoreML.Specification.BorderAmounts\"\x96\x01\n\x0bSamePadding\x12H\n\rasymmetryMode\x18\x01 \x01(\x0e\x32\x31.CoreML.Specification.SamePadding.SamePaddingMode\"=\n\x0fSamePaddingMode\x12\x16\n\x12\x42OTTOM_RIGHT_HEAVY\x10\x00\x12\x12\n\x0eTOP_LEFT_HEAVY\x10\x01\"\xbd\x01\n\x0cSamplingMode\x12\x41\n\x0esamplingMethod\x18\x01 \x01(\x0e\x32).CoreML.Specification.SamplingMode.Method\"j\n\x06Method\x12\x1f\n\x1bSTRICT_ALIGN_ENDPOINTS_MODE\x10\x00\x12\x18\n\x14\x41LIGN_ENDPOINTS_MODE\x10\x01\x12\x11\n\rUPSAMPLE_MODE\x10\x02\x12\x12\n\x0eROI_ALIGN_MODE\x10\x03\"\xd8\x01\n\x12\x42oxCoordinatesMode\x12\x45\n\x07\x62oxMode\x18\x01 \x01(\x0e\x32\x34.CoreML.Specification.BoxCoordinatesMode.Coordinates\"{\n\x0b\x43oordinates\x12\x18\n\x14\x43ORNERS_HEIGHT_FIRST\x10\x00\x12\x17\n\x13\x43ORNERS_WIDTH_FIRST\x10\x01\x12\x1c\n\x18\x43\x45NTER_SIZE_HEIGHT_FIRST\x10\x02\x12\x1b\n\x17\x43\x45NTER_SIZE_WIDTH_FIRST\x10\x03\"\xb5\x01\n\x0cWeightParams\x12\x12\n\nfloatValue\x18\x01 \x03(\x02\x12\x14\n\x0c\x66loat16Value\x18\x02 \x01(\x0c\x12\x10\n\x08rawValue\x18\x1e \x01(\x0c\x12\x14\n\x0cint8RawValue\x18\x1f \x01(\x0c\x12>\n\x0cquantization\x18( \x01(\x0b\x32(.CoreML.Specification.QuantizationParams\x12\x13\n\x0bisUpdatable\x18\x32 \x01(\x08\"\xe4\x01\n\x12QuantizationParams\x12\x14\n\x0cnumberOfBits\x18\x01 \x01(\x04\x12L\n\x12linearQuantization\x18\x65 \x01(\x0b\x32..CoreML.Specification.LinearQuantizationParamsH\x00\x12V\n\x17lookupTableQuantization\x18\x66 \x01(\x0b\x32\x33.CoreML.Specification.LookUpTableQuantizationParamsH\x00\x42\x12\n\x10QuantizationType\"7\n\x18LinearQuantizationParams\x12\r\n\x05scale\x18\x01 \x03(\x02\x12\x0c\n\x04\x62ias\x18\x02 \x03(\x02\"3\n\x1dLookUpTableQuantizationParams\x12\x12\n\nfloatValue\x18\x01 \x03(\x02\"\xbd\x03\n\x16\x43onvolutionLayerParams\x12\x16\n\x0eoutputChannels\x18\x01 \x01(\x04\x12\x16\n\x0ekernelChannels\x18\x02 \x01(\x04\x12\x0f\n\x07nGroups\x18\n \x01(\x04\x12\x12\n\nkernelSize\x18\x14 \x03(\x04\x12\x0e\n\x06stride\x18\x1e \x03(\x04\x12\x16\n\x0e\x64ilationFactor\x18( \x03(\x04\x12\x33\n\x05valid\x18\x32 \x01(\x0b\x32\".CoreML.Specification.ValidPaddingH\x00\x12\x31\n\x04same\x18\x33 \x01(\x0b\x32!.CoreML.Specification.SamePaddingH\x00\x12\x17\n\x0fisDeconvolution\x18< \x01(\x08\x12\x0f\n\x07hasBias\x18\x46 \x01(\x08\x12\x33\n\x07weights\x18Z \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x30\n\x04\x62ias\x18[ \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x13\n\x0boutputShape\x18\x64 \x03(\x04\x42\x18\n\x16\x43onvolutionPaddingType\"\xec\x05\n\x18\x43onvolution3DLayerParams\x12\x16\n\x0eoutputChannels\x18\x01 \x01(\x05\x12\x15\n\rinputChannels\x18\x02 \x01(\x05\x12\x0f\n\x07nGroups\x18\n \x01(\x05\x12\x13\n\x0bkernelDepth\x18\x14 \x01(\x05\x12\x14\n\x0ckernelHeight\x18\x15 \x01(\x05\x12\x13\n\x0bkernelWidth\x18\x16 \x01(\x05\x12\x13\n\x0bstrideDepth\x18\x1f \x01(\x05\x12\x14\n\x0cstrideHeight\x18  \x01(\x05\x12\x13\n\x0bstrideWidth\x18! \x01(\x05\x12\x15\n\rdilationDepth\x18( \x01(\x05\x12\x16\n\x0e\x64ilationHeight\x18) \x01(\x05\x12\x15\n\rdilationWidth\x18* \x01(\x05\x12\x0f\n\x07hasBias\x18\x32 \x01(\x08\x12\x33\n\x07weights\x18< \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x30\n\x04\x62ias\x18= \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12O\n\x0bpaddingType\x18\x46 \x01(\x0e\x32:.CoreML.Specification.Convolution3DLayerParams.PaddingType\x12\x1a\n\x12\x63ustomPaddingFront\x18P \x01(\x05\x12\x19\n\x11\x63ustomPaddingBack\x18Q \x01(\x05\x12\x18\n\x10\x63ustomPaddingTop\x18R \x01(\x05\x12\x1b\n\x13\x63ustomPaddingBottom\x18S \x01(\x05\x12\x19\n\x11\x63ustomPaddingLeft\x18T \x01(\x05\x12\x1a\n\x12\x63ustomPaddingRight\x18U \x01(\x05\x12\x17\n\x0fisDeconvolution\x18V \x01(\x08\x12\x13\n\x0boutputShape\x18W \x03(\x04\".\n\x0bPaddingType\x12\n\n\x06\x43USTOM\x10\x00\x12\t\n\x05VALID\x10\x01\x12\x08\n\x04SAME\x10\x02\"\xdd\x01\n\x17InnerProductLayerParams\x12\x15\n\rinputChannels\x18\x01 \x01(\x04\x12\x16\n\x0eoutputChannels\x18\x02 \x01(\x04\x12\x0f\n\x07hasBias\x18\n \x01(\x08\x12\x33\n\x07weights\x18\x14 \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x30\n\x04\x62ias\x18\x15 \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x1b\n\x13int8DynamicQuantize\x18\x16 \x01(\x08\"\xb8\x01\n\x14\x45mbeddingLayerParams\x12\x10\n\x08inputDim\x18\x01 \x01(\x04\x12\x16\n\x0eoutputChannels\x18\x02 \x01(\x04\x12\x0f\n\x07hasBias\x18\n \x01(\x08\x12\x33\n\x07weights\x18\x14 \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x30\n\x04\x62ias\x18\x15 \x01(\x0b\x32\".CoreML.Specification.WeightParams\"\xba\x01\n\x16\x45mbeddingNDLayerParams\x12\x11\n\tvocabSize\x18\x01 \x01(\x04\x12\x15\n\rembeddingSize\x18\x02 \x01(\x04\x12\x0f\n\x07hasBias\x18\x03 \x01(\x08\x12\x33\n\x07weights\x18\x14 \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x30\n\x04\x62ias\x18\x15 \x01(\x0b\x32\".CoreML.Specification.WeightParams\"\xbd\x02\n\x14\x42\x61tchnormLayerParams\x12\x10\n\x08\x63hannels\x18\x01 \x01(\x04\x12\x16\n\x0e\x63omputeMeanVar\x18\x05 \x01(\x08\x12\x1d\n\x15instanceNormalization\x18\x06 \x01(\x08\x12\x0f\n\x07\x65psilon\x18\n \x01(\x02\x12\x31\n\x05gamma\x18\x0f \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x30\n\x04\x62\x65ta\x18\x10 \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x30\n\x04mean\x18\x11 \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x34\n\x08variance\x18\x12 \x01(\x0b\x32\".CoreML.Specification.WeightParams\"\xe8\x03\n\x12PoolingLayerParams\x12\x42\n\x04type\x18\x01 \x01(\x0e\x32\x34.CoreML.Specification.PoolingLayerParams.PoolingType\x12\x12\n\nkernelSize\x18\n \x03(\x04\x12\x0e\n\x06stride\x18\x14 \x03(\x04\x12\x33\n\x05valid\x18\x1e \x01(\x0b\x32\".CoreML.Specification.ValidPaddingH\x00\x12\x31\n\x04same\x18\x1f \x01(\x0b\x32!.CoreML.Specification.SamePaddingH\x00\x12Y\n\x10includeLastPixel\x18  \x01(\x0b\x32=.CoreML.Specification.PoolingLayerParams.ValidCompletePaddingH\x00\x12\x1d\n\x15\x61vgPoolExcludePadding\x18\x32 \x01(\x08\x12\x15\n\rglobalPooling\x18< \x01(\x08\x1a.\n\x14ValidCompletePadding\x12\x16\n\x0epaddingAmounts\x18\n \x03(\x04\"+\n\x0bPoolingType\x12\x07\n\x03MAX\x10\x00\x12\x0b\n\x07\x41VERAGE\x10\x01\x12\x06\n\x02L2\x10\x02\x42\x14\n\x12PoolingPaddingType\"\xd6\x04\n\x14Pooling3DLayerParams\x12\x46\n\x04type\x18\x01 \x01(\x0e\x32\x38.CoreML.Specification.Pooling3DLayerParams.PoolingType3D\x12\x13\n\x0bkernelDepth\x18\x02 \x01(\x05\x12\x14\n\x0ckernelHeight\x18\x03 \x01(\x05\x12\x13\n\x0bkernelWidth\x18\x04 \x01(\x05\x12\x13\n\x0bstrideDepth\x18\x05 \x01(\x05\x12\x14\n\x0cstrideHeight\x18\x06 \x01(\x05\x12\x13\n\x0bstrideWidth\x18\x07 \x01(\x05\x12T\n\x0bpaddingType\x18\x0f \x01(\x0e\x32?.CoreML.Specification.Pooling3DLayerParams.Pooling3DPaddingType\x12\x1a\n\x12\x63ustomPaddingFront\x18\x08 \x01(\x05\x12\x19\n\x11\x63ustomPaddingBack\x18\t \x01(\x05\x12\x18\n\x10\x63ustomPaddingTop\x18\n \x01(\x05\x12\x1b\n\x13\x63ustomPaddingBottom\x18\x0b \x01(\x05\x12\x19\n\x11\x63ustomPaddingLeft\x18\x0c \x01(\x05\x12\x1a\n\x12\x63ustomPaddingRight\x18\r \x01(\x05\x12\x1b\n\x13\x63ountExcludePadding\x18\x0e \x01(\x08\"%\n\rPoolingType3D\x12\x07\n\x03MAX\x10\x00\x12\x0b\n\x07\x41VERAGE\x10\x01\"7\n\x14Pooling3DPaddingType\x12\n\n\x06\x43USTOM\x10\x00\x12\t\n\x05VALID\x10\x01\x12\x08\n\x04SAME\x10\x02\"\x9d\x01\n\x1aGlobalPooling3DLayerParams\x12R\n\x04type\x18\x01 \x01(\x0e\x32\x44.CoreML.Specification.GlobalPooling3DLayerParams.GlobalPoolingType3D\"+\n\x13GlobalPoolingType3D\x12\x07\n\x03MAX\x10\x00\x12\x0b\n\x07\x41VERAGE\x10\x01\"\xa1\x03\n\x12PaddingLayerParams\x12L\n\x08\x63onstant\x18\x01 \x01(\x0b\x32\x38.CoreML.Specification.PaddingLayerParams.PaddingConstantH\x00\x12P\n\nreflection\x18\x02 \x01(\x0b\x32:.CoreML.Specification.PaddingLayerParams.PaddingReflectionH\x00\x12R\n\x0breplication\x18\x03 \x01(\x0b\x32;.CoreML.Specification.PaddingLayerParams.PaddingReplicationH\x00\x12;\n\x0epaddingAmounts\x18\n \x01(\x0b\x32#.CoreML.Specification.BorderAmounts\x1a \n\x0fPaddingConstant\x12\r\n\x05value\x18\x01 \x01(\x02\x1a\x13\n\x11PaddingReflection\x1a\x14\n\x12PaddingReplicationB\r\n\x0bPaddingType\"+\n\x11\x43oncatLayerParams\x12\x16\n\x0esequenceConcat\x18\x64 \x01(\x08\"K\n\x0eLRNLayerParams\x12\r\n\x05\x61lpha\x18\x01 \x01(\x02\x12\x0c\n\x04\x62\x65ta\x18\x02 \x01(\x02\x12\x11\n\tlocalSize\x18\x03 \x01(\x04\x12\t\n\x01k\x18\x04 \x01(\x02\"\x14\n\x12SoftmaxLayerParams\"$\n\x10SplitLayerParams\x12\x10\n\x08nOutputs\x18\x01 \x01(\x04\"\x1f\n\x0e\x41\x64\x64LayerParams\x12\r\n\x05\x61lpha\x18\x01 \x01(\x02\"$\n\x13MultiplyLayerParams\x12\r\n\x05\x61lpha\x18\x01 \x01(\x02\"\x84\x02\n\x18UnaryFunctionLayerParams\x12\x46\n\x04type\x18\x01 \x01(\x0e\x32\x38.CoreML.Specification.UnaryFunctionLayerParams.Operation\x12\r\n\x05\x61lpha\x18\x02 \x01(\x02\x12\x0f\n\x07\x65psilon\x18\x03 \x01(\x02\x12\r\n\x05shift\x18\x04 \x01(\x02\x12\r\n\x05scale\x18\x05 \x01(\x02\"b\n\tOperation\x12\x08\n\x04SQRT\x10\x00\x12\t\n\x05RSQRT\x10\x01\x12\x0b\n\x07INVERSE\x10\x02\x12\t\n\x05POWER\x10\x03\x12\x07\n\x03\x45XP\x10\x04\x12\x07\n\x03LOG\x10\x05\x12\x07\n\x03\x41\x42S\x10\x06\x12\r\n\tTHRESHOLD\x10\x07\"\xf1\x02\n\x13UpsampleLayerParams\x12\x15\n\rscalingFactor\x18\x01 \x03(\x04\x12\x1f\n\x17\x66ractionalScalingFactor\x18\x07 \x03(\x02\x12I\n\x04mode\x18\x05 \x01(\x0e\x32;.CoreML.Specification.UpsampleLayerParams.InterpolationMode\x12X\n\x12linearUpsampleMode\x18\x06 \x01(\x0e\x32<.CoreML.Specification.UpsampleLayerParams.LinearUpsampleMode\")\n\x11InterpolationMode\x12\x06\n\x02NN\x10\x00\x12\x0c\n\x08\x42ILINEAR\x10\x01\"R\n\x12LinearUpsampleMode\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x16\n\x12\x41LIGN_CORNERS_TRUE\x10\x01\x12\x17\n\x13\x41LIGN_CORNERS_FALSE\x10\x02\"a\n\x19ResizeBilinearLayerParams\x12\x12\n\ntargetSize\x18\x01 \x03(\x04\x12\x30\n\x04mode\x18\x02 \x01(\x0b\x32\".CoreML.Specification.SamplingMode\"\xd4\x01\n\x15\x43ropResizeLayerParams\x12\x12\n\ntargetSize\x18\x01 \x03(\x04\x12\x1d\n\x15normalizedCoordinates\x18\x02 \x01(\x08\x12\x30\n\x04mode\x18\x03 \x01(\x0b\x32\".CoreML.Specification.SamplingMode\x12@\n\x0e\x62oxIndicesMode\x18\x04 \x01(\x0b\x32(.CoreML.Specification.BoxCoordinatesMode\x12\x14\n\x0cspatialScale\x18\x05 \x01(\x02\"R\n\x0f\x42iasLayerParams\x12\r\n\x05shape\x18\x01 \x03(\x04\x12\x30\n\x04\x62ias\x18\x02 \x01(\x0b\x32\".CoreML.Specification.WeightParams\"\xaf\x01\n\x10ScaleLayerParams\x12\x12\n\nshapeScale\x18\x01 \x03(\x04\x12\x31\n\x05scale\x18\x02 \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x0f\n\x07hasBias\x18\x03 \x01(\x08\x12\x11\n\tshapeBias\x18\x04 \x03(\x04\x12\x30\n\x04\x62ias\x18\x05 \x01(\x0b\x32\".CoreML.Specification.WeightParams\"Z\n\x17LoadConstantLayerParams\x12\r\n\x05shape\x18\x01 \x03(\x04\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".CoreML.Specification.WeightParams\")\n\x16L2NormalizeLayerParams\x12\x0f\n\x07\x65psilon\x18\x01 \x01(\x02\"\x8e\x01\n\x12\x46lattenLayerParams\x12\x43\n\x04mode\x18\x01 \x01(\x0e\x32\x35.CoreML.Specification.FlattenLayerParams.FlattenOrder\"3\n\x0c\x46lattenOrder\x12\x11\n\rCHANNEL_FIRST\x10\x00\x12\x10\n\x0c\x43HANNEL_LAST\x10\x01\"\xa3\x01\n\x12ReshapeLayerParams\x12\x13\n\x0btargetShape\x18\x01 \x03(\x03\x12\x43\n\x04mode\x18\x02 \x01(\x0e\x32\x35.CoreML.Specification.ReshapeLayerParams.ReshapeOrder\"3\n\x0cReshapeOrder\x12\x11\n\rCHANNEL_FIRST\x10\x00\x12\x10\n\x0c\x43HANNEL_LAST\x10\x01\"\"\n\x12PermuteLayerParams\x12\x0c\n\x04\x61xis\x18\x01 \x03(\x04\"\xd1\x01\n\x19ReorganizeDataLayerParams\x12P\n\x04mode\x18\x01 \x01(\x0e\x32\x42.CoreML.Specification.ReorganizeDataLayerParams.ReorganizationType\x12\x11\n\tblockSize\x18\x02 \x01(\x04\"O\n\x12ReorganizationType\x12\x12\n\x0eSPACE_TO_DEPTH\x10\x00\x12\x12\n\x0e\x44\x45PTH_TO_SPACE\x10\x01\x12\x11\n\rPIXEL_SHUFFLE\x10\x02\"\xc8\x01\n\x10SliceLayerParams\x12\x12\n\nstartIndex\x18\x01 \x01(\x03\x12\x10\n\x08\x65ndIndex\x18\x02 \x01(\x03\x12\x0e\n\x06stride\x18\x03 \x01(\x04\x12>\n\x04\x61xis\x18\x04 \x01(\x0e\x32\x30.CoreML.Specification.SliceLayerParams.SliceAxis\">\n\tSliceAxis\x12\x10\n\x0c\x43HANNEL_AXIS\x10\x00\x12\x0f\n\x0bHEIGHT_AXIS\x10\x01\x12\x0e\n\nWIDTH_AXIS\x10\x02\"\xd9\x02\n\x11ReduceLayerParams\x12\x45\n\x04mode\x18\x01 \x01(\x0e\x32\x37.CoreML.Specification.ReduceLayerParams.ReduceOperation\x12\x0f\n\x07\x65psilon\x18\x02 \x01(\x02\x12@\n\x04\x61xis\x18\x03 \x01(\x0e\x32\x32.CoreML.Specification.ReduceLayerParams.ReduceAxis\"v\n\x0fReduceOperation\x12\x07\n\x03SUM\x10\x00\x12\x07\n\x03\x41VG\x10\x01\x12\x08\n\x04PROD\x10\x02\x12\n\n\x06LOGSUM\x10\x03\x12\r\n\tSUMSQUARE\x10\x04\x12\x06\n\x02L1\x10\x05\x12\x06\n\x02L2\x10\x06\x12\x07\n\x03MAX\x10\x07\x12\x07\n\x03MIN\x10\x08\x12\n\n\x06\x41RGMAX\x10\t\"2\n\nReduceAxis\x12\x07\n\x03\x43HW\x10\x00\x12\x06\n\x02HW\x10\x01\x12\x05\n\x01\x43\x10\x02\x12\x05\n\x01H\x10\x03\x12\x05\n\x01W\x10\x04\"[\n\x0f\x43ropLayerParams\x12\x38\n\x0b\x63ropAmounts\x18\x01 \x01(\x0b\x32#.CoreML.Specification.BorderAmounts\x12\x0e\n\x06offset\x18\x05 \x03(\x04\"\x14\n\x12\x41verageLayerParams\"\x10\n\x0eMaxLayerParams\"\x10\n\x0eMinLayerParams\"1\n\x15\x44otProductLayerParams\x12\x18\n\x10\x63osineSimilarity\x18\x01 \x01(\x08\"f\n MeanVarianceNormalizeLayerParams\x12\x16\n\x0e\x61\x63rossChannels\x18\x01 \x01(\x08\x12\x19\n\x11normalizeVariance\x18\x02 \x01(\x08\x12\x0f\n\x07\x65psilon\x18\x03 \x01(\x02\"1\n\x19SequenceRepeatLayerParams\x12\x14\n\x0cnRepetitions\x18\x01 \x01(\x04\"\xff\x02\n\x1aSimpleRecurrentLayerParams\x12\x17\n\x0finputVectorSize\x18\x01 \x01(\x04\x12\x18\n\x10outputVectorSize\x18\x02 \x01(\x04\x12:\n\nactivation\x18\n \x01(\x0b\x32&.CoreML.Specification.ActivationParams\x12\x16\n\x0esequenceOutput\x18\x0f \x01(\x08\x12\x15\n\rhasBiasVector\x18\x14 \x01(\x08\x12\x38\n\x0cweightMatrix\x18\x1e \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12;\n\x0frecursionMatrix\x18\x1f \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x36\n\nbiasVector\x18  \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x14\n\x0creverseInput\x18\x64 \x01(\x08\"\xaa\x06\n\x0eGRULayerParams\x12\x17\n\x0finputVectorSize\x18\x01 \x01(\x04\x12\x18\n\x10outputVectorSize\x18\x02 \x01(\x04\x12;\n\x0b\x61\x63tivations\x18\n \x03(\x0b\x32&.CoreML.Specification.ActivationParams\x12\x16\n\x0esequenceOutput\x18\x0f \x01(\x08\x12\x16\n\x0ehasBiasVectors\x18\x14 \x01(\x08\x12\x42\n\x16updateGateWeightMatrix\x18\x1e \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x41\n\x15resetGateWeightMatrix\x18\x1f \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x42\n\x16outputGateWeightMatrix\x18  \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x45\n\x19updateGateRecursionMatrix\x18\x32 \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x44\n\x18resetGateRecursionMatrix\x18\x33 \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x45\n\x19outputGateRecursionMatrix\x18\x34 \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12@\n\x14updateGateBiasVector\x18\x46 \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12?\n\x13resetGateBiasVector\x18G \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12@\n\x14outputGateBiasVector\x18H \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x14\n\x0creverseInput\x18\x64 \x01(\x08\"\xaa\x01\n\nLSTMParams\x12\x16\n\x0esequenceOutput\x18\n \x01(\x08\x12\x16\n\x0ehasBiasVectors\x18\x14 \x01(\x08\x12\x12\n\nforgetBias\x18\x1e \x01(\x08\x12\x1a\n\x12hasPeepholeVectors\x18( \x01(\x08\x12!\n\x19\x63oupledInputAndForgetGate\x18\x32 \x01(\x08\x12\x19\n\x11\x63\x65llClipThreshold\x18< \x01(\x02\"\x94\x08\n\x10LSTMWeightParams\x12\x41\n\x15inputGateWeightMatrix\x18\x01 \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x42\n\x16\x66orgetGateWeightMatrix\x18\x02 \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x42\n\x16\x62lockInputWeightMatrix\x18\x03 \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x42\n\x16outputGateWeightMatrix\x18\x04 \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x44\n\x18inputGateRecursionMatrix\x18\x14 \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x45\n\x19\x66orgetGateRecursionMatrix\x18\x15 \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x45\n\x19\x62lockInputRecursionMatrix\x18\x16 \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x45\n\x19outputGateRecursionMatrix\x18\x17 \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12?\n\x13inputGateBiasVector\x18( \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12@\n\x14\x66orgetGateBiasVector\x18) \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12@\n\x14\x62lockInputBiasVector\x18* \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12@\n\x14outputGateBiasVector\x18+ \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x43\n\x17inputGatePeepholeVector\x18< \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x44\n\x18\x66orgetGatePeepholeVector\x18= \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x44\n\x18outputGatePeepholeVector\x18> \x01(\x0b\x32\".CoreML.Specification.WeightParams\"\x95\x02\n\x1dUniDirectionalLSTMLayerParams\x12\x17\n\x0finputVectorSize\x18\x01 \x01(\x04\x12\x18\n\x10outputVectorSize\x18\x02 \x01(\x04\x12;\n\x0b\x61\x63tivations\x18\n \x03(\x0b\x32&.CoreML.Specification.ActivationParams\x12\x30\n\x06params\x18\x0f \x01(\x0b\x32 .CoreML.Specification.LSTMParams\x12<\n\x0cweightParams\x18\x14 \x01(\x0b\x32&.CoreML.Specification.LSTMWeightParams\x12\x14\n\x0creverseInput\x18\x64 \x01(\x08\"\xd2\x02\n\x1c\x42iDirectionalLSTMLayerParams\x12\x17\n\x0finputVectorSize\x18\x01 \x01(\x04\x12\x18\n\x10outputVectorSize\x18\x02 \x01(\x04\x12\x46\n\x16\x61\x63tivationsForwardLSTM\x18\n \x03(\x0b\x32&.CoreML.Specification.ActivationParams\x12G\n\x17\x61\x63tivationsBackwardLSTM\x18\x0b \x03(\x0b\x32&.CoreML.Specification.ActivationParams\x12\x30\n\x06params\x18\x0f \x01(\x0b\x32 .CoreML.Specification.LSTMParams\x12<\n\x0cweightParams\x18\x14 \x03(\x0b\x32&.CoreML.Specification.LSTMWeightParams\"\xbe\x03\n\x11\x43ustomLayerParams\x12\x11\n\tclassName\x18\n \x01(\t\x12\x33\n\x07weights\x18\x14 \x03(\x0b\x32\".CoreML.Specification.WeightParams\x12K\n\nparameters\x18\x1e \x03(\x0b\x32\x37.CoreML.Specification.CustomLayerParams.ParametersEntry\x12\x13\n\x0b\x64\x65scription\x18( \x01(\t\x1a\x8c\x01\n\x15\x43ustomLayerParamValue\x12\x15\n\x0b\x64oubleValue\x18\n \x01(\x01H\x00\x12\x15\n\x0bstringValue\x18\x14 \x01(\tH\x00\x12\x12\n\x08intValue\x18\x1e \x01(\x05H\x00\x12\x13\n\tlongValue\x18( \x01(\x03H\x00\x12\x13\n\tboolValue\x18\x32 \x01(\x08H\x00\x42\x07\n\x05value\x1ap\n\x0fParametersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12L\n\x05value\x18\x02 \x01(\x0b\x32=.CoreML.Specification.CustomLayerParams.CustomLayerParamValue:\x02\x38\x01\"$\n\x14TransposeLayerParams\x12\x0c\n\x04\x61xes\x18\x01 \x03(\x04\"\xa0\x02\n\x18\x42\x61tchedMatMulLayerParams\x12\x12\n\ntransposeA\x18\x01 \x01(\x08\x12\x12\n\ntransposeB\x18\x02 \x01(\x08\x12\"\n\x1aweightMatrixFirstDimension\x18\x05 \x01(\x04\x12#\n\x1bweightMatrixSecondDimension\x18\x06 \x01(\x04\x12\x0f\n\x07hasBias\x18\x07 \x01(\x08\x12\x33\n\x07weights\x18\x08 \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x30\n\x04\x62ias\x18\t \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x1b\n\x13int8DynamicQuantize\x18\n \x01(\x08\"7\n\x13\x43oncatNDLayerParams\x12\x0c\n\x04\x61xis\x18\x01 \x01(\x03\x12\x12\n\ninterleave\x18\x02 \x01(\x08\"$\n\x14SoftmaxNDLayerParams\x12\x0c\n\x04\x61xis\x18\x01 \x01(\x03\"(\n\x12ReverseLayerParams\x12\x12\n\nreverseDim\x18\x01 \x03(\x08\"@\n\x15ReverseSeqLayerParams\x12\x11\n\tbatchAxis\x18\x01 \x01(\x03\x12\x14\n\x0csequenceAxis\x18\x02 \x01(\x03\"\\\n\x19LoadConstantNDLayerParams\x12\r\n\x05shape\x18\x01 \x03(\x04\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".CoreML.Specification.WeightParams\"$\n\x13\x46illLikeLayerParams\x12\r\n\x05value\x18\x01 \x01(\x02\";\n\x15\x46illStaticLayerParams\x12\r\n\x05value\x18\x01 \x01(\x02\x12\x13\n\x0btargetShape\x18\x02 \x03(\x04\"\'\n\x16\x46illDynamicLayerParams\x12\r\n\x05value\x18\x01 \x01(\x02\"\x1f\n\x1dWhereBroadcastableLayerParams\"\x10\n\x0eSinLayerParams\"\x10\n\x0e\x43osLayerParams\"\x10\n\x0eTanLayerParams\"\x11\n\x0f\x41sinLayerParams\"\x11\n\x0f\x41\x63osLayerParams\"\x11\n\x0f\x41tanLayerParams\"\x11\n\x0fSinhLayerParams\"\x11\n\x0f\x43oshLayerParams\"\x11\n\x0fTanhLayerParams\"\x12\n\x10\x41sinhLayerParams\"\x12\n\x10\x41\x63oshLayerParams\"\x12\n\x10\x41tanhLayerParams\"\x1d\n\x1bPowBroadcastableLayerParams\"\x11\n\x0f\x45xp2LayerParams\"\x19\n\x17WhereNonZeroLayerParams\"?\n\x19MatrixBandPartLayerParams\x12\x10\n\x08numLower\x18\x01 \x01(\x03\x12\x10\n\x08numUpper\x18\x02 \x01(\x03\"\'\n\x1aUpperTriangularLayerParams\x12\t\n\x01k\x18\x01 \x01(\x03\"\'\n\x1aLowerTriangularLayerParams\x12\t\n\x01k\x18\x01 \x01(\x03\"\x1c\n\x1a\x42roadcastToLikeLayerParams\"3\n\x1c\x42roadcastToStaticLayerParams\x12\x13\n\x0btargetShape\x18\x01 \x03(\x04\"\x1f\n\x1d\x42roadcastToDynamicLayerParams\"\x1d\n\x1b\x41\x64\x64\x42roadcastableLayerParams\"\x1d\n\x1bMaxBroadcastableLayerParams\"\x1d\n\x1bMinBroadcastableLayerParams\"\x1d\n\x1bModBroadcastableLayerParams\"\"\n FloorDivBroadcastableLayerParams\"\"\n SubtractBroadcastableLayerParams\"\"\n MultiplyBroadcastableLayerParams\" \n\x1e\x44ivideBroadcastableLayerParams\"!\n\x11GatherLayerParams\x12\x0c\n\x04\x61xis\x18\x01 \x01(\x03\"S\n\x12ScatterLayerParams\x12\x0c\n\x04\x61xis\x18\x01 \x01(\x03\x12/\n\x04mode\x18\x02 \x01(\x0e\x32!.CoreML.Specification.ScatterMode\"\x15\n\x13GatherNDLayerParams\"G\n\x14ScatterNDLayerParams\x12/\n\x04mode\x18\x01 \x01(\x0e\x32!.CoreML.Specification.ScatterMode\"*\n\x1aGatherAlongAxisLayerParams\x12\x0c\n\x04\x61xis\x18\x01 \x01(\x03\"\\\n\x1bScatterAlongAxisLayerParams\x12\x0c\n\x04\x61xis\x18\x01 \x01(\x03\x12/\n\x04mode\x18\x02 \x01(\x0e\x32!.CoreML.Specification.ScatterMode\" \n\x10StackLayerParams\x12\x0c\n\x04\x61xis\x18\x01 \x01(\x03\"7\n RankPreservingReshapeLayerParams\x12\x13\n\x0btargetShape\x18\x01 \x03(\x03\"a\n\x1a\x43onstantPaddingLayerParams\x12\r\n\x05value\x18\x01 \x01(\x02\x12\x12\n\npadAmounts\x18\x02 \x03(\x04\x12 \n\x18padToGivenOutputSizeMode\x18\x03 \x01(\x08\"I\n\x1bRandomNormalLikeLayerParams\x12\x0c\n\x04seed\x18\x01 \x01(\x03\x12\x0c\n\x04mean\x18\x02 \x01(\x02\x12\x0e\n\x06stdDev\x18\x03 \x01(\x02\"`\n\x1dRandomNormalStaticLayerParams\x12\x0c\n\x04seed\x18\x01 \x01(\x03\x12\x0c\n\x04mean\x18\x02 \x01(\x02\x12\x0e\n\x06stdDev\x18\x03 \x01(\x02\x12\x13\n\x0boutputShape\x18\x04 \x03(\x04\"L\n\x1eRandomNormalDynamicLayerParams\x12\x0c\n\x04seed\x18\x01 \x01(\x03\x12\x0c\n\x04mean\x18\x02 \x01(\x02\x12\x0e\n\x06stdDev\x18\x03 \x01(\x02\"L\n\x1cRandomUniformLikeLayerParams\x12\x0c\n\x04seed\x18\x01 \x01(\x03\x12\x0e\n\x06minVal\x18\x02 \x01(\x02\x12\x0e\n\x06maxVal\x18\x03 \x01(\x02\"c\n\x1eRandomUniformStaticLayerParams\x12\x0c\n\x04seed\x18\x01 \x01(\x03\x12\x0e\n\x06minVal\x18\x02 \x01(\x02\x12\x0e\n\x06maxVal\x18\x03 \x01(\x02\x12\x13\n\x0boutputShape\x18\x04 \x03(\x04\"O\n\x1fRandomUniformDynamicLayerParams\x12\x0c\n\x04seed\x18\x01 \x01(\x03\x12\x0e\n\x06minVal\x18\x02 \x01(\x02\x12\x0e\n\x06maxVal\x18\x03 \x01(\x02\"<\n\x1eRandomBernoulliLikeLayerParams\x12\x0c\n\x04seed\x18\x01 \x01(\x03\x12\x0c\n\x04prob\x18\x02 \x01(\x02\"S\n RandomBernoulliStaticLayerParams\x12\x0c\n\x04seed\x18\x01 \x01(\x03\x12\x0c\n\x04prob\x18\x02 \x01(\x02\x12\x13\n\x0boutputShape\x18\x03 \x03(\x04\"?\n!RandomBernoulliDynamicLayerParams\x12\x0c\n\x04seed\x18\x01 \x01(\x03\x12\x0c\n\x04prob\x18\x02 \x01(\x02\"z\n\"CategoricalDistributionLayerParams\x12\x0c\n\x04seed\x18\x01 \x01(\x03\x12\x12\n\nnumSamples\x18\x02 \x01(\x03\x12\x10\n\x08isLogits\x18\x03 \x01(\x08\x12\x0b\n\x03\x65ps\x18\x04 \x01(\x02\x12\x13\n\x0btemperature\x18\x05 \x01(\x02\"H\n\x13ReduceL1LayerParams\x12\x0c\n\x04\x61xes\x18\x01 \x03(\x03\x12\x10\n\x08keepDims\x18\x02 \x01(\x08\x12\x11\n\treduceAll\x18\x03 \x01(\x08\"H\n\x13ReduceL2LayerParams\x12\x0c\n\x04\x61xes\x18\x01 \x03(\x03\x12\x10\n\x08keepDims\x18\x02 \x01(\x08\x12\x11\n\treduceAll\x18\x03 \x01(\x08\"I\n\x14ReduceMaxLayerParams\x12\x0c\n\x04\x61xes\x18\x01 \x03(\x03\x12\x10\n\x08keepDims\x18\x02 \x01(\x08\x12\x11\n\treduceAll\x18\x03 \x01(\x08\"I\n\x14ReduceMinLayerParams\x12\x0c\n\x04\x61xes\x18\x01 \x03(\x03\x12\x10\n\x08keepDims\x18\x02 \x01(\x08\x12\x11\n\treduceAll\x18\x03 \x01(\x08\"I\n\x14ReduceSumLayerParams\x12\x0c\n\x04\x61xes\x18\x01 \x03(\x03\x12\x10\n\x08keepDims\x18\x02 \x01(\x08\x12\x11\n\treduceAll\x18\x03 \x01(\x08\"J\n\x15ReduceProdLayerParams\x12\x0c\n\x04\x61xes\x18\x01 \x03(\x03\x12\x10\n\x08keepDims\x18\x02 \x01(\x08\x12\x11\n\treduceAll\x18\x03 \x01(\x08\"J\n\x15ReduceMeanLayerParams\x12\x0c\n\x04\x61xes\x18\x01 \x03(\x03\x12\x10\n\x08keepDims\x18\x02 \x01(\x08\x12\x11\n\treduceAll\x18\x03 \x01(\x08\"L\n\x17ReduceLogSumLayerParams\x12\x0c\n\x04\x61xes\x18\x01 \x03(\x03\x12\x10\n\x08keepDims\x18\x02 \x01(\x08\x12\x11\n\treduceAll\x18\x03 \x01(\x08\"O\n\x1aReduceSumSquareLayerParams\x12\x0c\n\x04\x61xes\x18\x01 \x03(\x03\x12\x10\n\x08keepDims\x18\x02 \x01(\x08\x12\x11\n\treduceAll\x18\x03 \x01(\x08\"O\n\x1aReduceLogSumExpLayerParams\x12\x0c\n\x04\x61xes\x18\x01 \x03(\x03\x12\x10\n\x08keepDims\x18\x02 \x01(\x08\x12\x11\n\treduceAll\x18\x03 \x01(\x08\"%\n\x15\x45xpandDimsLayerParams\x12\x0c\n\x04\x61xes\x18\x01 \x03(\x03\"&\n\x16\x46lattenTo2DLayerParams\x12\x0c\n\x04\x61xis\x18\x01 \x01(\x03\"/\n\x18ReshapeStaticLayerParams\x12\x13\n\x0btargetShape\x18\x01 \x03(\x03\"\x18\n\x16ReshapeLikeLayerParams\"\x1b\n\x19ReshapeDynamicLayerParams\"6\n\x12SqueezeLayerParams\x12\x0c\n\x04\x61xes\x18\x01 \x03(\x03\x12\x12\n\nsqueezeAll\x18\x02 \x01(\x08\">\n\x0fTopKLayerParams\x12\x0c\n\x04\x61xis\x18\x01 \x01(\x03\x12\t\n\x01K\x18\x02 \x01(\x04\x12\x12\n\nuseBottomK\x18\x03 \x01(\x08\"4\n\x11\x41rgMaxLayerParams\x12\x0c\n\x04\x61xis\x18\x01 \x01(\x03\x12\x11\n\tremoveDim\x18\x02 \x01(\x08\"4\n\x11\x41rgMinLayerParams\x12\x0c\n\x04\x61xis\x18\x01 \x01(\x03\x12\x11\n\tremoveDim\x18\x02 \x01(\x08\"I\n\x12SplitNDLayerParams\x12\x0c\n\x04\x61xis\x18\x01 \x01(\x03\x12\x11\n\tnumSplits\x18\x02 \x01(\x04\x12\x12\n\nsplitSizes\x18\x03 \x03(\x04\"\x11\n\x0f\x43\x65ilLayerParams\"\x12\n\x10RoundLayerParams\"\x12\n\x10\x46loorLayerParams\"\x11\n\x0fSignLayerParams\"1\n\x0f\x43lipLayerParams\x12\x0e\n\x06minVal\x18\x01 \x01(\x02\x12\x0e\n\x06maxVal\x18\x02 \x01(\x02\"\x87\x01\n\x16SliceStaticLayerParams\x12\x10\n\x08\x62\x65ginIds\x18\x01 \x03(\x03\x12\x12\n\nbeginMasks\x18\x02 \x03(\x08\x12\x0e\n\x06\x65ndIds\x18\x03 \x03(\x03\x12\x10\n\x08\x65ndMasks\x18\x04 \x03(\x08\x12\x0f\n\x07strides\x18\x05 \x03(\x03\x12\x14\n\x0csqueezeMasks\x18\x06 \x03(\x08\"v\n\x17SliceDynamicLayerParams\x12\x12\n\nbeginMasks\x18\x02 \x03(\x08\x12\x0e\n\x06\x65ndIds\x18\x03 \x03(\x03\x12\x10\n\x08\x65ndMasks\x18\x04 \x03(\x08\x12\x0f\n\x07strides\x18\x05 \x03(\x03\x12\x14\n\x0csqueezeMasks\x18\x06 \x03(\x08\"\x1f\n\x0fTileLayerParams\x12\x0c\n\x04reps\x18\x01 \x03(\x04\"\x15\n\x13GetShapeLayerParams\"\x10\n\x0e\x45rfLayerParams\"\x99\x01\n\x0fGeluLayerParams\x12<\n\x04mode\x18\x01 \x01(\x0e\x32..CoreML.Specification.GeluLayerParams.GeluMode\"H\n\x08GeluMode\x12\t\n\x05\x45XACT\x10\x00\x12\x16\n\x12TANH_APPROXIMATION\x10\x01\x12\x19\n\x15SIGMOID_APPROXIMATION\x10\x02\"U\n\x16RangeStaticLayerParams\x12\x10\n\x08\x65ndValue\x18\x01 \x01(\x02\x12\x12\n\nstartValue\x18\x02 \x01(\x02\x12\x15\n\rstepSizeValue\x18\x03 \x01(\x02\"D\n\x17RangeDynamicLayerParams\x12\x12\n\nstartValue\x18\x02 \x01(\x02\x12\x15\n\rstepSizeValue\x18\x03 \x01(\x02\"K\n\x19SlidingWindowsLayerParams\x12\x0c\n\x04\x61xis\x18\x01 \x01(\x03\x12\x12\n\nwindowSize\x18\x02 \x01(\x04\x12\x0c\n\x04step\x18\x03 \x01(\x04\"\xaa\x01\n\x1dLayerNormalizationLayerParams\x12\x17\n\x0fnormalizedShape\x18\x01 \x03(\x03\x12\x0b\n\x03\x65ps\x18\x02 \x01(\x02\x12\x31\n\x05gamma\x18\x03 \x01(\x0b\x32\".CoreML.Specification.WeightParams\x12\x30\n\x04\x62\x65ta\x18\x04 \x01(\x0b\x32\".CoreML.Specification.WeightParams\"\x7f\n NonMaximumSuppressionLayerParams\x12\x14\n\x0ciouThreshold\x18\x01 \x01(\x02\x12\x16\n\x0escoreThreshold\x18\x02 \x01(\x02\x12\x10\n\x08maxBoxes\x18\x03 \x01(\x04\x12\x1b\n\x13perClassSuppression\x18\x04 \x01(\x08\"5\n\x16\x43lampedReLULayerParams\x12\r\n\x05\x61lpha\x18\x01 \x01(\x02\x12\x0c\n\x04\x62\x65ta\x18\x02 \x01(\x02\"6\n\x12\x41rgSortLayerParams\x12\x0c\n\x04\x61xis\x18\x01 \x01(\x03\x12\x12\n\ndescending\x18\x02 \x01(\x08\"4\n\x16SliceBySizeLayerParams\x12\x0c\n\x04size\x18\x02 \x01(\x03\x12\x0c\n\x04\x61xis\x18\x03 \x01(\x03\"\xc5\x04\n\x17NeuralNetworkClassifier\x12\x38\n\x06layers\x18\x01 \x03(\x0b\x32(.CoreML.Specification.NeuralNetworkLayer\x12G\n\rpreprocessing\x18\x02 \x03(\x0b\x32\x30.CoreML.Specification.NeuralNetworkPreprocessing\x12Y\n\x16\x61rrayInputShapeMapping\x18\x05 \x01(\x0e\x32\x39.CoreML.Specification.NeuralNetworkMultiArrayShapeMapping\x12T\n\x16imageInputShapeMapping\x18\x06 \x01(\x0e\x32\x34.CoreML.Specification.NeuralNetworkImageShapeMapping\x12\x43\n\x0cupdateParams\x18\n \x01(\x0b\x32-.CoreML.Specification.NetworkUpdateParameters\x12?\n\x11stringClassLabels\x18\x64 \x01(\x0b\x32\".CoreML.Specification.StringVectorH\x00\x12=\n\x10int64ClassLabels\x18\x65 \x01(\x0b\x32!.CoreML.Specification.Int64VectorH\x00\x12\"\n\x19labelProbabilityLayerName\x18\xc8\x01 \x01(\tB\r\n\x0b\x43lassLabels\"^\n\x11OneHotLayerParams\x12\x18\n\x10oneHotVectorSize\x18\x01 \x01(\x04\x12\x0c\n\x04\x61xis\x18\x02 \x01(\x03\x12\x0f\n\x07onValue\x18\x03 \x01(\x02\x12\x10\n\x08offValue\x18\x04 \x01(\x02\"K\n\x11\x43umSumLayerParams\x12\x0c\n\x04\x61xis\x18\x01 \x01(\x03\x12\x17\n\x0f\x65xcludeFinalSum\x18\x02 \x01(\x08\x12\x0f\n\x07reverse\x18\x03 \x01(\x08\"\x91\x03\n\x16NeuralNetworkRegressor\x12\x38\n\x06layers\x18\x01 \x03(\x0b\x32(.CoreML.Specification.NeuralNetworkLayer\x12G\n\rpreprocessing\x18\x02 \x03(\x0b\x32\x30.CoreML.Specification.NeuralNetworkPreprocessing\x12Y\n\x16\x61rrayInputShapeMapping\x18\x05 \x01(\x0e\x32\x39.CoreML.Specification.NeuralNetworkMultiArrayShapeMapping\x12T\n\x16imageInputShapeMapping\x18\x06 \x01(\x0e\x32\x34.CoreML.Specification.NeuralNetworkImageShapeMapping\x12\x43\n\x0cupdateParams\x18\n \x01(\x0b\x32-.CoreML.Specification.NetworkUpdateParameters\"\xa2\x02\n\x17NetworkUpdateParameters\x12\x33\n\nlossLayers\x18\x01 \x03(\x0b\x32\x1f.CoreML.Specification.LossLayer\x12\x32\n\toptimizer\x18\x02 \x01(\x0b\x32\x1f.CoreML.Specification.Optimizer\x12\x34\n\x06\x65pochs\x18\x03 \x01(\x0b\x32$.CoreML.Specification.Int64Parameter\x12\x34\n\x07shuffle\x18\n \x01(\x0b\x32#.CoreML.Specification.BoolParameter\x12\x32\n\x04seed\x18\x14 \x01(\x0b\x32$.CoreML.Specification.Int64Parameter\"\xe4\x01\n\tLossLayer\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x62\n categoricalCrossEntropyLossLayer\x18\n \x01(\x0b\x32\x36.CoreML.Specification.CategoricalCrossEntropyLossLayerH\x00\x12T\n\x19meanSquaredErrorLossLayer\x18\x0b \x01(\x0b\x32/.CoreML.Specification.MeanSquaredErrorLossLayerH\x00\x42\x0f\n\rLossLayerType\"A\n CategoricalCrossEntropyLossLayer\x12\r\n\x05input\x18\x01 \x01(\t\x12\x0e\n\x06target\x18\x02 \x01(\t\":\n\x19MeanSquaredErrorLossLayer\x12\r\n\x05input\x18\x01 \x01(\t\x12\x0e\n\x06target\x18\x02 \x01(\t\"\x96\x01\n\tOptimizer\x12:\n\x0csgdOptimizer\x18\n \x01(\x0b\x32\".CoreML.Specification.SGDOptimizerH\x00\x12<\n\radamOptimizer\x18\x0b \x01(\x0b\x32#.CoreML.Specification.AdamOptimizerH\x00\x42\x0f\n\rOptimizerType\"\xc1\x01\n\x0cSGDOptimizer\x12;\n\x0clearningRate\x18\x01 \x01(\x0b\x32%.CoreML.Specification.DoubleParameter\x12;\n\rminiBatchSize\x18\x02 \x01(\x0b\x32$.CoreML.Specification.Int64Parameter\x12\x37\n\x08momentum\x18\x03 \x01(\x0b\x32%.CoreML.Specification.DoubleParameter\"\xa9\x02\n\rAdamOptimizer\x12;\n\x0clearningRate\x18\x01 \x01(\x0b\x32%.CoreML.Specification.DoubleParameter\x12;\n\rminiBatchSize\x18\x02 \x01(\x0b\x32$.CoreML.Specification.Int64Parameter\x12\x34\n\x05\x62\x65ta1\x18\x03 \x01(\x0b\x32%.CoreML.Specification.DoubleParameter\x12\x34\n\x05\x62\x65ta2\x18\x04 \x01(\x0b\x32%.CoreML.Specification.DoubleParameter\x12\x32\n\x03\x65ps\x18\x05 \x01(\x0b\x32%.CoreML.Specification.DoubleParameter*W\n#NeuralNetworkMultiArrayShapeMapping\x12\x17\n\x13RANK5_ARRAY_MAPPING\x10\x00\x12\x17\n\x13\x45XACT_ARRAY_MAPPING\x10\x01*R\n\x1eNeuralNetworkImageShapeMapping\x12\x17\n\x13RANK5_IMAGE_MAPPING\x10\x00\x12\x17\n\x13RANK4_IMAGE_MAPPING\x10\x01*\x87\x01\n\x0bScatterMode\x12\x12\n\x0eSCATTER_UPDATE\x10\x00\x12\x0f\n\x0bSCATTER_ADD\x10\x01\x12\x0f\n\x0bSCATTER_SUB\x10\x02\x12\x0f\n\x0bSCATTER_MUL\x10\x03\x12\x0f\n\x0bSCATTER_DIV\x10\x04\x12\x0f\n\x0bSCATTER_MAX\x10\x05\x12\x0f\n\x0bSCATTER_MIN\x10\x06\x42\x02H\x03P\x00P\x01\x62\x06proto3')

_NEURALNETWORKMULTIARRAYSHAPEMAPPING = DESCRIPTOR.enum_types_by_name['NeuralNetworkMultiArrayShapeMapping']
NeuralNetworkMultiArrayShapeMapping = enum_type_wrapper.EnumTypeWrapper(_NEURALNETWORKMULTIARRAYSHAPEMAPPING)
_NEURALNETWORKIMAGESHAPEMAPPING = DESCRIPTOR.enum_types_by_name['NeuralNetworkImageShapeMapping']
NeuralNetworkImageShapeMapping = enum_type_wrapper.EnumTypeWrapper(_NEURALNETWORKIMAGESHAPEMAPPING)
_SCATTERMODE = DESCRIPTOR.enum_types_by_name['ScatterMode']
ScatterMode = enum_type_wrapper.EnumTypeWrapper(_SCATTERMODE)
RANK5_ARRAY_MAPPING = 0
EXACT_ARRAY_MAPPING = 1
RANK5_IMAGE_MAPPING = 0
RANK4_IMAGE_MAPPING = 1
SCATTER_UPDATE = 0
SCATTER_ADD = 1
SCATTER_SUB = 2
SCATTER_MUL = 3
SCATTER_DIV = 4
SCATTER_MAX = 5
SCATTER_MIN = 6


_NEURALNETWORK = DESCRIPTOR.message_types_by_name['NeuralNetwork']
_NEURALNETWORKIMAGESCALER = DESCRIPTOR.message_types_by_name['NeuralNetworkImageScaler']
_NEURALNETWORKMEANIMAGE = DESCRIPTOR.message_types_by_name['NeuralNetworkMeanImage']
_NEURALNETWORKPREPROCESSING = DESCRIPTOR.message_types_by_name['NeuralNetworkPreprocessing']
_ACTIVATIONRELU = DESCRIPTOR.message_types_by_name['ActivationReLU']
_ACTIVATIONLEAKYRELU = DESCRIPTOR.message_types_by_name['ActivationLeakyReLU']
_ACTIVATIONTANH = DESCRIPTOR.message_types_by_name['ActivationTanh']
_ACTIVATIONSCALEDTANH = DESCRIPTOR.message_types_by_name['ActivationScaledTanh']
_ACTIVATIONSIGMOID = DESCRIPTOR.message_types_by_name['ActivationSigmoid']
_ACTIVATIONLINEAR = DESCRIPTOR.message_types_by_name['ActivationLinear']
_ACTIVATIONSIGMOIDHARD = DESCRIPTOR.message_types_by_name['ActivationSigmoidHard']
_ACTIVATIONPRELU = DESCRIPTOR.message_types_by_name['ActivationPReLU']
_ACTIVATIONELU = DESCRIPTOR.message_types_by_name['ActivationELU']
_ACTIVATIONTHRESHOLDEDRELU = DESCRIPTOR.message_types_by_name['ActivationThresholdedReLU']
_ACTIVATIONSOFTSIGN = DESCRIPTOR.message_types_by_name['ActivationSoftsign']
_ACTIVATIONSOFTPLUS = DESCRIPTOR.message_types_by_name['ActivationSoftplus']
_ACTIVATIONPARAMETRICSOFTPLUS = DESCRIPTOR.message_types_by_name['ActivationParametricSoftplus']
_ACTIVATIONPARAMS = DESCRIPTOR.message_types_by_name['ActivationParams']
_TENSOR = DESCRIPTOR.message_types_by_name['Tensor']
_NEURALNETWORKLAYER = DESCRIPTOR.message_types_by_name['NeuralNetworkLayer']
_BRANCHLAYERPARAMS = DESCRIPTOR.message_types_by_name['BranchLayerParams']
_LOOPLAYERPARAMS = DESCRIPTOR.message_types_by_name['LoopLayerParams']
_LOOPBREAKLAYERPARAMS = DESCRIPTOR.message_types_by_name['LoopBreakLayerParams']
_LOOPCONTINUELAYERPARAMS = DESCRIPTOR.message_types_by_name['LoopContinueLayerParams']
_COPYLAYERPARAMS = DESCRIPTOR.message_types_by_name['CopyLayerParams']
_GREATERTHANLAYERPARAMS = DESCRIPTOR.message_types_by_name['GreaterThanLayerParams']
_GREATEREQUALLAYERPARAMS = DESCRIPTOR.message_types_by_name['GreaterEqualLayerParams']
_LESSTHANLAYERPARAMS = DESCRIPTOR.message_types_by_name['LessThanLayerParams']
_LESSEQUALLAYERPARAMS = DESCRIPTOR.message_types_by_name['LessEqualLayerParams']
_EQUALLAYERPARAMS = DESCRIPTOR.message_types_by_name['EqualLayerParams']
_NOTEQUALLAYERPARAMS = DESCRIPTOR.message_types_by_name['NotEqualLayerParams']
_LOGICALANDLAYERPARAMS = DESCRIPTOR.message_types_by_name['LogicalAndLayerParams']
_LOGICALORLAYERPARAMS = DESCRIPTOR.message_types_by_name['LogicalOrLayerParams']
_LOGICALXORLAYERPARAMS = DESCRIPTOR.message_types_by_name['LogicalXorLayerParams']
_LOGICALNOTLAYERPARAMS = DESCRIPTOR.message_types_by_name['LogicalNotLayerParams']
_BORDERAMOUNTS = DESCRIPTOR.message_types_by_name['BorderAmounts']
_BORDERAMOUNTS_EDGESIZES = _BORDERAMOUNTS.nested_types_by_name['EdgeSizes']
_VALIDPADDING = DESCRIPTOR.message_types_by_name['ValidPadding']
_SAMEPADDING = DESCRIPTOR.message_types_by_name['SamePadding']
_SAMPLINGMODE = DESCRIPTOR.message_types_by_name['SamplingMode']
_BOXCOORDINATESMODE = DESCRIPTOR.message_types_by_name['BoxCoordinatesMode']
_WEIGHTPARAMS = DESCRIPTOR.message_types_by_name['WeightParams']
_QUANTIZATIONPARAMS = DESCRIPTOR.message_types_by_name['QuantizationParams']
_LINEARQUANTIZATIONPARAMS = DESCRIPTOR.message_types_by_name['LinearQuantizationParams']
_LOOKUPTABLEQUANTIZATIONPARAMS = DESCRIPTOR.message_types_by_name['LookUpTableQuantizationParams']
_CONVOLUTIONLAYERPARAMS = DESCRIPTOR.message_types_by_name['ConvolutionLayerParams']
_CONVOLUTION3DLAYERPARAMS = DESCRIPTOR.message_types_by_name['Convolution3DLayerParams']
_INNERPRODUCTLAYERPARAMS = DESCRIPTOR.message_types_by_name['InnerProductLayerParams']
_EMBEDDINGLAYERPARAMS = DESCRIPTOR.message_types_by_name['EmbeddingLayerParams']
_EMBEDDINGNDLAYERPARAMS = DESCRIPTOR.message_types_by_name['EmbeddingNDLayerParams']
_BATCHNORMLAYERPARAMS = DESCRIPTOR.message_types_by_name['BatchnormLayerParams']
_POOLINGLAYERPARAMS = DESCRIPTOR.message_types_by_name['PoolingLayerParams']
_POOLINGLAYERPARAMS_VALIDCOMPLETEPADDING = _POOLINGLAYERPARAMS.nested_types_by_name['ValidCompletePadding']
_POOLING3DLAYERPARAMS = DESCRIPTOR.message_types_by_name['Pooling3DLayerParams']
_GLOBALPOOLING3DLAYERPARAMS = DESCRIPTOR.message_types_by_name['GlobalPooling3DLayerParams']
_PADDINGLAYERPARAMS = DESCRIPTOR.message_types_by_name['PaddingLayerParams']
_PADDINGLAYERPARAMS_PADDINGCONSTANT = _PADDINGLAYERPARAMS.nested_types_by_name['PaddingConstant']
_PADDINGLAYERPARAMS_PADDINGREFLECTION = _PADDINGLAYERPARAMS.nested_types_by_name['PaddingReflection']
_PADDINGLAYERPARAMS_PADDINGREPLICATION = _PADDINGLAYERPARAMS.nested_types_by_name['PaddingReplication']
_CONCATLAYERPARAMS = DESCRIPTOR.message_types_by_name['ConcatLayerParams']
_LRNLAYERPARAMS = DESCRIPTOR.message_types_by_name['LRNLayerParams']
_SOFTMAXLAYERPARAMS = DESCRIPTOR.message_types_by_name['SoftmaxLayerParams']
_SPLITLAYERPARAMS = DESCRIPTOR.message_types_by_name['SplitLayerParams']
_ADDLAYERPARAMS = DESCRIPTOR.message_types_by_name['AddLayerParams']
_MULTIPLYLAYERPARAMS = DESCRIPTOR.message_types_by_name['MultiplyLayerParams']
_UNARYFUNCTIONLAYERPARAMS = DESCRIPTOR.message_types_by_name['UnaryFunctionLayerParams']
_UPSAMPLELAYERPARAMS = DESCRIPTOR.message_types_by_name['UpsampleLayerParams']
_RESIZEBILINEARLAYERPARAMS = DESCRIPTOR.message_types_by_name['ResizeBilinearLayerParams']
_CROPRESIZELAYERPARAMS = DESCRIPTOR.message_types_by_name['CropResizeLayerParams']
_BIASLAYERPARAMS = DESCRIPTOR.message_types_by_name['BiasLayerParams']
_SCALELAYERPARAMS = DESCRIPTOR.message_types_by_name['ScaleLayerParams']
_LOADCONSTANTLAYERPARAMS = DESCRIPTOR.message_types_by_name['LoadConstantLayerParams']
_L2NORMALIZELAYERPARAMS = DESCRIPTOR.message_types_by_name['L2NormalizeLayerParams']
_FLATTENLAYERPARAMS = DESCRIPTOR.message_types_by_name['FlattenLayerParams']
_RESHAPELAYERPARAMS = DESCRIPTOR.message_types_by_name['ReshapeLayerParams']
_PERMUTELAYERPARAMS = DESCRIPTOR.message_types_by_name['PermuteLayerParams']
_REORGANIZEDATALAYERPARAMS = DESCRIPTOR.message_types_by_name['ReorganizeDataLayerParams']
_SLICELAYERPARAMS = DESCRIPTOR.message_types_by_name['SliceLayerParams']
_REDUCELAYERPARAMS = DESCRIPTOR.message_types_by_name['ReduceLayerParams']
_CROPLAYERPARAMS = DESCRIPTOR.message_types_by_name['CropLayerParams']
_AVERAGELAYERPARAMS = DESCRIPTOR.message_types_by_name['AverageLayerParams']
_MAXLAYERPARAMS = DESCRIPTOR.message_types_by_name['MaxLayerParams']
_MINLAYERPARAMS = DESCRIPTOR.message_types_by_name['MinLayerParams']
_DOTPRODUCTLAYERPARAMS = DESCRIPTOR.message_types_by_name['DotProductLayerParams']
_MEANVARIANCENORMALIZELAYERPARAMS = DESCRIPTOR.message_types_by_name['MeanVarianceNormalizeLayerParams']
_SEQUENCEREPEATLAYERPARAMS = DESCRIPTOR.message_types_by_name['SequenceRepeatLayerParams']
_SIMPLERECURRENTLAYERPARAMS = DESCRIPTOR.message_types_by_name['SimpleRecurrentLayerParams']
_GRULAYERPARAMS = DESCRIPTOR.message_types_by_name['GRULayerParams']
_LSTMPARAMS = DESCRIPTOR.message_types_by_name['LSTMParams']
_LSTMWEIGHTPARAMS = DESCRIPTOR.message_types_by_name['LSTMWeightParams']
_UNIDIRECTIONALLSTMLAYERPARAMS = DESCRIPTOR.message_types_by_name['UniDirectionalLSTMLayerParams']
_BIDIRECTIONALLSTMLAYERPARAMS = DESCRIPTOR.message_types_by_name['BiDirectionalLSTMLayerParams']
_CUSTOMLAYERPARAMS = DESCRIPTOR.message_types_by_name['CustomLayerParams']
_CUSTOMLAYERPARAMS_CUSTOMLAYERPARAMVALUE = _CUSTOMLAYERPARAMS.nested_types_by_name['CustomLayerParamValue']
_CUSTOMLAYERPARAMS_PARAMETERSENTRY = _CUSTOMLAYERPARAMS.nested_types_by_name['ParametersEntry']
_TRANSPOSELAYERPARAMS = DESCRIPTOR.message_types_by_name['TransposeLayerParams']
_BATCHEDMATMULLAYERPARAMS = DESCRIPTOR.message_types_by_name['BatchedMatMulLayerParams']
_CONCATNDLAYERPARAMS = DESCRIPTOR.message_types_by_name['ConcatNDLayerParams']
_SOFTMAXNDLAYERPARAMS = DESCRIPTOR.message_types_by_name['SoftmaxNDLayerParams']
_REVERSELAYERPARAMS = DESCRIPTOR.message_types_by_name['ReverseLayerParams']
_REVERSESEQLAYERPARAMS = DESCRIPTOR.message_types_by_name['ReverseSeqLayerParams']
_LOADCONSTANTNDLAYERPARAMS = DESCRIPTOR.message_types_by_name['LoadConstantNDLayerParams']
_FILLLIKELAYERPARAMS = DESCRIPTOR.message_types_by_name['FillLikeLayerParams']
_FILLSTATICLAYERPARAMS = DESCRIPTOR.message_types_by_name['FillStaticLayerParams']
_FILLDYNAMICLAYERPARAMS = DESCRIPTOR.message_types_by_name['FillDynamicLayerParams']
_WHEREBROADCASTABLELAYERPARAMS = DESCRIPTOR.message_types_by_name['WhereBroadcastableLayerParams']
_SINLAYERPARAMS = DESCRIPTOR.message_types_by_name['SinLayerParams']
_COSLAYERPARAMS = DESCRIPTOR.message_types_by_name['CosLayerParams']
_TANLAYERPARAMS = DESCRIPTOR.message_types_by_name['TanLayerParams']
_ASINLAYERPARAMS = DESCRIPTOR.message_types_by_name['AsinLayerParams']
_ACOSLAYERPARAMS = DESCRIPTOR.message_types_by_name['AcosLayerParams']
_ATANLAYERPARAMS = DESCRIPTOR.message_types_by_name['AtanLayerParams']
_SINHLAYERPARAMS = DESCRIPTOR.message_types_by_name['SinhLayerParams']
_COSHLAYERPARAMS = DESCRIPTOR.message_types_by_name['CoshLayerParams']
_TANHLAYERPARAMS = DESCRIPTOR.message_types_by_name['TanhLayerParams']
_ASINHLAYERPARAMS = DESCRIPTOR.message_types_by_name['AsinhLayerParams']
_ACOSHLAYERPARAMS = DESCRIPTOR.message_types_by_name['AcoshLayerParams']
_ATANHLAYERPARAMS = DESCRIPTOR.message_types_by_name['AtanhLayerParams']
_POWBROADCASTABLELAYERPARAMS = DESCRIPTOR.message_types_by_name['PowBroadcastableLayerParams']
_EXP2LAYERPARAMS = DESCRIPTOR.message_types_by_name['Exp2LayerParams']
_WHERENONZEROLAYERPARAMS = DESCRIPTOR.message_types_by_name['WhereNonZeroLayerParams']
_MATRIXBANDPARTLAYERPARAMS = DESCRIPTOR.message_types_by_name['MatrixBandPartLayerParams']
_UPPERTRIANGULARLAYERPARAMS = DESCRIPTOR.message_types_by_name['UpperTriangularLayerParams']
_LOWERTRIANGULARLAYERPARAMS = DESCRIPTOR.message_types_by_name['LowerTriangularLayerParams']
_BROADCASTTOLIKELAYERPARAMS = DESCRIPTOR.message_types_by_name['BroadcastToLikeLayerParams']
_BROADCASTTOSTATICLAYERPARAMS = DESCRIPTOR.message_types_by_name['BroadcastToStaticLayerParams']
_BROADCASTTODYNAMICLAYERPARAMS = DESCRIPTOR.message_types_by_name['BroadcastToDynamicLayerParams']
_ADDBROADCASTABLELAYERPARAMS = DESCRIPTOR.message_types_by_name['AddBroadcastableLayerParams']
_MAXBROADCASTABLELAYERPARAMS = DESCRIPTOR.message_types_by_name['MaxBroadcastableLayerParams']
_MINBROADCASTABLELAYERPARAMS = DESCRIPTOR.message_types_by_name['MinBroadcastableLayerParams']
_MODBROADCASTABLELAYERPARAMS = DESCRIPTOR.message_types_by_name['ModBroadcastableLayerParams']
_FLOORDIVBROADCASTABLELAYERPARAMS = DESCRIPTOR.message_types_by_name['FloorDivBroadcastableLayerParams']
_SUBTRACTBROADCASTABLELAYERPARAMS = DESCRIPTOR.message_types_by_name['SubtractBroadcastableLayerParams']
_MULTIPLYBROADCASTABLELAYERPARAMS = DESCRIPTOR.message_types_by_name['MultiplyBroadcastableLayerParams']
_DIVIDEBROADCASTABLELAYERPARAMS = DESCRIPTOR.message_types_by_name['DivideBroadcastableLayerParams']
_GATHERLAYERPARAMS = DESCRIPTOR.message_types_by_name['GatherLayerParams']
_SCATTERLAYERPARAMS = DESCRIPTOR.message_types_by_name['ScatterLayerParams']
_GATHERNDLAYERPARAMS = DESCRIPTOR.message_types_by_name['GatherNDLayerParams']
_SCATTERNDLAYERPARAMS = DESCRIPTOR.message_types_by_name['ScatterNDLayerParams']
_GATHERALONGAXISLAYERPARAMS = DESCRIPTOR.message_types_by_name['GatherAlongAxisLayerParams']
_SCATTERALONGAXISLAYERPARAMS = DESCRIPTOR.message_types_by_name['ScatterAlongAxisLayerParams']
_STACKLAYERPARAMS = DESCRIPTOR.message_types_by_name['StackLayerParams']
_RANKPRESERVINGRESHAPELAYERPARAMS = DESCRIPTOR.message_types_by_name['RankPreservingReshapeLayerParams']
_CONSTANTPADDINGLAYERPARAMS = DESCRIPTOR.message_types_by_name['ConstantPaddingLayerParams']
_RANDOMNORMALLIKELAYERPARAMS = DESCRIPTOR.message_types_by_name['RandomNormalLikeLayerParams']
_RANDOMNORMALSTATICLAYERPARAMS = DESCRIPTOR.message_types_by_name['RandomNormalStaticLayerParams']
_RANDOMNORMALDYNAMICLAYERPARAMS = DESCRIPTOR.message_types_by_name['RandomNormalDynamicLayerParams']
_RANDOMUNIFORMLIKELAYERPARAMS = DESCRIPTOR.message_types_by_name['RandomUniformLikeLayerParams']
_RANDOMUNIFORMSTATICLAYERPARAMS = DESCRIPTOR.message_types_by_name['RandomUniformStaticLayerParams']
_RANDOMUNIFORMDYNAMICLAYERPARAMS = DESCRIPTOR.message_types_by_name['RandomUniformDynamicLayerParams']
_RANDOMBERNOULLILIKELAYERPARAMS = DESCRIPTOR.message_types_by_name['RandomBernoulliLikeLayerParams']
_RANDOMBERNOULLISTATICLAYERPARAMS = DESCRIPTOR.message_types_by_name['RandomBernoulliStaticLayerParams']
_RANDOMBERNOULLIDYNAMICLAYERPARAMS = DESCRIPTOR.message_types_by_name['RandomBernoulliDynamicLayerParams']
_CATEGORICALDISTRIBUTIONLAYERPARAMS = DESCRIPTOR.message_types_by_name['CategoricalDistributionLayerParams']
_REDUCEL1LAYERPARAMS = DESCRIPTOR.message_types_by_name['ReduceL1LayerParams']
_REDUCEL2LAYERPARAMS = DESCRIPTOR.message_types_by_name['ReduceL2LayerParams']
_REDUCEMAXLAYERPARAMS = DESCRIPTOR.message_types_by_name['ReduceMaxLayerParams']
_REDUCEMINLAYERPARAMS = DESCRIPTOR.message_types_by_name['ReduceMinLayerParams']
_REDUCESUMLAYERPARAMS = DESCRIPTOR.message_types_by_name['ReduceSumLayerParams']
_REDUCEPRODLAYERPARAMS = DESCRIPTOR.message_types_by_name['ReduceProdLayerParams']
_REDUCEMEANLAYERPARAMS = DESCRIPTOR.message_types_by_name['ReduceMeanLayerParams']
_REDUCELOGSUMLAYERPARAMS = DESCRIPTOR.message_types_by_name['ReduceLogSumLayerParams']
_REDUCESUMSQUARELAYERPARAMS = DESCRIPTOR.message_types_by_name['ReduceSumSquareLayerParams']
_REDUCELOGSUMEXPLAYERPARAMS = DESCRIPTOR.message_types_by_name['ReduceLogSumExpLayerParams']
_EXPANDDIMSLAYERPARAMS = DESCRIPTOR.message_types_by_name['ExpandDimsLayerParams']
_FLATTENTO2DLAYERPARAMS = DESCRIPTOR.message_types_by_name['FlattenTo2DLayerParams']
_RESHAPESTATICLAYERPARAMS = DESCRIPTOR.message_types_by_name['ReshapeStaticLayerParams']
_RESHAPELIKELAYERPARAMS = DESCRIPTOR.message_types_by_name['ReshapeLikeLayerParams']
_RESHAPEDYNAMICLAYERPARAMS = DESCRIPTOR.message_types_by_name['ReshapeDynamicLayerParams']
_SQUEEZELAYERPARAMS = DESCRIPTOR.message_types_by_name['SqueezeLayerParams']
_TOPKLAYERPARAMS = DESCRIPTOR.message_types_by_name['TopKLayerParams']
_ARGMAXLAYERPARAMS = DESCRIPTOR.message_types_by_name['ArgMaxLayerParams']
_ARGMINLAYERPARAMS = DESCRIPTOR.message_types_by_name['ArgMinLayerParams']
_SPLITNDLAYERPARAMS = DESCRIPTOR.message_types_by_name['SplitNDLayerParams']
_CEILLAYERPARAMS = DESCRIPTOR.message_types_by_name['CeilLayerParams']
_ROUNDLAYERPARAMS = DESCRIPTOR.message_types_by_name['RoundLayerParams']
_FLOORLAYERPARAMS = DESCRIPTOR.message_types_by_name['FloorLayerParams']
_SIGNLAYERPARAMS = DESCRIPTOR.message_types_by_name['SignLayerParams']
_CLIPLAYERPARAMS = DESCRIPTOR.message_types_by_name['ClipLayerParams']
_SLICESTATICLAYERPARAMS = DESCRIPTOR.message_types_by_name['SliceStaticLayerParams']
_SLICEDYNAMICLAYERPARAMS = DESCRIPTOR.message_types_by_name['SliceDynamicLayerParams']
_TILELAYERPARAMS = DESCRIPTOR.message_types_by_name['TileLayerParams']
_GETSHAPELAYERPARAMS = DESCRIPTOR.message_types_by_name['GetShapeLayerParams']
_ERFLAYERPARAMS = DESCRIPTOR.message_types_by_name['ErfLayerParams']
_GELULAYERPARAMS = DESCRIPTOR.message_types_by_name['GeluLayerParams']
_RANGESTATICLAYERPARAMS = DESCRIPTOR.message_types_by_name['RangeStaticLayerParams']
_RANGEDYNAMICLAYERPARAMS = DESCRIPTOR.message_types_by_name['RangeDynamicLayerParams']
_SLIDINGWINDOWSLAYERPARAMS = DESCRIPTOR.message_types_by_name['SlidingWindowsLayerParams']
_LAYERNORMALIZATIONLAYERPARAMS = DESCRIPTOR.message_types_by_name['LayerNormalizationLayerParams']
_NONMAXIMUMSUPPRESSIONLAYERPARAMS = DESCRIPTOR.message_types_by_name['NonMaximumSuppressionLayerParams']
_CLAMPEDRELULAYERPARAMS = DESCRIPTOR.message_types_by_name['ClampedReLULayerParams']
_ARGSORTLAYERPARAMS = DESCRIPTOR.message_types_by_name['ArgSortLayerParams']
_SLICEBYSIZELAYERPARAMS = DESCRIPTOR.message_types_by_name['SliceBySizeLayerParams']
_NEURALNETWORKCLASSIFIER = DESCRIPTOR.message_types_by_name['NeuralNetworkClassifier']
_ONEHOTLAYERPARAMS = DESCRIPTOR.message_types_by_name['OneHotLayerParams']
_CUMSUMLAYERPARAMS = DESCRIPTOR.message_types_by_name['CumSumLayerParams']
_NEURALNETWORKREGRESSOR = DESCRIPTOR.message_types_by_name['NeuralNetworkRegressor']
_NETWORKUPDATEPARAMETERS = DESCRIPTOR.message_types_by_name['NetworkUpdateParameters']
_LOSSLAYER = DESCRIPTOR.message_types_by_name['LossLayer']
_CATEGORICALCROSSENTROPYLOSSLAYER = DESCRIPTOR.message_types_by_name['CategoricalCrossEntropyLossLayer']
_MEANSQUAREDERRORLOSSLAYER = DESCRIPTOR.message_types_by_name['MeanSquaredErrorLossLayer']
_OPTIMIZER = DESCRIPTOR.message_types_by_name['Optimizer']
_SGDOPTIMIZER = DESCRIPTOR.message_types_by_name['SGDOptimizer']
_ADAMOPTIMIZER = DESCRIPTOR.message_types_by_name['AdamOptimizer']
_SAMEPADDING_SAMEPADDINGMODE = _SAMEPADDING.enum_types_by_name['SamePaddingMode']
_SAMPLINGMODE_METHOD = _SAMPLINGMODE.enum_types_by_name['Method']
_BOXCOORDINATESMODE_COORDINATES = _BOXCOORDINATESMODE.enum_types_by_name['Coordinates']
_CONVOLUTION3DLAYERPARAMS_PADDINGTYPE = _CONVOLUTION3DLAYERPARAMS.enum_types_by_name['PaddingType']
_POOLINGLAYERPARAMS_POOLINGTYPE = _POOLINGLAYERPARAMS.enum_types_by_name['PoolingType']
_POOLING3DLAYERPARAMS_POOLINGTYPE3D = _POOLING3DLAYERPARAMS.enum_types_by_name['PoolingType3D']
_POOLING3DLAYERPARAMS_POOLING3DPADDINGTYPE = _POOLING3DLAYERPARAMS.enum_types_by_name['Pooling3DPaddingType']
_GLOBALPOOLING3DLAYERPARAMS_GLOBALPOOLINGTYPE3D = _GLOBALPOOLING3DLAYERPARAMS.enum_types_by_name['GlobalPoolingType3D']
_UNARYFUNCTIONLAYERPARAMS_OPERATION = _UNARYFUNCTIONLAYERPARAMS.enum_types_by_name['Operation']
_UPSAMPLELAYERPARAMS_INTERPOLATIONMODE = _UPSAMPLELAYERPARAMS.enum_types_by_name['InterpolationMode']
_UPSAMPLELAYERPARAMS_LINEARUPSAMPLEMODE = _UPSAMPLELAYERPARAMS.enum_types_by_name['LinearUpsampleMode']
_FLATTENLAYERPARAMS_FLATTENORDER = _FLATTENLAYERPARAMS.enum_types_by_name['FlattenOrder']
_RESHAPELAYERPARAMS_RESHAPEORDER = _RESHAPELAYERPARAMS.enum_types_by_name['ReshapeOrder']
_REORGANIZEDATALAYERPARAMS_REORGANIZATIONTYPE = _REORGANIZEDATALAYERPARAMS.enum_types_by_name['ReorganizationType']
_SLICELAYERPARAMS_SLICEAXIS = _SLICELAYERPARAMS.enum_types_by_name['SliceAxis']
_REDUCELAYERPARAMS_REDUCEOPERATION = _REDUCELAYERPARAMS.enum_types_by_name['ReduceOperation']
_REDUCELAYERPARAMS_REDUCEAXIS = _REDUCELAYERPARAMS.enum_types_by_name['ReduceAxis']
_GELULAYERPARAMS_GELUMODE = _GELULAYERPARAMS.enum_types_by_name['GeluMode']
NeuralNetwork = _reflection.GeneratedProtocolMessageType('NeuralNetwork', (_message.Message,), {
  'DESCRIPTOR' : _NEURALNETWORK,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.NeuralNetwork)
  })
_sym_db.RegisterMessage(NeuralNetwork)

NeuralNetworkImageScaler = _reflection.GeneratedProtocolMessageType('NeuralNetworkImageScaler', (_message.Message,), {
  'DESCRIPTOR' : _NEURALNETWORKIMAGESCALER,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.NeuralNetworkImageScaler)
  })
_sym_db.RegisterMessage(NeuralNetworkImageScaler)

NeuralNetworkMeanImage = _reflection.GeneratedProtocolMessageType('NeuralNetworkMeanImage', (_message.Message,), {
  'DESCRIPTOR' : _NEURALNETWORKMEANIMAGE,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.NeuralNetworkMeanImage)
  })
_sym_db.RegisterMessage(NeuralNetworkMeanImage)

NeuralNetworkPreprocessing = _reflection.GeneratedProtocolMessageType('NeuralNetworkPreprocessing', (_message.Message,), {
  'DESCRIPTOR' : _NEURALNETWORKPREPROCESSING,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.NeuralNetworkPreprocessing)
  })
_sym_db.RegisterMessage(NeuralNetworkPreprocessing)

ActivationReLU = _reflection.GeneratedProtocolMessageType('ActivationReLU', (_message.Message,), {
  'DESCRIPTOR' : _ACTIVATIONRELU,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ActivationReLU)
  })
_sym_db.RegisterMessage(ActivationReLU)

ActivationLeakyReLU = _reflection.GeneratedProtocolMessageType('ActivationLeakyReLU', (_message.Message,), {
  'DESCRIPTOR' : _ACTIVATIONLEAKYRELU,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ActivationLeakyReLU)
  })
_sym_db.RegisterMessage(ActivationLeakyReLU)

ActivationTanh = _reflection.GeneratedProtocolMessageType('ActivationTanh', (_message.Message,), {
  'DESCRIPTOR' : _ACTIVATIONTANH,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ActivationTanh)
  })
_sym_db.RegisterMessage(ActivationTanh)

ActivationScaledTanh = _reflection.GeneratedProtocolMessageType('ActivationScaledTanh', (_message.Message,), {
  'DESCRIPTOR' : _ACTIVATIONSCALEDTANH,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ActivationScaledTanh)
  })
_sym_db.RegisterMessage(ActivationScaledTanh)

ActivationSigmoid = _reflection.GeneratedProtocolMessageType('ActivationSigmoid', (_message.Message,), {
  'DESCRIPTOR' : _ACTIVATIONSIGMOID,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ActivationSigmoid)
  })
_sym_db.RegisterMessage(ActivationSigmoid)

ActivationLinear = _reflection.GeneratedProtocolMessageType('ActivationLinear', (_message.Message,), {
  'DESCRIPTOR' : _ACTIVATIONLINEAR,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ActivationLinear)
  })
_sym_db.RegisterMessage(ActivationLinear)

ActivationSigmoidHard = _reflection.GeneratedProtocolMessageType('ActivationSigmoidHard', (_message.Message,), {
  'DESCRIPTOR' : _ACTIVATIONSIGMOIDHARD,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ActivationSigmoidHard)
  })
_sym_db.RegisterMessage(ActivationSigmoidHard)

ActivationPReLU = _reflection.GeneratedProtocolMessageType('ActivationPReLU', (_message.Message,), {
  'DESCRIPTOR' : _ACTIVATIONPRELU,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ActivationPReLU)
  })
_sym_db.RegisterMessage(ActivationPReLU)

ActivationELU = _reflection.GeneratedProtocolMessageType('ActivationELU', (_message.Message,), {
  'DESCRIPTOR' : _ACTIVATIONELU,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ActivationELU)
  })
_sym_db.RegisterMessage(ActivationELU)

ActivationThresholdedReLU = _reflection.GeneratedProtocolMessageType('ActivationThresholdedReLU', (_message.Message,), {
  'DESCRIPTOR' : _ACTIVATIONTHRESHOLDEDRELU,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ActivationThresholdedReLU)
  })
_sym_db.RegisterMessage(ActivationThresholdedReLU)

ActivationSoftsign = _reflection.GeneratedProtocolMessageType('ActivationSoftsign', (_message.Message,), {
  'DESCRIPTOR' : _ACTIVATIONSOFTSIGN,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ActivationSoftsign)
  })
_sym_db.RegisterMessage(ActivationSoftsign)

ActivationSoftplus = _reflection.GeneratedProtocolMessageType('ActivationSoftplus', (_message.Message,), {
  'DESCRIPTOR' : _ACTIVATIONSOFTPLUS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ActivationSoftplus)
  })
_sym_db.RegisterMessage(ActivationSoftplus)

ActivationParametricSoftplus = _reflection.GeneratedProtocolMessageType('ActivationParametricSoftplus', (_message.Message,), {
  'DESCRIPTOR' : _ACTIVATIONPARAMETRICSOFTPLUS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ActivationParametricSoftplus)
  })
_sym_db.RegisterMessage(ActivationParametricSoftplus)

ActivationParams = _reflection.GeneratedProtocolMessageType('ActivationParams', (_message.Message,), {
  'DESCRIPTOR' : _ACTIVATIONPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ActivationParams)
  })
_sym_db.RegisterMessage(ActivationParams)

Tensor = _reflection.GeneratedProtocolMessageType('Tensor', (_message.Message,), {
  'DESCRIPTOR' : _TENSOR,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.Tensor)
  })
_sym_db.RegisterMessage(Tensor)

NeuralNetworkLayer = _reflection.GeneratedProtocolMessageType('NeuralNetworkLayer', (_message.Message,), {
  'DESCRIPTOR' : _NEURALNETWORKLAYER,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.NeuralNetworkLayer)
  })
_sym_db.RegisterMessage(NeuralNetworkLayer)

BranchLayerParams = _reflection.GeneratedProtocolMessageType('BranchLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _BRANCHLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.BranchLayerParams)
  })
_sym_db.RegisterMessage(BranchLayerParams)

LoopLayerParams = _reflection.GeneratedProtocolMessageType('LoopLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _LOOPLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.LoopLayerParams)
  })
_sym_db.RegisterMessage(LoopLayerParams)

LoopBreakLayerParams = _reflection.GeneratedProtocolMessageType('LoopBreakLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _LOOPBREAKLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.LoopBreakLayerParams)
  })
_sym_db.RegisterMessage(LoopBreakLayerParams)

LoopContinueLayerParams = _reflection.GeneratedProtocolMessageType('LoopContinueLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _LOOPCONTINUELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.LoopContinueLayerParams)
  })
_sym_db.RegisterMessage(LoopContinueLayerParams)

CopyLayerParams = _reflection.GeneratedProtocolMessageType('CopyLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _COPYLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.CopyLayerParams)
  })
_sym_db.RegisterMessage(CopyLayerParams)

GreaterThanLayerParams = _reflection.GeneratedProtocolMessageType('GreaterThanLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _GREATERTHANLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.GreaterThanLayerParams)
  })
_sym_db.RegisterMessage(GreaterThanLayerParams)

GreaterEqualLayerParams = _reflection.GeneratedProtocolMessageType('GreaterEqualLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _GREATEREQUALLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.GreaterEqualLayerParams)
  })
_sym_db.RegisterMessage(GreaterEqualLayerParams)

LessThanLayerParams = _reflection.GeneratedProtocolMessageType('LessThanLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _LESSTHANLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.LessThanLayerParams)
  })
_sym_db.RegisterMessage(LessThanLayerParams)

LessEqualLayerParams = _reflection.GeneratedProtocolMessageType('LessEqualLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _LESSEQUALLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.LessEqualLayerParams)
  })
_sym_db.RegisterMessage(LessEqualLayerParams)

EqualLayerParams = _reflection.GeneratedProtocolMessageType('EqualLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _EQUALLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.EqualLayerParams)
  })
_sym_db.RegisterMessage(EqualLayerParams)

NotEqualLayerParams = _reflection.GeneratedProtocolMessageType('NotEqualLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _NOTEQUALLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.NotEqualLayerParams)
  })
_sym_db.RegisterMessage(NotEqualLayerParams)

LogicalAndLayerParams = _reflection.GeneratedProtocolMessageType('LogicalAndLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _LOGICALANDLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.LogicalAndLayerParams)
  })
_sym_db.RegisterMessage(LogicalAndLayerParams)

LogicalOrLayerParams = _reflection.GeneratedProtocolMessageType('LogicalOrLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _LOGICALORLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.LogicalOrLayerParams)
  })
_sym_db.RegisterMessage(LogicalOrLayerParams)

LogicalXorLayerParams = _reflection.GeneratedProtocolMessageType('LogicalXorLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _LOGICALXORLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.LogicalXorLayerParams)
  })
_sym_db.RegisterMessage(LogicalXorLayerParams)

LogicalNotLayerParams = _reflection.GeneratedProtocolMessageType('LogicalNotLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _LOGICALNOTLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.LogicalNotLayerParams)
  })
_sym_db.RegisterMessage(LogicalNotLayerParams)

BorderAmounts = _reflection.GeneratedProtocolMessageType('BorderAmounts', (_message.Message,), {

  'EdgeSizes' : _reflection.GeneratedProtocolMessageType('EdgeSizes', (_message.Message,), {
    'DESCRIPTOR' : _BORDERAMOUNTS_EDGESIZES,
    '__module__' : 'NeuralNetwork_pb2'
    # @@protoc_insertion_point(class_scope:CoreML.Specification.BorderAmounts.EdgeSizes)
    })
  ,
  'DESCRIPTOR' : _BORDERAMOUNTS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.BorderAmounts)
  })
_sym_db.RegisterMessage(BorderAmounts)
_sym_db.RegisterMessage(BorderAmounts.EdgeSizes)

ValidPadding = _reflection.GeneratedProtocolMessageType('ValidPadding', (_message.Message,), {
  'DESCRIPTOR' : _VALIDPADDING,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ValidPadding)
  })
_sym_db.RegisterMessage(ValidPadding)

SamePadding = _reflection.GeneratedProtocolMessageType('SamePadding', (_message.Message,), {
  'DESCRIPTOR' : _SAMEPADDING,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.SamePadding)
  })
_sym_db.RegisterMessage(SamePadding)

SamplingMode = _reflection.GeneratedProtocolMessageType('SamplingMode', (_message.Message,), {
  'DESCRIPTOR' : _SAMPLINGMODE,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.SamplingMode)
  })
_sym_db.RegisterMessage(SamplingMode)

BoxCoordinatesMode = _reflection.GeneratedProtocolMessageType('BoxCoordinatesMode', (_message.Message,), {
  'DESCRIPTOR' : _BOXCOORDINATESMODE,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.BoxCoordinatesMode)
  })
_sym_db.RegisterMessage(BoxCoordinatesMode)

WeightParams = _reflection.GeneratedProtocolMessageType('WeightParams', (_message.Message,), {
  'DESCRIPTOR' : _WEIGHTPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.WeightParams)
  })
_sym_db.RegisterMessage(WeightParams)

QuantizationParams = _reflection.GeneratedProtocolMessageType('QuantizationParams', (_message.Message,), {
  'DESCRIPTOR' : _QUANTIZATIONPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.QuantizationParams)
  })
_sym_db.RegisterMessage(QuantizationParams)

LinearQuantizationParams = _reflection.GeneratedProtocolMessageType('LinearQuantizationParams', (_message.Message,), {
  'DESCRIPTOR' : _LINEARQUANTIZATIONPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.LinearQuantizationParams)
  })
_sym_db.RegisterMessage(LinearQuantizationParams)

LookUpTableQuantizationParams = _reflection.GeneratedProtocolMessageType('LookUpTableQuantizationParams', (_message.Message,), {
  'DESCRIPTOR' : _LOOKUPTABLEQUANTIZATIONPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.LookUpTableQuantizationParams)
  })
_sym_db.RegisterMessage(LookUpTableQuantizationParams)

ConvolutionLayerParams = _reflection.GeneratedProtocolMessageType('ConvolutionLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _CONVOLUTIONLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ConvolutionLayerParams)
  })
_sym_db.RegisterMessage(ConvolutionLayerParams)

Convolution3DLayerParams = _reflection.GeneratedProtocolMessageType('Convolution3DLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _CONVOLUTION3DLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.Convolution3DLayerParams)
  })
_sym_db.RegisterMessage(Convolution3DLayerParams)

InnerProductLayerParams = _reflection.GeneratedProtocolMessageType('InnerProductLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _INNERPRODUCTLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.InnerProductLayerParams)
  })
_sym_db.RegisterMessage(InnerProductLayerParams)

EmbeddingLayerParams = _reflection.GeneratedProtocolMessageType('EmbeddingLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _EMBEDDINGLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.EmbeddingLayerParams)
  })
_sym_db.RegisterMessage(EmbeddingLayerParams)

EmbeddingNDLayerParams = _reflection.GeneratedProtocolMessageType('EmbeddingNDLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _EMBEDDINGNDLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.EmbeddingNDLayerParams)
  })
_sym_db.RegisterMessage(EmbeddingNDLayerParams)

BatchnormLayerParams = _reflection.GeneratedProtocolMessageType('BatchnormLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _BATCHNORMLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.BatchnormLayerParams)
  })
_sym_db.RegisterMessage(BatchnormLayerParams)

PoolingLayerParams = _reflection.GeneratedProtocolMessageType('PoolingLayerParams', (_message.Message,), {

  'ValidCompletePadding' : _reflection.GeneratedProtocolMessageType('ValidCompletePadding', (_message.Message,), {
    'DESCRIPTOR' : _POOLINGLAYERPARAMS_VALIDCOMPLETEPADDING,
    '__module__' : 'NeuralNetwork_pb2'
    # @@protoc_insertion_point(class_scope:CoreML.Specification.PoolingLayerParams.ValidCompletePadding)
    })
  ,
  'DESCRIPTOR' : _POOLINGLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.PoolingLayerParams)
  })
_sym_db.RegisterMessage(PoolingLayerParams)
_sym_db.RegisterMessage(PoolingLayerParams.ValidCompletePadding)

Pooling3DLayerParams = _reflection.GeneratedProtocolMessageType('Pooling3DLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _POOLING3DLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.Pooling3DLayerParams)
  })
_sym_db.RegisterMessage(Pooling3DLayerParams)

GlobalPooling3DLayerParams = _reflection.GeneratedProtocolMessageType('GlobalPooling3DLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _GLOBALPOOLING3DLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.GlobalPooling3DLayerParams)
  })
_sym_db.RegisterMessage(GlobalPooling3DLayerParams)

PaddingLayerParams = _reflection.GeneratedProtocolMessageType('PaddingLayerParams', (_message.Message,), {

  'PaddingConstant' : _reflection.GeneratedProtocolMessageType('PaddingConstant', (_message.Message,), {
    'DESCRIPTOR' : _PADDINGLAYERPARAMS_PADDINGCONSTANT,
    '__module__' : 'NeuralNetwork_pb2'
    # @@protoc_insertion_point(class_scope:CoreML.Specification.PaddingLayerParams.PaddingConstant)
    })
  ,

  'PaddingReflection' : _reflection.GeneratedProtocolMessageType('PaddingReflection', (_message.Message,), {
    'DESCRIPTOR' : _PADDINGLAYERPARAMS_PADDINGREFLECTION,
    '__module__' : 'NeuralNetwork_pb2'
    # @@protoc_insertion_point(class_scope:CoreML.Specification.PaddingLayerParams.PaddingReflection)
    })
  ,

  'PaddingReplication' : _reflection.GeneratedProtocolMessageType('PaddingReplication', (_message.Message,), {
    'DESCRIPTOR' : _PADDINGLAYERPARAMS_PADDINGREPLICATION,
    '__module__' : 'NeuralNetwork_pb2'
    # @@protoc_insertion_point(class_scope:CoreML.Specification.PaddingLayerParams.PaddingReplication)
    })
  ,
  'DESCRIPTOR' : _PADDINGLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.PaddingLayerParams)
  })
_sym_db.RegisterMessage(PaddingLayerParams)
_sym_db.RegisterMessage(PaddingLayerParams.PaddingConstant)
_sym_db.RegisterMessage(PaddingLayerParams.PaddingReflection)
_sym_db.RegisterMessage(PaddingLayerParams.PaddingReplication)

ConcatLayerParams = _reflection.GeneratedProtocolMessageType('ConcatLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _CONCATLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ConcatLayerParams)
  })
_sym_db.RegisterMessage(ConcatLayerParams)

LRNLayerParams = _reflection.GeneratedProtocolMessageType('LRNLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _LRNLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.LRNLayerParams)
  })
_sym_db.RegisterMessage(LRNLayerParams)

SoftmaxLayerParams = _reflection.GeneratedProtocolMessageType('SoftmaxLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _SOFTMAXLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.SoftmaxLayerParams)
  })
_sym_db.RegisterMessage(SoftmaxLayerParams)

SplitLayerParams = _reflection.GeneratedProtocolMessageType('SplitLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _SPLITLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.SplitLayerParams)
  })
_sym_db.RegisterMessage(SplitLayerParams)

AddLayerParams = _reflection.GeneratedProtocolMessageType('AddLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _ADDLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.AddLayerParams)
  })
_sym_db.RegisterMessage(AddLayerParams)

MultiplyLayerParams = _reflection.GeneratedProtocolMessageType('MultiplyLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _MULTIPLYLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.MultiplyLayerParams)
  })
_sym_db.RegisterMessage(MultiplyLayerParams)

UnaryFunctionLayerParams = _reflection.GeneratedProtocolMessageType('UnaryFunctionLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _UNARYFUNCTIONLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.UnaryFunctionLayerParams)
  })
_sym_db.RegisterMessage(UnaryFunctionLayerParams)

UpsampleLayerParams = _reflection.GeneratedProtocolMessageType('UpsampleLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _UPSAMPLELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.UpsampleLayerParams)
  })
_sym_db.RegisterMessage(UpsampleLayerParams)

ResizeBilinearLayerParams = _reflection.GeneratedProtocolMessageType('ResizeBilinearLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _RESIZEBILINEARLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ResizeBilinearLayerParams)
  })
_sym_db.RegisterMessage(ResizeBilinearLayerParams)

CropResizeLayerParams = _reflection.GeneratedProtocolMessageType('CropResizeLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _CROPRESIZELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.CropResizeLayerParams)
  })
_sym_db.RegisterMessage(CropResizeLayerParams)

BiasLayerParams = _reflection.GeneratedProtocolMessageType('BiasLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _BIASLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.BiasLayerParams)
  })
_sym_db.RegisterMessage(BiasLayerParams)

ScaleLayerParams = _reflection.GeneratedProtocolMessageType('ScaleLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _SCALELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ScaleLayerParams)
  })
_sym_db.RegisterMessage(ScaleLayerParams)

LoadConstantLayerParams = _reflection.GeneratedProtocolMessageType('LoadConstantLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _LOADCONSTANTLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.LoadConstantLayerParams)
  })
_sym_db.RegisterMessage(LoadConstantLayerParams)

L2NormalizeLayerParams = _reflection.GeneratedProtocolMessageType('L2NormalizeLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _L2NORMALIZELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.L2NormalizeLayerParams)
  })
_sym_db.RegisterMessage(L2NormalizeLayerParams)

FlattenLayerParams = _reflection.GeneratedProtocolMessageType('FlattenLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _FLATTENLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.FlattenLayerParams)
  })
_sym_db.RegisterMessage(FlattenLayerParams)

ReshapeLayerParams = _reflection.GeneratedProtocolMessageType('ReshapeLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _RESHAPELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ReshapeLayerParams)
  })
_sym_db.RegisterMessage(ReshapeLayerParams)

PermuteLayerParams = _reflection.GeneratedProtocolMessageType('PermuteLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _PERMUTELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.PermuteLayerParams)
  })
_sym_db.RegisterMessage(PermuteLayerParams)

ReorganizeDataLayerParams = _reflection.GeneratedProtocolMessageType('ReorganizeDataLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _REORGANIZEDATALAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ReorganizeDataLayerParams)
  })
_sym_db.RegisterMessage(ReorganizeDataLayerParams)

SliceLayerParams = _reflection.GeneratedProtocolMessageType('SliceLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _SLICELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.SliceLayerParams)
  })
_sym_db.RegisterMessage(SliceLayerParams)

ReduceLayerParams = _reflection.GeneratedProtocolMessageType('ReduceLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _REDUCELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ReduceLayerParams)
  })
_sym_db.RegisterMessage(ReduceLayerParams)

CropLayerParams = _reflection.GeneratedProtocolMessageType('CropLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _CROPLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.CropLayerParams)
  })
_sym_db.RegisterMessage(CropLayerParams)

AverageLayerParams = _reflection.GeneratedProtocolMessageType('AverageLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _AVERAGELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.AverageLayerParams)
  })
_sym_db.RegisterMessage(AverageLayerParams)

MaxLayerParams = _reflection.GeneratedProtocolMessageType('MaxLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _MAXLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.MaxLayerParams)
  })
_sym_db.RegisterMessage(MaxLayerParams)

MinLayerParams = _reflection.GeneratedProtocolMessageType('MinLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _MINLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.MinLayerParams)
  })
_sym_db.RegisterMessage(MinLayerParams)

DotProductLayerParams = _reflection.GeneratedProtocolMessageType('DotProductLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _DOTPRODUCTLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.DotProductLayerParams)
  })
_sym_db.RegisterMessage(DotProductLayerParams)

MeanVarianceNormalizeLayerParams = _reflection.GeneratedProtocolMessageType('MeanVarianceNormalizeLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _MEANVARIANCENORMALIZELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.MeanVarianceNormalizeLayerParams)
  })
_sym_db.RegisterMessage(MeanVarianceNormalizeLayerParams)

SequenceRepeatLayerParams = _reflection.GeneratedProtocolMessageType('SequenceRepeatLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _SEQUENCEREPEATLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.SequenceRepeatLayerParams)
  })
_sym_db.RegisterMessage(SequenceRepeatLayerParams)

SimpleRecurrentLayerParams = _reflection.GeneratedProtocolMessageType('SimpleRecurrentLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _SIMPLERECURRENTLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.SimpleRecurrentLayerParams)
  })
_sym_db.RegisterMessage(SimpleRecurrentLayerParams)

GRULayerParams = _reflection.GeneratedProtocolMessageType('GRULayerParams', (_message.Message,), {
  'DESCRIPTOR' : _GRULAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.GRULayerParams)
  })
_sym_db.RegisterMessage(GRULayerParams)

LSTMParams = _reflection.GeneratedProtocolMessageType('LSTMParams', (_message.Message,), {
  'DESCRIPTOR' : _LSTMPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.LSTMParams)
  })
_sym_db.RegisterMessage(LSTMParams)

LSTMWeightParams = _reflection.GeneratedProtocolMessageType('LSTMWeightParams', (_message.Message,), {
  'DESCRIPTOR' : _LSTMWEIGHTPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.LSTMWeightParams)
  })
_sym_db.RegisterMessage(LSTMWeightParams)

UniDirectionalLSTMLayerParams = _reflection.GeneratedProtocolMessageType('UniDirectionalLSTMLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _UNIDIRECTIONALLSTMLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.UniDirectionalLSTMLayerParams)
  })
_sym_db.RegisterMessage(UniDirectionalLSTMLayerParams)

BiDirectionalLSTMLayerParams = _reflection.GeneratedProtocolMessageType('BiDirectionalLSTMLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _BIDIRECTIONALLSTMLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.BiDirectionalLSTMLayerParams)
  })
_sym_db.RegisterMessage(BiDirectionalLSTMLayerParams)

CustomLayerParams = _reflection.GeneratedProtocolMessageType('CustomLayerParams', (_message.Message,), {

  'CustomLayerParamValue' : _reflection.GeneratedProtocolMessageType('CustomLayerParamValue', (_message.Message,), {
    'DESCRIPTOR' : _CUSTOMLAYERPARAMS_CUSTOMLAYERPARAMVALUE,
    '__module__' : 'NeuralNetwork_pb2'
    # @@protoc_insertion_point(class_scope:CoreML.Specification.CustomLayerParams.CustomLayerParamValue)
    })
  ,

  'ParametersEntry' : _reflection.GeneratedProtocolMessageType('ParametersEntry', (_message.Message,), {
    'DESCRIPTOR' : _CUSTOMLAYERPARAMS_PARAMETERSENTRY,
    '__module__' : 'NeuralNetwork_pb2'
    # @@protoc_insertion_point(class_scope:CoreML.Specification.CustomLayerParams.ParametersEntry)
    })
  ,
  'DESCRIPTOR' : _CUSTOMLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.CustomLayerParams)
  })
_sym_db.RegisterMessage(CustomLayerParams)
_sym_db.RegisterMessage(CustomLayerParams.CustomLayerParamValue)
_sym_db.RegisterMessage(CustomLayerParams.ParametersEntry)

TransposeLayerParams = _reflection.GeneratedProtocolMessageType('TransposeLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _TRANSPOSELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.TransposeLayerParams)
  })
_sym_db.RegisterMessage(TransposeLayerParams)

BatchedMatMulLayerParams = _reflection.GeneratedProtocolMessageType('BatchedMatMulLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _BATCHEDMATMULLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.BatchedMatMulLayerParams)
  })
_sym_db.RegisterMessage(BatchedMatMulLayerParams)

ConcatNDLayerParams = _reflection.GeneratedProtocolMessageType('ConcatNDLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _CONCATNDLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ConcatNDLayerParams)
  })
_sym_db.RegisterMessage(ConcatNDLayerParams)

SoftmaxNDLayerParams = _reflection.GeneratedProtocolMessageType('SoftmaxNDLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _SOFTMAXNDLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.SoftmaxNDLayerParams)
  })
_sym_db.RegisterMessage(SoftmaxNDLayerParams)

ReverseLayerParams = _reflection.GeneratedProtocolMessageType('ReverseLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _REVERSELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ReverseLayerParams)
  })
_sym_db.RegisterMessage(ReverseLayerParams)

ReverseSeqLayerParams = _reflection.GeneratedProtocolMessageType('ReverseSeqLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _REVERSESEQLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ReverseSeqLayerParams)
  })
_sym_db.RegisterMessage(ReverseSeqLayerParams)

LoadConstantNDLayerParams = _reflection.GeneratedProtocolMessageType('LoadConstantNDLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _LOADCONSTANTNDLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.LoadConstantNDLayerParams)
  })
_sym_db.RegisterMessage(LoadConstantNDLayerParams)

FillLikeLayerParams = _reflection.GeneratedProtocolMessageType('FillLikeLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _FILLLIKELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.FillLikeLayerParams)
  })
_sym_db.RegisterMessage(FillLikeLayerParams)

FillStaticLayerParams = _reflection.GeneratedProtocolMessageType('FillStaticLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _FILLSTATICLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.FillStaticLayerParams)
  })
_sym_db.RegisterMessage(FillStaticLayerParams)

FillDynamicLayerParams = _reflection.GeneratedProtocolMessageType('FillDynamicLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _FILLDYNAMICLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.FillDynamicLayerParams)
  })
_sym_db.RegisterMessage(FillDynamicLayerParams)

WhereBroadcastableLayerParams = _reflection.GeneratedProtocolMessageType('WhereBroadcastableLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _WHEREBROADCASTABLELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.WhereBroadcastableLayerParams)
  })
_sym_db.RegisterMessage(WhereBroadcastableLayerParams)

SinLayerParams = _reflection.GeneratedProtocolMessageType('SinLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _SINLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.SinLayerParams)
  })
_sym_db.RegisterMessage(SinLayerParams)

CosLayerParams = _reflection.GeneratedProtocolMessageType('CosLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _COSLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.CosLayerParams)
  })
_sym_db.RegisterMessage(CosLayerParams)

TanLayerParams = _reflection.GeneratedProtocolMessageType('TanLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _TANLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.TanLayerParams)
  })
_sym_db.RegisterMessage(TanLayerParams)

AsinLayerParams = _reflection.GeneratedProtocolMessageType('AsinLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _ASINLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.AsinLayerParams)
  })
_sym_db.RegisterMessage(AsinLayerParams)

AcosLayerParams = _reflection.GeneratedProtocolMessageType('AcosLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _ACOSLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.AcosLayerParams)
  })
_sym_db.RegisterMessage(AcosLayerParams)

AtanLayerParams = _reflection.GeneratedProtocolMessageType('AtanLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _ATANLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.AtanLayerParams)
  })
_sym_db.RegisterMessage(AtanLayerParams)

SinhLayerParams = _reflection.GeneratedProtocolMessageType('SinhLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _SINHLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.SinhLayerParams)
  })
_sym_db.RegisterMessage(SinhLayerParams)

CoshLayerParams = _reflection.GeneratedProtocolMessageType('CoshLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _COSHLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.CoshLayerParams)
  })
_sym_db.RegisterMessage(CoshLayerParams)

TanhLayerParams = _reflection.GeneratedProtocolMessageType('TanhLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _TANHLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.TanhLayerParams)
  })
_sym_db.RegisterMessage(TanhLayerParams)

AsinhLayerParams = _reflection.GeneratedProtocolMessageType('AsinhLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _ASINHLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.AsinhLayerParams)
  })
_sym_db.RegisterMessage(AsinhLayerParams)

AcoshLayerParams = _reflection.GeneratedProtocolMessageType('AcoshLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _ACOSHLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.AcoshLayerParams)
  })
_sym_db.RegisterMessage(AcoshLayerParams)

AtanhLayerParams = _reflection.GeneratedProtocolMessageType('AtanhLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _ATANHLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.AtanhLayerParams)
  })
_sym_db.RegisterMessage(AtanhLayerParams)

PowBroadcastableLayerParams = _reflection.GeneratedProtocolMessageType('PowBroadcastableLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _POWBROADCASTABLELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.PowBroadcastableLayerParams)
  })
_sym_db.RegisterMessage(PowBroadcastableLayerParams)

Exp2LayerParams = _reflection.GeneratedProtocolMessageType('Exp2LayerParams', (_message.Message,), {
  'DESCRIPTOR' : _EXP2LAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.Exp2LayerParams)
  })
_sym_db.RegisterMessage(Exp2LayerParams)

WhereNonZeroLayerParams = _reflection.GeneratedProtocolMessageType('WhereNonZeroLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _WHERENONZEROLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.WhereNonZeroLayerParams)
  })
_sym_db.RegisterMessage(WhereNonZeroLayerParams)

MatrixBandPartLayerParams = _reflection.GeneratedProtocolMessageType('MatrixBandPartLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _MATRIXBANDPARTLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.MatrixBandPartLayerParams)
  })
_sym_db.RegisterMessage(MatrixBandPartLayerParams)

UpperTriangularLayerParams = _reflection.GeneratedProtocolMessageType('UpperTriangularLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _UPPERTRIANGULARLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.UpperTriangularLayerParams)
  })
_sym_db.RegisterMessage(UpperTriangularLayerParams)

LowerTriangularLayerParams = _reflection.GeneratedProtocolMessageType('LowerTriangularLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _LOWERTRIANGULARLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.LowerTriangularLayerParams)
  })
_sym_db.RegisterMessage(LowerTriangularLayerParams)

BroadcastToLikeLayerParams = _reflection.GeneratedProtocolMessageType('BroadcastToLikeLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _BROADCASTTOLIKELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.BroadcastToLikeLayerParams)
  })
_sym_db.RegisterMessage(BroadcastToLikeLayerParams)

BroadcastToStaticLayerParams = _reflection.GeneratedProtocolMessageType('BroadcastToStaticLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _BROADCASTTOSTATICLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.BroadcastToStaticLayerParams)
  })
_sym_db.RegisterMessage(BroadcastToStaticLayerParams)

BroadcastToDynamicLayerParams = _reflection.GeneratedProtocolMessageType('BroadcastToDynamicLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _BROADCASTTODYNAMICLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.BroadcastToDynamicLayerParams)
  })
_sym_db.RegisterMessage(BroadcastToDynamicLayerParams)

AddBroadcastableLayerParams = _reflection.GeneratedProtocolMessageType('AddBroadcastableLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _ADDBROADCASTABLELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.AddBroadcastableLayerParams)
  })
_sym_db.RegisterMessage(AddBroadcastableLayerParams)

MaxBroadcastableLayerParams = _reflection.GeneratedProtocolMessageType('MaxBroadcastableLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _MAXBROADCASTABLELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.MaxBroadcastableLayerParams)
  })
_sym_db.RegisterMessage(MaxBroadcastableLayerParams)

MinBroadcastableLayerParams = _reflection.GeneratedProtocolMessageType('MinBroadcastableLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _MINBROADCASTABLELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.MinBroadcastableLayerParams)
  })
_sym_db.RegisterMessage(MinBroadcastableLayerParams)

ModBroadcastableLayerParams = _reflection.GeneratedProtocolMessageType('ModBroadcastableLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _MODBROADCASTABLELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ModBroadcastableLayerParams)
  })
_sym_db.RegisterMessage(ModBroadcastableLayerParams)

FloorDivBroadcastableLayerParams = _reflection.GeneratedProtocolMessageType('FloorDivBroadcastableLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _FLOORDIVBROADCASTABLELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.FloorDivBroadcastableLayerParams)
  })
_sym_db.RegisterMessage(FloorDivBroadcastableLayerParams)

SubtractBroadcastableLayerParams = _reflection.GeneratedProtocolMessageType('SubtractBroadcastableLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _SUBTRACTBROADCASTABLELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.SubtractBroadcastableLayerParams)
  })
_sym_db.RegisterMessage(SubtractBroadcastableLayerParams)

MultiplyBroadcastableLayerParams = _reflection.GeneratedProtocolMessageType('MultiplyBroadcastableLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _MULTIPLYBROADCASTABLELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.MultiplyBroadcastableLayerParams)
  })
_sym_db.RegisterMessage(MultiplyBroadcastableLayerParams)

DivideBroadcastableLayerParams = _reflection.GeneratedProtocolMessageType('DivideBroadcastableLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _DIVIDEBROADCASTABLELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.DivideBroadcastableLayerParams)
  })
_sym_db.RegisterMessage(DivideBroadcastableLayerParams)

GatherLayerParams = _reflection.GeneratedProtocolMessageType('GatherLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _GATHERLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.GatherLayerParams)
  })
_sym_db.RegisterMessage(GatherLayerParams)

ScatterLayerParams = _reflection.GeneratedProtocolMessageType('ScatterLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _SCATTERLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ScatterLayerParams)
  })
_sym_db.RegisterMessage(ScatterLayerParams)

GatherNDLayerParams = _reflection.GeneratedProtocolMessageType('GatherNDLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _GATHERNDLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.GatherNDLayerParams)
  })
_sym_db.RegisterMessage(GatherNDLayerParams)

ScatterNDLayerParams = _reflection.GeneratedProtocolMessageType('ScatterNDLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _SCATTERNDLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ScatterNDLayerParams)
  })
_sym_db.RegisterMessage(ScatterNDLayerParams)

GatherAlongAxisLayerParams = _reflection.GeneratedProtocolMessageType('GatherAlongAxisLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _GATHERALONGAXISLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.GatherAlongAxisLayerParams)
  })
_sym_db.RegisterMessage(GatherAlongAxisLayerParams)

ScatterAlongAxisLayerParams = _reflection.GeneratedProtocolMessageType('ScatterAlongAxisLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _SCATTERALONGAXISLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ScatterAlongAxisLayerParams)
  })
_sym_db.RegisterMessage(ScatterAlongAxisLayerParams)

StackLayerParams = _reflection.GeneratedProtocolMessageType('StackLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _STACKLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.StackLayerParams)
  })
_sym_db.RegisterMessage(StackLayerParams)

RankPreservingReshapeLayerParams = _reflection.GeneratedProtocolMessageType('RankPreservingReshapeLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _RANKPRESERVINGRESHAPELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.RankPreservingReshapeLayerParams)
  })
_sym_db.RegisterMessage(RankPreservingReshapeLayerParams)

ConstantPaddingLayerParams = _reflection.GeneratedProtocolMessageType('ConstantPaddingLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _CONSTANTPADDINGLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ConstantPaddingLayerParams)
  })
_sym_db.RegisterMessage(ConstantPaddingLayerParams)

RandomNormalLikeLayerParams = _reflection.GeneratedProtocolMessageType('RandomNormalLikeLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _RANDOMNORMALLIKELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.RandomNormalLikeLayerParams)
  })
_sym_db.RegisterMessage(RandomNormalLikeLayerParams)

RandomNormalStaticLayerParams = _reflection.GeneratedProtocolMessageType('RandomNormalStaticLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _RANDOMNORMALSTATICLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.RandomNormalStaticLayerParams)
  })
_sym_db.RegisterMessage(RandomNormalStaticLayerParams)

RandomNormalDynamicLayerParams = _reflection.GeneratedProtocolMessageType('RandomNormalDynamicLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _RANDOMNORMALDYNAMICLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.RandomNormalDynamicLayerParams)
  })
_sym_db.RegisterMessage(RandomNormalDynamicLayerParams)

RandomUniformLikeLayerParams = _reflection.GeneratedProtocolMessageType('RandomUniformLikeLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _RANDOMUNIFORMLIKELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.RandomUniformLikeLayerParams)
  })
_sym_db.RegisterMessage(RandomUniformLikeLayerParams)

RandomUniformStaticLayerParams = _reflection.GeneratedProtocolMessageType('RandomUniformStaticLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _RANDOMUNIFORMSTATICLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.RandomUniformStaticLayerParams)
  })
_sym_db.RegisterMessage(RandomUniformStaticLayerParams)

RandomUniformDynamicLayerParams = _reflection.GeneratedProtocolMessageType('RandomUniformDynamicLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _RANDOMUNIFORMDYNAMICLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.RandomUniformDynamicLayerParams)
  })
_sym_db.RegisterMessage(RandomUniformDynamicLayerParams)

RandomBernoulliLikeLayerParams = _reflection.GeneratedProtocolMessageType('RandomBernoulliLikeLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _RANDOMBERNOULLILIKELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.RandomBernoulliLikeLayerParams)
  })
_sym_db.RegisterMessage(RandomBernoulliLikeLayerParams)

RandomBernoulliStaticLayerParams = _reflection.GeneratedProtocolMessageType('RandomBernoulliStaticLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _RANDOMBERNOULLISTATICLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.RandomBernoulliStaticLayerParams)
  })
_sym_db.RegisterMessage(RandomBernoulliStaticLayerParams)

RandomBernoulliDynamicLayerParams = _reflection.GeneratedProtocolMessageType('RandomBernoulliDynamicLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _RANDOMBERNOULLIDYNAMICLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.RandomBernoulliDynamicLayerParams)
  })
_sym_db.RegisterMessage(RandomBernoulliDynamicLayerParams)

CategoricalDistributionLayerParams = _reflection.GeneratedProtocolMessageType('CategoricalDistributionLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _CATEGORICALDISTRIBUTIONLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.CategoricalDistributionLayerParams)
  })
_sym_db.RegisterMessage(CategoricalDistributionLayerParams)

ReduceL1LayerParams = _reflection.GeneratedProtocolMessageType('ReduceL1LayerParams', (_message.Message,), {
  'DESCRIPTOR' : _REDUCEL1LAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ReduceL1LayerParams)
  })
_sym_db.RegisterMessage(ReduceL1LayerParams)

ReduceL2LayerParams = _reflection.GeneratedProtocolMessageType('ReduceL2LayerParams', (_message.Message,), {
  'DESCRIPTOR' : _REDUCEL2LAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ReduceL2LayerParams)
  })
_sym_db.RegisterMessage(ReduceL2LayerParams)

ReduceMaxLayerParams = _reflection.GeneratedProtocolMessageType('ReduceMaxLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _REDUCEMAXLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ReduceMaxLayerParams)
  })
_sym_db.RegisterMessage(ReduceMaxLayerParams)

ReduceMinLayerParams = _reflection.GeneratedProtocolMessageType('ReduceMinLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _REDUCEMINLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ReduceMinLayerParams)
  })
_sym_db.RegisterMessage(ReduceMinLayerParams)

ReduceSumLayerParams = _reflection.GeneratedProtocolMessageType('ReduceSumLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _REDUCESUMLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ReduceSumLayerParams)
  })
_sym_db.RegisterMessage(ReduceSumLayerParams)

ReduceProdLayerParams = _reflection.GeneratedProtocolMessageType('ReduceProdLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _REDUCEPRODLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ReduceProdLayerParams)
  })
_sym_db.RegisterMessage(ReduceProdLayerParams)

ReduceMeanLayerParams = _reflection.GeneratedProtocolMessageType('ReduceMeanLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _REDUCEMEANLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ReduceMeanLayerParams)
  })
_sym_db.RegisterMessage(ReduceMeanLayerParams)

ReduceLogSumLayerParams = _reflection.GeneratedProtocolMessageType('ReduceLogSumLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _REDUCELOGSUMLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ReduceLogSumLayerParams)
  })
_sym_db.RegisterMessage(ReduceLogSumLayerParams)

ReduceSumSquareLayerParams = _reflection.GeneratedProtocolMessageType('ReduceSumSquareLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _REDUCESUMSQUARELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ReduceSumSquareLayerParams)
  })
_sym_db.RegisterMessage(ReduceSumSquareLayerParams)

ReduceLogSumExpLayerParams = _reflection.GeneratedProtocolMessageType('ReduceLogSumExpLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _REDUCELOGSUMEXPLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ReduceLogSumExpLayerParams)
  })
_sym_db.RegisterMessage(ReduceLogSumExpLayerParams)

ExpandDimsLayerParams = _reflection.GeneratedProtocolMessageType('ExpandDimsLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _EXPANDDIMSLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ExpandDimsLayerParams)
  })
_sym_db.RegisterMessage(ExpandDimsLayerParams)

FlattenTo2DLayerParams = _reflection.GeneratedProtocolMessageType('FlattenTo2DLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _FLATTENTO2DLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.FlattenTo2DLayerParams)
  })
_sym_db.RegisterMessage(FlattenTo2DLayerParams)

ReshapeStaticLayerParams = _reflection.GeneratedProtocolMessageType('ReshapeStaticLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _RESHAPESTATICLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ReshapeStaticLayerParams)
  })
_sym_db.RegisterMessage(ReshapeStaticLayerParams)

ReshapeLikeLayerParams = _reflection.GeneratedProtocolMessageType('ReshapeLikeLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _RESHAPELIKELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ReshapeLikeLayerParams)
  })
_sym_db.RegisterMessage(ReshapeLikeLayerParams)

ReshapeDynamicLayerParams = _reflection.GeneratedProtocolMessageType('ReshapeDynamicLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _RESHAPEDYNAMICLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ReshapeDynamicLayerParams)
  })
_sym_db.RegisterMessage(ReshapeDynamicLayerParams)

SqueezeLayerParams = _reflection.GeneratedProtocolMessageType('SqueezeLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _SQUEEZELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.SqueezeLayerParams)
  })
_sym_db.RegisterMessage(SqueezeLayerParams)

TopKLayerParams = _reflection.GeneratedProtocolMessageType('TopKLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _TOPKLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.TopKLayerParams)
  })
_sym_db.RegisterMessage(TopKLayerParams)

ArgMaxLayerParams = _reflection.GeneratedProtocolMessageType('ArgMaxLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _ARGMAXLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ArgMaxLayerParams)
  })
_sym_db.RegisterMessage(ArgMaxLayerParams)

ArgMinLayerParams = _reflection.GeneratedProtocolMessageType('ArgMinLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _ARGMINLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ArgMinLayerParams)
  })
_sym_db.RegisterMessage(ArgMinLayerParams)

SplitNDLayerParams = _reflection.GeneratedProtocolMessageType('SplitNDLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _SPLITNDLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.SplitNDLayerParams)
  })
_sym_db.RegisterMessage(SplitNDLayerParams)

CeilLayerParams = _reflection.GeneratedProtocolMessageType('CeilLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _CEILLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.CeilLayerParams)
  })
_sym_db.RegisterMessage(CeilLayerParams)

RoundLayerParams = _reflection.GeneratedProtocolMessageType('RoundLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _ROUNDLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.RoundLayerParams)
  })
_sym_db.RegisterMessage(RoundLayerParams)

FloorLayerParams = _reflection.GeneratedProtocolMessageType('FloorLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _FLOORLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.FloorLayerParams)
  })
_sym_db.RegisterMessage(FloorLayerParams)

SignLayerParams = _reflection.GeneratedProtocolMessageType('SignLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _SIGNLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.SignLayerParams)
  })
_sym_db.RegisterMessage(SignLayerParams)

ClipLayerParams = _reflection.GeneratedProtocolMessageType('ClipLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _CLIPLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ClipLayerParams)
  })
_sym_db.RegisterMessage(ClipLayerParams)

SliceStaticLayerParams = _reflection.GeneratedProtocolMessageType('SliceStaticLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _SLICESTATICLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.SliceStaticLayerParams)
  })
_sym_db.RegisterMessage(SliceStaticLayerParams)

SliceDynamicLayerParams = _reflection.GeneratedProtocolMessageType('SliceDynamicLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _SLICEDYNAMICLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.SliceDynamicLayerParams)
  })
_sym_db.RegisterMessage(SliceDynamicLayerParams)

TileLayerParams = _reflection.GeneratedProtocolMessageType('TileLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _TILELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.TileLayerParams)
  })
_sym_db.RegisterMessage(TileLayerParams)

GetShapeLayerParams = _reflection.GeneratedProtocolMessageType('GetShapeLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _GETSHAPELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.GetShapeLayerParams)
  })
_sym_db.RegisterMessage(GetShapeLayerParams)

ErfLayerParams = _reflection.GeneratedProtocolMessageType('ErfLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _ERFLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ErfLayerParams)
  })
_sym_db.RegisterMessage(ErfLayerParams)

GeluLayerParams = _reflection.GeneratedProtocolMessageType('GeluLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _GELULAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.GeluLayerParams)
  })
_sym_db.RegisterMessage(GeluLayerParams)

RangeStaticLayerParams = _reflection.GeneratedProtocolMessageType('RangeStaticLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _RANGESTATICLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.RangeStaticLayerParams)
  })
_sym_db.RegisterMessage(RangeStaticLayerParams)

RangeDynamicLayerParams = _reflection.GeneratedProtocolMessageType('RangeDynamicLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _RANGEDYNAMICLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.RangeDynamicLayerParams)
  })
_sym_db.RegisterMessage(RangeDynamicLayerParams)

SlidingWindowsLayerParams = _reflection.GeneratedProtocolMessageType('SlidingWindowsLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _SLIDINGWINDOWSLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.SlidingWindowsLayerParams)
  })
_sym_db.RegisterMessage(SlidingWindowsLayerParams)

LayerNormalizationLayerParams = _reflection.GeneratedProtocolMessageType('LayerNormalizationLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _LAYERNORMALIZATIONLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.LayerNormalizationLayerParams)
  })
_sym_db.RegisterMessage(LayerNormalizationLayerParams)

NonMaximumSuppressionLayerParams = _reflection.GeneratedProtocolMessageType('NonMaximumSuppressionLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _NONMAXIMUMSUPPRESSIONLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.NonMaximumSuppressionLayerParams)
  })
_sym_db.RegisterMessage(NonMaximumSuppressionLayerParams)

ClampedReLULayerParams = _reflection.GeneratedProtocolMessageType('ClampedReLULayerParams', (_message.Message,), {
  'DESCRIPTOR' : _CLAMPEDRELULAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ClampedReLULayerParams)
  })
_sym_db.RegisterMessage(ClampedReLULayerParams)

ArgSortLayerParams = _reflection.GeneratedProtocolMessageType('ArgSortLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _ARGSORTLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.ArgSortLayerParams)
  })
_sym_db.RegisterMessage(ArgSortLayerParams)

SliceBySizeLayerParams = _reflection.GeneratedProtocolMessageType('SliceBySizeLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _SLICEBYSIZELAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.SliceBySizeLayerParams)
  })
_sym_db.RegisterMessage(SliceBySizeLayerParams)

NeuralNetworkClassifier = _reflection.GeneratedProtocolMessageType('NeuralNetworkClassifier', (_message.Message,), {
  'DESCRIPTOR' : _NEURALNETWORKCLASSIFIER,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.NeuralNetworkClassifier)
  })
_sym_db.RegisterMessage(NeuralNetworkClassifier)

OneHotLayerParams = _reflection.GeneratedProtocolMessageType('OneHotLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _ONEHOTLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.OneHotLayerParams)
  })
_sym_db.RegisterMessage(OneHotLayerParams)

CumSumLayerParams = _reflection.GeneratedProtocolMessageType('CumSumLayerParams', (_message.Message,), {
  'DESCRIPTOR' : _CUMSUMLAYERPARAMS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.CumSumLayerParams)
  })
_sym_db.RegisterMessage(CumSumLayerParams)

NeuralNetworkRegressor = _reflection.GeneratedProtocolMessageType('NeuralNetworkRegressor', (_message.Message,), {
  'DESCRIPTOR' : _NEURALNETWORKREGRESSOR,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.NeuralNetworkRegressor)
  })
_sym_db.RegisterMessage(NeuralNetworkRegressor)

NetworkUpdateParameters = _reflection.GeneratedProtocolMessageType('NetworkUpdateParameters', (_message.Message,), {
  'DESCRIPTOR' : _NETWORKUPDATEPARAMETERS,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.NetworkUpdateParameters)
  })
_sym_db.RegisterMessage(NetworkUpdateParameters)

LossLayer = _reflection.GeneratedProtocolMessageType('LossLayer', (_message.Message,), {
  'DESCRIPTOR' : _LOSSLAYER,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.LossLayer)
  })
_sym_db.RegisterMessage(LossLayer)

CategoricalCrossEntropyLossLayer = _reflection.GeneratedProtocolMessageType('CategoricalCrossEntropyLossLayer', (_message.Message,), {
  'DESCRIPTOR' : _CATEGORICALCROSSENTROPYLOSSLAYER,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.CategoricalCrossEntropyLossLayer)
  })
_sym_db.RegisterMessage(CategoricalCrossEntropyLossLayer)

MeanSquaredErrorLossLayer = _reflection.GeneratedProtocolMessageType('MeanSquaredErrorLossLayer', (_message.Message,), {
  'DESCRIPTOR' : _MEANSQUAREDERRORLOSSLAYER,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.MeanSquaredErrorLossLayer)
  })
_sym_db.RegisterMessage(MeanSquaredErrorLossLayer)

Optimizer = _reflection.GeneratedProtocolMessageType('Optimizer', (_message.Message,), {
  'DESCRIPTOR' : _OPTIMIZER,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.Optimizer)
  })
_sym_db.RegisterMessage(Optimizer)

SGDOptimizer = _reflection.GeneratedProtocolMessageType('SGDOptimizer', (_message.Message,), {
  'DESCRIPTOR' : _SGDOPTIMIZER,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.SGDOptimizer)
  })
_sym_db.RegisterMessage(SGDOptimizer)

AdamOptimizer = _reflection.GeneratedProtocolMessageType('AdamOptimizer', (_message.Message,), {
  'DESCRIPTOR' : _ADAMOPTIMIZER,
  '__module__' : 'NeuralNetwork_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.AdamOptimizer)
  })
_sym_db.RegisterMessage(AdamOptimizer)

if _descriptor._USE_C_DESCRIPTORS == False:

  DESCRIPTOR._options = None
  DESCRIPTOR._serialized_options = b'H\003'
  _CUSTOMLAYERPARAMS_PARAMETERSENTRY._options = None
  _CUSTOMLAYERPARAMS_PARAMETERSENTRY._serialized_options = b'8\001'
  _NEURALNETWORKMULTIARRAYSHAPEMAPPING._serialized_start=33746
  _NEURALNETWORKMULTIARRAYSHAPEMAPPING._serialized_end=33833
  _NEURALNETWORKIMAGESHAPEMAPPING._serialized_start=33835
  _NEURALNETWORKIMAGESHAPEMAPPING._serialized_end=33917
  _SCATTERMODE._serialized_start=33920
  _SCATTERMODE._serialized_end=34055
  _NEURALNETWORK._serialized_start=86
  _NEURALNETWORK._serialized_end=478
  _NEURALNETWORKIMAGESCALER._serialized_start=480
  _NEURALNETWORKIMAGESCALER._serialized_end=600
  _NEURALNETWORKMEANIMAGE._serialized_start=602
  _NEURALNETWORKMEANIMAGE._serialized_end=645
  _NEURALNETWORKPREPROCESSING._serialized_start=648
  _NEURALNETWORKPREPROCESSING._serialized_end=846
  _ACTIVATIONRELU._serialized_start=848
  _ACTIVATIONRELU._serialized_end=864
  _ACTIVATIONLEAKYRELU._serialized_start=866
  _ACTIVATIONLEAKYRELU._serialized_end=902
  _ACTIVATIONTANH._serialized_start=904
  _ACTIVATIONTANH._serialized_end=920
  _ACTIVATIONSCALEDTANH._serialized_start=922
  _ACTIVATIONSCALEDTANH._serialized_end=973
  _ACTIVATIONSIGMOID._serialized_start=975
  _ACTIVATIONSIGMOID._serialized_end=994
  _ACTIVATIONLINEAR._serialized_start=996
  _ACTIVATIONLINEAR._serialized_end=1043
  _ACTIVATIONSIGMOIDHARD._serialized_start=1045
  _ACTIVATIONSIGMOIDHARD._serialized_end=1097
  _ACTIVATIONPRELU._serialized_start=1099
  _ACTIVATIONPRELU._serialized_end=1167
  _ACTIVATIONELU._serialized_start=1169
  _ACTIVATIONELU._serialized_end=1199
  _ACTIVATIONTHRESHOLDEDRELU._serialized_start=1201
  _ACTIVATIONTHRESHOLDEDRELU._serialized_end=1243
  _ACTIVATIONSOFTSIGN._serialized_start=1245
  _ACTIVATIONSOFTSIGN._serialized_end=1265
  _ACTIVATIONSOFTPLUS._serialized_start=1267
  _ACTIVATIONSOFTPLUS._serialized_end=1287
  _ACTIVATIONPARAMETRICSOFTPLUS._serialized_start=1290
  _ACTIVATIONPARAMETRICSOFTPLUS._serialized_end=1421
  _ACTIVATIONPARAMS._serialized_start=1424
  _ACTIVATIONPARAMS._serialized_end=2276
  _TENSOR._serialized_start=2278
  _TENSOR._serialized_end=2318
  _NEURALNETWORKLAYER._serialized_start=2321
  _NEURALNETWORKLAYER._serialized_end=13307
  _BRANCHLAYERPARAMS._serialized_start=13310
  _BRANCHLAYERPARAMS._serialized_end=13441
  _LOOPLAYERPARAMS._serialized_start=13444
  _LOOPLAYERPARAMS._serialized_end=13631
  _LOOPBREAKLAYERPARAMS._serialized_start=13633
  _LOOPBREAKLAYERPARAMS._serialized_end=13655
  _LOOPCONTINUELAYERPARAMS._serialized_start=13657
  _LOOPCONTINUELAYERPARAMS._serialized_end=13682
  _COPYLAYERPARAMS._serialized_start=13684
  _COPYLAYERPARAMS._serialized_end=13701
  _GREATERTHANLAYERPARAMS._serialized_start=13703
  _GREATERTHANLAYERPARAMS._serialized_end=13742
  _GREATEREQUALLAYERPARAMS._serialized_start=13744
  _GREATEREQUALLAYERPARAMS._serialized_end=13784
  _LESSTHANLAYERPARAMS._serialized_start=13786
  _LESSTHANLAYERPARAMS._serialized_end=13822
  _LESSEQUALLAYERPARAMS._serialized_start=13824
  _LESSEQUALLAYERPARAMS._serialized_end=13861
  _EQUALLAYERPARAMS._serialized_start=13863
  _EQUALLAYERPARAMS._serialized_end=13896
  _NOTEQUALLAYERPARAMS._serialized_start=13898
  _NOTEQUALLAYERPARAMS._serialized_end=13934
  _LOGICALANDLAYERPARAMS._serialized_start=13936
  _LOGICALANDLAYERPARAMS._serialized_end=13959
  _LOGICALORLAYERPARAMS._serialized_start=13961
  _LOGICALORLAYERPARAMS._serialized_end=13983
  _LOGICALXORLAYERPARAMS._serialized_start=13985
  _LOGICALXORLAYERPARAMS._serialized_end=14008
  _LOGICALNOTLAYERPARAMS._serialized_start=14010
  _LOGICALNOTLAYERPARAMS._serialized_end=14033
  _BORDERAMOUNTS._serialized_start=14036
  _BORDERAMOUNTS._serialized_end=14178
  _BORDERAMOUNTS_EDGESIZES._serialized_start=14123
  _BORDERAMOUNTS_EDGESIZES._serialized_end=14178
  _VALIDPADDING._serialized_start=14180
  _VALIDPADDING._serialized_end=14255
  _SAMEPADDING._serialized_start=14258
  _SAMEPADDING._serialized_end=14408
  _SAMEPADDING_SAMEPADDINGMODE._serialized_start=14347
  _SAMEPADDING_SAMEPADDINGMODE._serialized_end=14408
  _SAMPLINGMODE._serialized_start=14411
  _SAMPLINGMODE._serialized_end=14600
  _SAMPLINGMODE_METHOD._serialized_start=14494
  _SAMPLINGMODE_METHOD._serialized_end=14600
  _BOXCOORDINATESMODE._serialized_start=14603
  _BOXCOORDINATESMODE._serialized_end=14819
  _BOXCOORDINATESMODE_COORDINATES._serialized_start=14696
  _BOXCOORDINATESMODE_COORDINATES._serialized_end=14819
  _WEIGHTPARAMS._serialized_start=14822
  _WEIGHTPARAMS._serialized_end=15003
  _QUANTIZATIONPARAMS._serialized_start=15006
  _QUANTIZATIONPARAMS._serialized_end=15234
  _LINEARQUANTIZATIONPARAMS._serialized_start=15236
  _LINEARQUANTIZATIONPARAMS._serialized_end=15291
  _LOOKUPTABLEQUANTIZATIONPARAMS._serialized_start=15293
  _LOOKUPTABLEQUANTIZATIONPARAMS._serialized_end=15344
  _CONVOLUTIONLAYERPARAMS._serialized_start=15347
  _CONVOLUTIONLAYERPARAMS._serialized_end=15792
  _CONVOLUTION3DLAYERPARAMS._serialized_start=15795
  _CONVOLUTION3DLAYERPARAMS._serialized_end=16543
  _CONVOLUTION3DLAYERPARAMS_PADDINGTYPE._serialized_start=16497
  _CONVOLUTION3DLAYERPARAMS_PADDINGTYPE._serialized_end=16543
  _INNERPRODUCTLAYERPARAMS._serialized_start=16546
  _INNERPRODUCTLAYERPARAMS._serialized_end=16767
  _EMBEDDINGLAYERPARAMS._serialized_start=16770
  _EMBEDDINGLAYERPARAMS._serialized_end=16954
  _EMBEDDINGNDLAYERPARAMS._serialized_start=16957
  _EMBEDDINGNDLAYERPARAMS._serialized_end=17143
  _BATCHNORMLAYERPARAMS._serialized_start=17146
  _BATCHNORMLAYERPARAMS._serialized_end=17463
  _POOLINGLAYERPARAMS._serialized_start=17466
  _POOLINGLAYERPARAMS._serialized_end=17954
  _POOLINGLAYERPARAMS_VALIDCOMPLETEPADDING._serialized_start=17841
  _POOLINGLAYERPARAMS_VALIDCOMPLETEPADDING._serialized_end=17887
  _POOLINGLAYERPARAMS_POOLINGTYPE._serialized_start=17889
  _POOLINGLAYERPARAMS_POOLINGTYPE._serialized_end=17932
  _POOLING3DLAYERPARAMS._serialized_start=17957
  _POOLING3DLAYERPARAMS._serialized_end=18555
  _POOLING3DLAYERPARAMS_POOLINGTYPE3D._serialized_start=18461
  _POOLING3DLAYERPARAMS_POOLINGTYPE3D._serialized_end=18498
  _POOLING3DLAYERPARAMS_POOLING3DPADDINGTYPE._serialized_start=18500
  _POOLING3DLAYERPARAMS_POOLING3DPADDINGTYPE._serialized_end=18555
  _GLOBALPOOLING3DLAYERPARAMS._serialized_start=18558
  _GLOBALPOOLING3DLAYERPARAMS._serialized_end=18715
  _GLOBALPOOLING3DLAYERPARAMS_GLOBALPOOLINGTYPE3D._serialized_start=18672
  _GLOBALPOOLING3DLAYERPARAMS_GLOBALPOOLINGTYPE3D._serialized_end=18715
  _PADDINGLAYERPARAMS._serialized_start=18718
  _PADDINGLAYERPARAMS._serialized_end=19135
  _PADDINGLAYERPARAMS_PADDINGCONSTANT._serialized_start=19045
  _PADDINGLAYERPARAMS_PADDINGCONSTANT._serialized_end=19077
  _PADDINGLAYERPARAMS_PADDINGREFLECTION._serialized_start=19079
  _PADDINGLAYERPARAMS_PADDINGREFLECTION._serialized_end=19098
  _PADDINGLAYERPARAMS_PADDINGREPLICATION._serialized_start=19100
  _PADDINGLAYERPARAMS_PADDINGREPLICATION._serialized_end=19120
  _CONCATLAYERPARAMS._serialized_start=19137
  _CONCATLAYERPARAMS._serialized_end=19180
  _LRNLAYERPARAMS._serialized_start=19182
  _LRNLAYERPARAMS._serialized_end=19257
  _SOFTMAXLAYERPARAMS._serialized_start=19259
  _SOFTMAXLAYERPARAMS._serialized_end=19279
  _SPLITLAYERPARAMS._serialized_start=19281
  _SPLITLAYERPARAMS._serialized_end=19317
  _ADDLAYERPARAMS._serialized_start=19319
  _ADDLAYERPARAMS._serialized_end=19350
  _MULTIPLYLAYERPARAMS._serialized_start=19352
  _MULTIPLYLAYERPARAMS._serialized_end=19388
  _UNARYFUNCTIONLAYERPARAMS._serialized_start=19391
  _UNARYFUNCTIONLAYERPARAMS._serialized_end=19651
  _UNARYFUNCTIONLAYERPARAMS_OPERATION._serialized_start=19553
  _UNARYFUNCTIONLAYERPARAMS_OPERATION._serialized_end=19651
  _UPSAMPLELAYERPARAMS._serialized_start=19654
  _UPSAMPLELAYERPARAMS._serialized_end=20023
  _UPSAMPLELAYERPARAMS_INTERPOLATIONMODE._serialized_start=19898
  _UPSAMPLELAYERPARAMS_INTERPOLATIONMODE._serialized_end=19939
  _UPSAMPLELAYERPARAMS_LINEARUPSAMPLEMODE._serialized_start=19941
  _UPSAMPLELAYERPARAMS_LINEARUPSAMPLEMODE._serialized_end=20023
  _RESIZEBILINEARLAYERPARAMS._serialized_start=20025
  _RESIZEBILINEARLAYERPARAMS._serialized_end=20122
  _CROPRESIZELAYERPARAMS._serialized_start=20125
  _CROPRESIZELAYERPARAMS._serialized_end=20337
  _BIASLAYERPARAMS._serialized_start=20339
  _BIASLAYERPARAMS._serialized_end=20421
  _SCALELAYERPARAMS._serialized_start=20424
  _SCALELAYERPARAMS._serialized_end=20599
  _LOADCONSTANTLAYERPARAMS._serialized_start=20601
  _LOADCONSTANTLAYERPARAMS._serialized_end=20691
  _L2NORMALIZELAYERPARAMS._serialized_start=20693
  _L2NORMALIZELAYERPARAMS._serialized_end=20734
  _FLATTENLAYERPARAMS._serialized_start=20737
  _FLATTENLAYERPARAMS._serialized_end=20879
  _FLATTENLAYERPARAMS_FLATTENORDER._serialized_start=20828
  _FLATTENLAYERPARAMS_FLATTENORDER._serialized_end=20879
  _RESHAPELAYERPARAMS._serialized_start=20882
  _RESHAPELAYERPARAMS._serialized_end=21045
  _RESHAPELAYERPARAMS_RESHAPEORDER._serialized_start=20994
  _RESHAPELAYERPARAMS_RESHAPEORDER._serialized_end=21045
  _PERMUTELAYERPARAMS._serialized_start=21047
  _PERMUTELAYERPARAMS._serialized_end=21081
  _REORGANIZEDATALAYERPARAMS._serialized_start=21084
  _REORGANIZEDATALAYERPARAMS._serialized_end=21293
  _REORGANIZEDATALAYERPARAMS_REORGANIZATIONTYPE._serialized_start=21214
  _REORGANIZEDATALAYERPARAMS_REORGANIZATIONTYPE._serialized_end=21293
  _SLICELAYERPARAMS._serialized_start=21296
  _SLICELAYERPARAMS._serialized_end=21496
  _SLICELAYERPARAMS_SLICEAXIS._serialized_start=21434
  _SLICELAYERPARAMS_SLICEAXIS._serialized_end=21496
  _REDUCELAYERPARAMS._serialized_start=21499
  _REDUCELAYERPARAMS._serialized_end=21844
  _REDUCELAYERPARAMS_REDUCEOPERATION._serialized_start=21674
  _REDUCELAYERPARAMS_REDUCEOPERATION._serialized_end=21792
  _REDUCELAYERPARAMS_REDUCEAXIS._serialized_start=21794
  _REDUCELAYERPARAMS_REDUCEAXIS._serialized_end=21844
  _CROPLAYERPARAMS._serialized_start=21846
  _CROPLAYERPARAMS._serialized_end=21937
  _AVERAGELAYERPARAMS._serialized_start=21939
  _AVERAGELAYERPARAMS._serialized_end=21959
  _MAXLAYERPARAMS._serialized_start=21961
  _MAXLAYERPARAMS._serialized_end=21977
  _MINLAYERPARAMS._serialized_start=21979
  _MINLAYERPARAMS._serialized_end=21995
  _DOTPRODUCTLAYERPARAMS._serialized_start=21997
  _DOTPRODUCTLAYERPARAMS._serialized_end=22046
  _MEANVARIANCENORMALIZELAYERPARAMS._serialized_start=22048
  _MEANVARIANCENORMALIZELAYERPARAMS._serialized_end=22150
  _SEQUENCEREPEATLAYERPARAMS._serialized_start=22152
  _SEQUENCEREPEATLAYERPARAMS._serialized_end=22201
  _SIMPLERECURRENTLAYERPARAMS._serialized_start=22204
  _SIMPLERECURRENTLAYERPARAMS._serialized_end=22587
  _GRULAYERPARAMS._serialized_start=22590
  _GRULAYERPARAMS._serialized_end=23400
  _LSTMPARAMS._serialized_start=23403
  _LSTMPARAMS._serialized_end=23573
  _LSTMWEIGHTPARAMS._serialized_start=23576
  _LSTMWEIGHTPARAMS._serialized_end=24620
  _UNIDIRECTIONALLSTMLAYERPARAMS._serialized_start=24623
  _UNIDIRECTIONALLSTMLAYERPARAMS._serialized_end=24900
  _BIDIRECTIONALLSTMLAYERPARAMS._serialized_start=24903
  _BIDIRECTIONALLSTMLAYERPARAMS._serialized_end=25241
  _CUSTOMLAYERPARAMS._serialized_start=25244
  _CUSTOMLAYERPARAMS._serialized_end=25690
  _CUSTOMLAYERPARAMS_CUSTOMLAYERPARAMVALUE._serialized_start=25436
  _CUSTOMLAYERPARAMS_CUSTOMLAYERPARAMVALUE._serialized_end=25576
  _CUSTOMLAYERPARAMS_PARAMETERSENTRY._serialized_start=25578
  _CUSTOMLAYERPARAMS_PARAMETERSENTRY._serialized_end=25690
  _TRANSPOSELAYERPARAMS._serialized_start=25692
  _TRANSPOSELAYERPARAMS._serialized_end=25728
  _BATCHEDMATMULLAYERPARAMS._serialized_start=25731
  _BATCHEDMATMULLAYERPARAMS._serialized_end=26019
  _CONCATNDLAYERPARAMS._serialized_start=26021
  _CONCATNDLAYERPARAMS._serialized_end=26076
  _SOFTMAXNDLAYERPARAMS._serialized_start=26078
  _SOFTMAXNDLAYERPARAMS._serialized_end=26114
  _REVERSELAYERPARAMS._serialized_start=26116
  _REVERSELAYERPARAMS._serialized_end=26156
  _REVERSESEQLAYERPARAMS._serialized_start=26158
  _REVERSESEQLAYERPARAMS._serialized_end=26222
  _LOADCONSTANTNDLAYERPARAMS._serialized_start=26224
  _LOADCONSTANTNDLAYERPARAMS._serialized_end=26316
  _FILLLIKELAYERPARAMS._serialized_start=26318
  _FILLLIKELAYERPARAMS._serialized_end=26354
  _FILLSTATICLAYERPARAMS._serialized_start=26356
  _FILLSTATICLAYERPARAMS._serialized_end=26415
  _FILLDYNAMICLAYERPARAMS._serialized_start=26417
  _FILLDYNAMICLAYERPARAMS._serialized_end=26456
  _WHEREBROADCASTABLELAYERPARAMS._serialized_start=26458
  _WHEREBROADCASTABLELAYERPARAMS._serialized_end=26489
  _SINLAYERPARAMS._serialized_start=26491
  _SINLAYERPARAMS._serialized_end=26507
  _COSLAYERPARAMS._serialized_start=26509
  _COSLAYERPARAMS._serialized_end=26525
  _TANLAYERPARAMS._serialized_start=26527
  _TANLAYERPARAMS._serialized_end=26543
  _ASINLAYERPARAMS._serialized_start=26545
  _ASINLAYERPARAMS._serialized_end=26562
  _ACOSLAYERPARAMS._serialized_start=26564
  _ACOSLAYERPARAMS._serialized_end=26581
  _ATANLAYERPARAMS._serialized_start=26583
  _ATANLAYERPARAMS._serialized_end=26600
  _SINHLAYERPARAMS._serialized_start=26602
  _SINHLAYERPARAMS._serialized_end=26619
  _COSHLAYERPARAMS._serialized_start=26621
  _COSHLAYERPARAMS._serialized_end=26638
  _TANHLAYERPARAMS._serialized_start=26640
  _TANHLAYERPARAMS._serialized_end=26657
  _ASINHLAYERPARAMS._serialized_start=26659
  _ASINHLAYERPARAMS._serialized_end=26677
  _ACOSHLAYERPARAMS._serialized_start=26679
  _ACOSHLAYERPARAMS._serialized_end=26697
  _ATANHLAYERPARAMS._serialized_start=26699
  _ATANHLAYERPARAMS._serialized_end=26717
  _POWBROADCASTABLELAYERPARAMS._serialized_start=26719
  _POWBROADCASTABLELAYERPARAMS._serialized_end=26748
  _EXP2LAYERPARAMS._serialized_start=26750
  _EXP2LAYERPARAMS._serialized_end=26767
  _WHERENONZEROLAYERPARAMS._serialized_start=26769
  _WHERENONZEROLAYERPARAMS._serialized_end=26794
  _MATRIXBANDPARTLAYERPARAMS._serialized_start=26796
  _MATRIXBANDPARTLAYERPARAMS._serialized_end=26859
  _UPPERTRIANGULARLAYERPARAMS._serialized_start=26861
  _UPPERTRIANGULARLAYERPARAMS._serialized_end=26900
  _LOWERTRIANGULARLAYERPARAMS._serialized_start=26902
  _LOWERTRIANGULARLAYERPARAMS._serialized_end=26941
  _BROADCASTTOLIKELAYERPARAMS._serialized_start=26943
  _BROADCASTTOLIKELAYERPARAMS._serialized_end=26971
  _BROADCASTTOSTATICLAYERPARAMS._serialized_start=26973
  _BROADCASTTOSTATICLAYERPARAMS._serialized_end=27024
  _BROADCASTTODYNAMICLAYERPARAMS._serialized_start=27026
  _BROADCASTTODYNAMICLAYERPARAMS._serialized_end=27057
  _ADDBROADCASTABLELAYERPARAMS._serialized_start=27059
  _ADDBROADCASTABLELAYERPARAMS._serialized_end=27088
  _MAXBROADCASTABLELAYERPARAMS._serialized_start=27090
  _MAXBROADCASTABLELAYERPARAMS._serialized_end=27119
  _MINBROADCASTABLELAYERPARAMS._serialized_start=27121
  _MINBROADCASTABLELAYERPARAMS._serialized_end=27150
  _MODBROADCASTABLELAYERPARAMS._serialized_start=27152
  _MODBROADCASTABLELAYERPARAMS._serialized_end=27181
  _FLOORDIVBROADCASTABLELAYERPARAMS._serialized_start=27183
  _FLOORDIVBROADCASTABLELAYERPARAMS._serialized_end=27217
  _SUBTRACTBROADCASTABLELAYERPARAMS._serialized_start=27219
  _SUBTRACTBROADCASTABLELAYERPARAMS._serialized_end=27253
  _MULTIPLYBROADCASTABLELAYERPARAMS._serialized_start=27255
  _MULTIPLYBROADCASTABLELAYERPARAMS._serialized_end=27289
  _DIVIDEBROADCASTABLELAYERPARAMS._serialized_start=27291
  _DIVIDEBROADCASTABLELAYERPARAMS._serialized_end=27323
  _GATHERLAYERPARAMS._serialized_start=27325
  _GATHERLAYERPARAMS._serialized_end=27358
  _SCATTERLAYERPARAMS._serialized_start=27360
  _SCATTERLAYERPARAMS._serialized_end=27443
  _GATHERNDLAYERPARAMS._serialized_start=27445
  _GATHERNDLAYERPARAMS._serialized_end=27466
  _SCATTERNDLAYERPARAMS._serialized_start=27468
  _SCATTERNDLAYERPARAMS._serialized_end=27539
  _GATHERALONGAXISLAYERPARAMS._serialized_start=27541
  _GATHERALONGAXISLAYERPARAMS._serialized_end=27583
  _SCATTERALONGAXISLAYERPARAMS._serialized_start=27585
  _SCATTERALONGAXISLAYERPARAMS._serialized_end=27677
  _STACKLAYERPARAMS._serialized_start=27679
  _STACKLAYERPARAMS._serialized_end=27711
  _RANKPRESERVINGRESHAPELAYERPARAMS._serialized_start=27713
  _RANKPRESERVINGRESHAPELAYERPARAMS._serialized_end=27768
  _CONSTANTPADDINGLAYERPARAMS._serialized_start=27770
  _CONSTANTPADDINGLAYERPARAMS._serialized_end=27867
  _RANDOMNORMALLIKELAYERPARAMS._serialized_start=27869
  _RANDOMNORMALLIKELAYERPARAMS._serialized_end=27942
  _RANDOMNORMALSTATICLAYERPARAMS._serialized_start=27944
  _RANDOMNORMALSTATICLAYERPARAMS._serialized_end=28040
  _RANDOMNORMALDYNAMICLAYERPARAMS._serialized_start=28042
  _RANDOMNORMALDYNAMICLAYERPARAMS._serialized_end=28118
  _RANDOMUNIFORMLIKELAYERPARAMS._serialized_start=28120
  _RANDOMUNIFORMLIKELAYERPARAMS._serialized_end=28196
  _RANDOMUNIFORMSTATICLAYERPARAMS._serialized_start=28198
  _RANDOMUNIFORMSTATICLAYERPARAMS._serialized_end=28297
  _RANDOMUNIFORMDYNAMICLAYERPARAMS._serialized_start=28299
  _RANDOMUNIFORMDYNAMICLAYERPARAMS._serialized_end=28378
  _RANDOMBERNOULLILIKELAYERPARAMS._serialized_start=28380
  _RANDOMBERNOULLILIKELAYERPARAMS._serialized_end=28440
  _RANDOMBERNOULLISTATICLAYERPARAMS._serialized_start=28442
  _RANDOMBERNOULLISTATICLAYERPARAMS._serialized_end=28525
  _RANDOMBERNOULLIDYNAMICLAYERPARAMS._serialized_start=28527
  _RANDOMBERNOULLIDYNAMICLAYERPARAMS._serialized_end=28590
  _CATEGORICALDISTRIBUTIONLAYERPARAMS._serialized_start=28592
  _CATEGORICALDISTRIBUTIONLAYERPARAMS._serialized_end=28714
  _REDUCEL1LAYERPARAMS._serialized_start=28716
  _REDUCEL1LAYERPARAMS._serialized_end=28788
  _REDUCEL2LAYERPARAMS._serialized_start=28790
  _REDUCEL2LAYERPARAMS._serialized_end=28862
  _REDUCEMAXLAYERPARAMS._serialized_start=28864
  _REDUCEMAXLAYERPARAMS._serialized_end=28937
  _REDUCEMINLAYERPARAMS._serialized_start=28939
  _REDUCEMINLAYERPARAMS._serialized_end=29012
  _REDUCESUMLAYERPARAMS._serialized_start=29014
  _REDUCESUMLAYERPARAMS._serialized_end=29087
  _REDUCEPRODLAYERPARAMS._serialized_start=29089
  _REDUCEPRODLAYERPARAMS._serialized_end=29163
  _REDUCEMEANLAYERPARAMS._serialized_start=29165
  _REDUCEMEANLAYERPARAMS._serialized_end=29239
  _REDUCELOGSUMLAYERPARAMS._serialized_start=29241
  _REDUCELOGSUMLAYERPARAMS._serialized_end=29317
  _REDUCESUMSQUARELAYERPARAMS._serialized_start=29319
  _REDUCESUMSQUARELAYERPARAMS._serialized_end=29398
  _REDUCELOGSUMEXPLAYERPARAMS._serialized_start=29400
  _REDUCELOGSUMEXPLAYERPARAMS._serialized_end=29479
  _EXPANDDIMSLAYERPARAMS._serialized_start=29481
  _EXPANDDIMSLAYERPARAMS._serialized_end=29518
  _FLATTENTO2DLAYERPARAMS._serialized_start=29520
  _FLATTENTO2DLAYERPARAMS._serialized_end=29558
  _RESHAPESTATICLAYERPARAMS._serialized_start=29560
  _RESHAPESTATICLAYERPARAMS._serialized_end=29607
  _RESHAPELIKELAYERPARAMS._serialized_start=29609
  _RESHAPELIKELAYERPARAMS._serialized_end=29633
  _RESHAPEDYNAMICLAYERPARAMS._serialized_start=29635
  _RESHAPEDYNAMICLAYERPARAMS._serialized_end=29662
  _SQUEEZELAYERPARAMS._serialized_start=29664
  _SQUEEZELAYERPARAMS._serialized_end=29718
  _TOPKLAYERPARAMS._serialized_start=29720
  _TOPKLAYERPARAMS._serialized_end=29782
  _ARGMAXLAYERPARAMS._serialized_start=29784
  _ARGMAXLAYERPARAMS._serialized_end=29836
  _ARGMINLAYERPARAMS._serialized_start=29838
  _ARGMINLAYERPARAMS._serialized_end=29890
  _SPLITNDLAYERPARAMS._serialized_start=29892
  _SPLITNDLAYERPARAMS._serialized_end=29965
  _CEILLAYERPARAMS._serialized_start=29967
  _CEILLAYERPARAMS._serialized_end=29984
  _ROUNDLAYERPARAMS._serialized_start=29986
  _ROUNDLAYERPARAMS._serialized_end=30004
  _FLOORLAYERPARAMS._serialized_start=30006
  _FLOORLAYERPARAMS._serialized_end=30024
  _SIGNLAYERPARAMS._serialized_start=30026
  _SIGNLAYERPARAMS._serialized_end=30043
  _CLIPLAYERPARAMS._serialized_start=30045
  _CLIPLAYERPARAMS._serialized_end=30094
  _SLICESTATICLAYERPARAMS._serialized_start=30097
  _SLICESTATICLAYERPARAMS._serialized_end=30232
  _SLICEDYNAMICLAYERPARAMS._serialized_start=30234
  _SLICEDYNAMICLAYERPARAMS._serialized_end=30352
  _TILELAYERPARAMS._serialized_start=30354
  _TILELAYERPARAMS._serialized_end=30385
  _GETSHAPELAYERPARAMS._serialized_start=30387
  _GETSHAPELAYERPARAMS._serialized_end=30408
  _ERFLAYERPARAMS._serialized_start=30410
  _ERFLAYERPARAMS._serialized_end=30426
  _GELULAYERPARAMS._serialized_start=30429
  _GELULAYERPARAMS._serialized_end=30582
  _GELULAYERPARAMS_GELUMODE._serialized_start=30510
  _GELULAYERPARAMS_GELUMODE._serialized_end=30582
  _RANGESTATICLAYERPARAMS._serialized_start=30584
  _RANGESTATICLAYERPARAMS._serialized_end=30669
  _RANGEDYNAMICLAYERPARAMS._serialized_start=30671
  _RANGEDYNAMICLAYERPARAMS._serialized_end=30739
  _SLIDINGWINDOWSLAYERPARAMS._serialized_start=30741
  _SLIDINGWINDOWSLAYERPARAMS._serialized_end=30816
  _LAYERNORMALIZATIONLAYERPARAMS._serialized_start=30819
  _LAYERNORMALIZATIONLAYERPARAMS._serialized_end=30989
  _NONMAXIMUMSUPPRESSIONLAYERPARAMS._serialized_start=30991
  _NONMAXIMUMSUPPRESSIONLAYERPARAMS._serialized_end=31118
  _CLAMPEDRELULAYERPARAMS._serialized_start=31120
  _CLAMPEDRELULAYERPARAMS._serialized_end=31173
  _ARGSORTLAYERPARAMS._serialized_start=31175
  _ARGSORTLAYERPARAMS._serialized_end=31229
  _SLICEBYSIZELAYERPARAMS._serialized_start=31231
  _SLICEBYSIZELAYERPARAMS._serialized_end=31283
  _NEURALNETWORKCLASSIFIER._serialized_start=31286
  _NEURALNETWORKCLASSIFIER._serialized_end=31867
  _ONEHOTLAYERPARAMS._serialized_start=31869
  _ONEHOTLAYERPARAMS._serialized_end=31963
  _CUMSUMLAYERPARAMS._serialized_start=31965
  _CUMSUMLAYERPARAMS._serialized_end=32040
  _NEURALNETWORKREGRESSOR._serialized_start=32043
  _NEURALNETWORKREGRESSOR._serialized_end=32444
  _NETWORKUPDATEPARAMETERS._serialized_start=32447
  _NETWORKUPDATEPARAMETERS._serialized_end=32737
  _LOSSLAYER._serialized_start=32740
  _LOSSLAYER._serialized_end=32968
  _CATEGORICALCROSSENTROPYLOSSLAYER._serialized_start=32970
  _CATEGORICALCROSSENTROPYLOSSLAYER._serialized_end=33035
  _MEANSQUAREDERRORLOSSLAYER._serialized_start=33037
  _MEANSQUAREDERRORLOSSLAYER._serialized_end=33095
  _OPTIMIZER._serialized_start=33098
  _OPTIMIZER._serialized_end=33248
  _SGDOPTIMIZER._serialized_start=33251
  _SGDOPTIMIZER._serialized_end=33444
  _ADAMOPTIMIZER._serialized_start=33447
  _ADAMOPTIMIZER._serialized_end=33744
# @@protoc_insertion_point(module_scope)
