• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // automatically generated by the FlatBuffers compiler, do not modify
2 
3 
4 #ifndef FLATBUFFERS_GENERATED_MODELV0_MINDSPORE_SCHEMA_V0_H_
5 #define FLATBUFFERS_GENERATED_MODELV0_MINDSPORE_SCHEMA_V0_H_
6 
7 #include "flatbuffers/flatbuffers.h"
8 
9 #include "ops_v0_generated.h"
10 
11 namespace mindspore {
12 namespace schema {
13 namespace v0 {
14 
15 struct QuantParam;
16 struct QuantParamBuilder;
17 
18 struct Tensor;
19 struct TensorBuilder;
20 
21 struct Primitive;
22 struct PrimitiveBuilder;
23 
24 struct CNode;
25 struct CNodeBuilder;
26 
27 struct SubGraph;
28 struct SubGraphBuilder;
29 
30 struct MetaGraph;
31 struct MetaGraphBuilder;
32 
33 enum NodeType : int32_t {
34   NodeType_ValueNode = 0,
35   NodeType_Parameter = 1,
36   NodeType_CNode = 2,
37   NodeType_MIN = NodeType_ValueNode,
38   NodeType_MAX = NodeType_CNode
39 };
40 
EnumValuesNodeType()41 inline const NodeType (&EnumValuesNodeType())[3] {
42   static const NodeType values[] = {
43     NodeType_ValueNode,
44     NodeType_Parameter,
45     NodeType_CNode
46   };
47   return values;
48 }
49 
EnumNamesNodeType()50 inline const char * const *EnumNamesNodeType() {
51   static const char * const names[4] = {
52     "ValueNode",
53     "Parameter",
54     "CNode",
55     nullptr
56   };
57   return names;
58 }
59 
EnumNameNodeType(NodeType e)60 inline const char *EnumNameNodeType(NodeType e) {
61   if (flatbuffers::IsOutRange(e, NodeType_ValueNode, NodeType_CNode)) return "";
62   const size_t index = static_cast<size_t>(e);
63   return EnumNamesNodeType()[index];
64 }
65 
66 enum PrimitiveType : uint8_t {
67   PrimitiveType_NONE = 0,
68   PrimitiveType_Concat = 1,
69   PrimitiveType_SoftMax = 2,
70   PrimitiveType_Activation = 3,
71   PrimitiveType_Conv2D = 4,
72   PrimitiveType_FusedBatchNorm = 5,
73   PrimitiveType_BatchNorm = 6,
74   PrimitiveType_BiasAdd = 7,
75   PrimitiveType_Pooling = 8,
76   PrimitiveType_ROIPooling = 9,
77   PrimitiveType_DepthwiseConv2D = 10,
78   PrimitiveType_DeDepthwiseConv2D = 11,
79   PrimitiveType_Resize = 12,
80   PrimitiveType_DetectionPostProcess = 13,
81   PrimitiveType_FullConnection = 14,
82   PrimitiveType_Mean = 15,
83   PrimitiveType_DeConv2D = 16,
84   PrimitiveType_Scale = 17,
85   PrimitiveType_Reshape = 18,
86   PrimitiveType_Eltwise = 19,
87   PrimitiveType_NetOutput = 20,
88   PrimitiveType_Add = 21,
89   PrimitiveType_Sub = 22,
90   PrimitiveType_MatMul = 23,
91   PrimitiveType_StridedSlice = 24,
92   PrimitiveType_Power = 25,
93   PrimitiveType_Slice = 26,
94   PrimitiveType_Stack = 27,
95   PrimitiveType_Mul = 28,
96   PrimitiveType_RealDiv = 29,
97   PrimitiveType_Pad = 30,
98   PrimitiveType_Maximum = 31,
99   PrimitiveType_Minimum = 32,
100   PrimitiveType_PReLU = 33,
101   PrimitiveType_LeakyReLU = 34,
102   PrimitiveType_ArgMax = 35,
103   PrimitiveType_ArgMin = 36,
104   PrimitiveType_Exp = 37,
105   PrimitiveType_Crop = 38,
106   PrimitiveType_Range = 39,
107   PrimitiveType_Rsqrt = 40,
108   PrimitiveType_ExpandDims = 41,
109   PrimitiveType_Tile = 42,
110   PrimitiveType_Cast = 43,
111   PrimitiveType_Shape = 44,
112   PrimitiveType_Nchw2Nhwc = 45,
113   PrimitiveType_Nhwc2Nchw = 46,
114   PrimitiveType_QuantDTypeCast = 47,
115   PrimitiveType_Split = 48,
116   PrimitiveType_Permute = 49,
117   PrimitiveType_FakeQuantWithMinMaxVars = 50,
118   PrimitiveType_Equal = 51,
119   PrimitiveType_Less = 52,
120   PrimitiveType_Greater = 53,
121   PrimitiveType_NotEqual = 54,
122   PrimitiveType_LessEqual = 55,
123   PrimitiveType_GreaterEqual = 56,
124   PrimitiveType_Min = 57,
125   PrimitiveType_Floor = 58,
126   PrimitiveType_Abs = 59,
127   PrimitiveType_Neg = 60,
128   PrimitiveType_Cos = 61,
129   PrimitiveType_Sin = 62,
130   PrimitiveType_Sqrt = 63,
131   PrimitiveType_Square = 64,
132   PrimitiveType_Constant = 65,
133   PrimitiveType_Log = 66,
134   PrimitiveType_Tan = 67,
135   PrimitiveType_Atan = 68,
136   PrimitiveType_Asin = 69,
137   PrimitiveType_Clip = 70,
138   PrimitiveType_Transpose = 71,
139   PrimitiveType_Squeeze = 72,
140   PrimitiveType_Unsqueeze = 73,
141   PrimitiveType_Upsample = 74,
142   PrimitiveType_Dropout = 75,
143   PrimitiveType_Broadcast = 76,
144   PrimitiveType_BroadcastTo = 77,
145   PrimitiveType_Lrn = 78,
146   PrimitiveType_ZerosLike = 79,
147   PrimitiveType_TopK = 80,
148   PrimitiveType_SpaceToDepth = 81,
149   PrimitiveType_SpaceToBatch = 82,
150   PrimitiveType_SparseToDense = 83,
151   PrimitiveType_ReverseSequence = 84,
152   PrimitiveType_Rank = 85,
153   PrimitiveType_Gather = 86,
154   PrimitiveType_GatherNd = 87,
155   PrimitiveType_Fill = 88,
156   PrimitiveType_Elu = 89,
157   PrimitiveType_DepthToSpace = 90,
158   PrimitiveType_BatchToSpace = 91,
159   PrimitiveType_AddN = 92,
160   PrimitiveType_Ceil = 93,
161   PrimitiveType_EmbeddingLookup = 94,
162   PrimitiveType_EmbeddingLookupSparse = 95,
163   PrimitiveType_FloorDiv = 96,
164   PrimitiveType_FloorMod = 97,
165   PrimitiveType_L2Norm = 98,
166   PrimitiveType_LocalResponseNormalization = 99,
167   PrimitiveType_MatrixDiag = 100,
168   PrimitiveType_Reduce = 101,
169   PrimitiveType_Reverse = 102,
170   PrimitiveType_Round = 103,
171   PrimitiveType_Select = 104,
172   PrimitiveType_Scatter = 105,
173   PrimitiveType_ScatterND = 106,
174   PrimitiveType_ConstantOfShape = 107,
175   PrimitiveType_Unique = 108,
176   PrimitiveType_Unstack = 109,
177   PrimitiveType_LogicalAnd = 110,
178   PrimitiveType_LogicalOr = 111,
179   PrimitiveType_LogicalXor = 112,
180   PrimitiveType_LogicalNot = 113,
181   PrimitiveType_OnnxInt8Quantize = 114,
182   PrimitiveType_OnnxInt8Dequantize = 115,
183   PrimitiveType_FakeQuantWithMinMax = 116,
184   PrimitiveType_FakeQuantWithMinMaxPerChannel = 117,
185   PrimitiveType_BatchNormFold = 118,
186   PrimitiveType_MulFold = 119,
187   PrimitiveType_AddFold = 120,
188   PrimitiveType_SquaredDifference = 121,
189   PrimitiveType_Flatten = 122,
190   PrimitiveType_FlattenGrad = 123,
191   PrimitiveType_TupleGetItem = 124,
192   PrimitiveType_Div = 125,
193   PrimitiveType_Where = 126,
194   PrimitiveType_OneHot = 127,
195   PrimitiveType_Lstm = 128,
196   PrimitiveType_Conv2DGradFilter = 129,
197   PrimitiveType_Conv2DGradInput = 130,
198   PrimitiveType_PoolingGrad = 131,
199   PrimitiveType_BNGrad = 132,
200   PrimitiveType_Assign = 133,
201   PrimitiveType_ApplyMomentum = 134,
202   PrimitiveType_BiasGrad = 135,
203   PrimitiveType_SoftmaxCrossEntropy = 136,
204   PrimitiveType_AddGrad = 137,
205   PrimitiveType_SubGrad = 138,
206   PrimitiveType_MulGrad = 139,
207   PrimitiveType_DivGrad = 140,
208   PrimitiveType_PowerGrad = 141,
209   PrimitiveType_ActivationGrad = 142,
210   PrimitiveType_PriorBox = 143,
211   PrimitiveType_SpaceToBatchND = 144,
212   PrimitiveType_Depend = 145,
213   PrimitiveType_Return = 146,
214   PrimitiveType_MakeTuple = 147,
215   PrimitiveType_ToFormat = 148,
216   PrimitiveType_Proposal = 149,
217   PrimitiveType_Custom = 150,
218   PrimitiveType_BlackBox = 151,
219   PrimitiveType_NegGrad = 152,
220   PrimitiveType_LogGrad = 153,
221   PrimitiveType_BatchToSpaceND = 154,
222   PrimitiveType_LshProjection = 155,
223   PrimitiveType_HashtableLookup = 156,
224   PrimitiveType_SkipGram = 157,
225   PrimitiveType_DeConv2DGradFilter = 158,
226   PrimitiveType_CustomPredict = 159,
227   PrimitiveType_CustomNormalize = 160,
228   PrimitiveType_CustomExtractFeatures = 161,
229   PrimitiveType_AudioSpectrogram = 162,
230   PrimitiveType_Mfcc = 163,
231   PrimitiveType_Rfft = 164,
232   PrimitiveType_FftReal = 165,
233   PrimitiveType_FftImag = 166,
234   PrimitiveType_Sgd = 167,
235   PrimitiveType_Adam = 168,
236   PrimitiveType_GroupConv2DGradInput = 169,
237   PrimitiveType_Loop = 170,
238   PrimitiveType_NonMaxSuppression = 171,
239   PrimitiveType_InstanceNorm = 172,
240   PrimitiveType_Identity = 173,
241   PrimitiveType_LayerNorm = 174,
242   PrimitiveType_While = 175,
243   PrimitiveType_ControlDepend = 176,
244   PrimitiveType_UnsortedSegmentSum = 177,
245   PrimitiveType_AssignAdd = 178,
246   PrimitiveType_OnesLike = 179,
247   PrimitiveType_BinaryCrossEntropyGrad = 180,
248   PrimitiveType_BinaryCrossEntropy = 181,
249   PrimitiveType_LpNormalization = 182,
250   PrimitiveType_DropoutGrad = 183,
251   PrimitiveType_MaximumGrad = 184,
252   PrimitiveType_MinimumGrad = 185,
253   PrimitiveType_Switch = 186,
254   PrimitiveType_Partial = 187,
255   PrimitiveType_TensorListFromTensor = 188,
256   PrimitiveType_TensorListStack = 189,
257   PrimitiveType_TensorListGetItem = 190,
258   PrimitiveType_TensorListSetItem = 191,
259   PrimitiveType_TensorListReserve = 192,
260   PrimitiveType_All = 193,
261   PrimitiveType_Assert = 194,
262   PrimitiveType_Adder = 195,
263   PrimitiveType_SparseSoftmaxCrossEntropy = 196,
264   PrimitiveType_SmoothL1Loss = 197,
265   PrimitiveType_SmoothL1LossGrad = 198,
266   PrimitiveType_SigmoidCrossEntropyWithLogits = 199,
267   PrimitiveType_SigmoidCrossEntropyWithLogitsGrad = 200,
268   PrimitiveType_Reciprocal = 201,
269   PrimitiveType_Merge = 202,
270   PrimitiveType_Mod = 203,
271   PrimitiveType_GeLU = 204,
272   PrimitiveType_MIN = PrimitiveType_NONE,
273   PrimitiveType_MAX = PrimitiveType_GeLU
274 };
275 
EnumValuesPrimitiveType()276 inline const PrimitiveType (&EnumValuesPrimitiveType())[205] {
277   static const PrimitiveType values[] = {
278     PrimitiveType_NONE,
279     PrimitiveType_Concat,
280     PrimitiveType_SoftMax,
281     PrimitiveType_Activation,
282     PrimitiveType_Conv2D,
283     PrimitiveType_FusedBatchNorm,
284     PrimitiveType_BatchNorm,
285     PrimitiveType_BiasAdd,
286     PrimitiveType_Pooling,
287     PrimitiveType_ROIPooling,
288     PrimitiveType_DepthwiseConv2D,
289     PrimitiveType_DeDepthwiseConv2D,
290     PrimitiveType_Resize,
291     PrimitiveType_DetectionPostProcess,
292     PrimitiveType_FullConnection,
293     PrimitiveType_Mean,
294     PrimitiveType_DeConv2D,
295     PrimitiveType_Scale,
296     PrimitiveType_Reshape,
297     PrimitiveType_Eltwise,
298     PrimitiveType_NetOutput,
299     PrimitiveType_Add,
300     PrimitiveType_Sub,
301     PrimitiveType_MatMul,
302     PrimitiveType_StridedSlice,
303     PrimitiveType_Power,
304     PrimitiveType_Slice,
305     PrimitiveType_Stack,
306     PrimitiveType_Mul,
307     PrimitiveType_RealDiv,
308     PrimitiveType_Pad,
309     PrimitiveType_Maximum,
310     PrimitiveType_Minimum,
311     PrimitiveType_PReLU,
312     PrimitiveType_LeakyReLU,
313     PrimitiveType_ArgMax,
314     PrimitiveType_ArgMin,
315     PrimitiveType_Exp,
316     PrimitiveType_Crop,
317     PrimitiveType_Range,
318     PrimitiveType_Rsqrt,
319     PrimitiveType_ExpandDims,
320     PrimitiveType_Tile,
321     PrimitiveType_Cast,
322     PrimitiveType_Shape,
323     PrimitiveType_Nchw2Nhwc,
324     PrimitiveType_Nhwc2Nchw,
325     PrimitiveType_QuantDTypeCast,
326     PrimitiveType_Split,
327     PrimitiveType_Permute,
328     PrimitiveType_FakeQuantWithMinMaxVars,
329     PrimitiveType_Equal,
330     PrimitiveType_Less,
331     PrimitiveType_Greater,
332     PrimitiveType_NotEqual,
333     PrimitiveType_LessEqual,
334     PrimitiveType_GreaterEqual,
335     PrimitiveType_Min,
336     PrimitiveType_Floor,
337     PrimitiveType_Abs,
338     PrimitiveType_Neg,
339     PrimitiveType_Cos,
340     PrimitiveType_Sin,
341     PrimitiveType_Sqrt,
342     PrimitiveType_Square,
343     PrimitiveType_Constant,
344     PrimitiveType_Log,
345     PrimitiveType_Tan,
346     PrimitiveType_Atan,
347     PrimitiveType_Asin,
348     PrimitiveType_Clip,
349     PrimitiveType_Transpose,
350     PrimitiveType_Squeeze,
351     PrimitiveType_Unsqueeze,
352     PrimitiveType_Upsample,
353     PrimitiveType_Dropout,
354     PrimitiveType_Broadcast,
355     PrimitiveType_BroadcastTo,
356     PrimitiveType_Lrn,
357     PrimitiveType_ZerosLike,
358     PrimitiveType_TopK,
359     PrimitiveType_SpaceToDepth,
360     PrimitiveType_SpaceToBatch,
361     PrimitiveType_SparseToDense,
362     PrimitiveType_ReverseSequence,
363     PrimitiveType_Rank,
364     PrimitiveType_Gather,
365     PrimitiveType_GatherNd,
366     PrimitiveType_Fill,
367     PrimitiveType_Elu,
368     PrimitiveType_DepthToSpace,
369     PrimitiveType_BatchToSpace,
370     PrimitiveType_AddN,
371     PrimitiveType_Ceil,
372     PrimitiveType_EmbeddingLookup,
373     PrimitiveType_EmbeddingLookupSparse,
374     PrimitiveType_FloorDiv,
375     PrimitiveType_FloorMod,
376     PrimitiveType_L2Norm,
377     PrimitiveType_LocalResponseNormalization,
378     PrimitiveType_MatrixDiag,
379     PrimitiveType_Reduce,
380     PrimitiveType_Reverse,
381     PrimitiveType_Round,
382     PrimitiveType_Select,
383     PrimitiveType_Scatter,
384     PrimitiveType_ScatterND,
385     PrimitiveType_ConstantOfShape,
386     PrimitiveType_Unique,
387     PrimitiveType_Unstack,
388     PrimitiveType_LogicalAnd,
389     PrimitiveType_LogicalOr,
390     PrimitiveType_LogicalXor,
391     PrimitiveType_LogicalNot,
392     PrimitiveType_OnnxInt8Quantize,
393     PrimitiveType_OnnxInt8Dequantize,
394     PrimitiveType_FakeQuantWithMinMax,
395     PrimitiveType_FakeQuantWithMinMaxPerChannel,
396     PrimitiveType_BatchNormFold,
397     PrimitiveType_MulFold,
398     PrimitiveType_AddFold,
399     PrimitiveType_SquaredDifference,
400     PrimitiveType_Flatten,
401     PrimitiveType_FlattenGrad,
402     PrimitiveType_TupleGetItem,
403     PrimitiveType_Div,
404     PrimitiveType_Where,
405     PrimitiveType_OneHot,
406     PrimitiveType_Lstm,
407     PrimitiveType_Conv2DGradFilter,
408     PrimitiveType_Conv2DGradInput,
409     PrimitiveType_PoolingGrad,
410     PrimitiveType_BNGrad,
411     PrimitiveType_Assign,
412     PrimitiveType_ApplyMomentum,
413     PrimitiveType_BiasGrad,
414     PrimitiveType_SoftmaxCrossEntropy,
415     PrimitiveType_AddGrad,
416     PrimitiveType_SubGrad,
417     PrimitiveType_MulGrad,
418     PrimitiveType_DivGrad,
419     PrimitiveType_PowerGrad,
420     PrimitiveType_ActivationGrad,
421     PrimitiveType_PriorBox,
422     PrimitiveType_SpaceToBatchND,
423     PrimitiveType_Depend,
424     PrimitiveType_Return,
425     PrimitiveType_MakeTuple,
426     PrimitiveType_ToFormat,
427     PrimitiveType_Proposal,
428     PrimitiveType_Custom,
429     PrimitiveType_BlackBox,
430     PrimitiveType_NegGrad,
431     PrimitiveType_LogGrad,
432     PrimitiveType_BatchToSpaceND,
433     PrimitiveType_LshProjection,
434     PrimitiveType_HashtableLookup,
435     PrimitiveType_SkipGram,
436     PrimitiveType_DeConv2DGradFilter,
437     PrimitiveType_CustomPredict,
438     PrimitiveType_CustomNormalize,
439     PrimitiveType_CustomExtractFeatures,
440     PrimitiveType_AudioSpectrogram,
441     PrimitiveType_Mfcc,
442     PrimitiveType_Rfft,
443     PrimitiveType_FftReal,
444     PrimitiveType_FftImag,
445     PrimitiveType_Sgd,
446     PrimitiveType_Adam,
447     PrimitiveType_GroupConv2DGradInput,
448     PrimitiveType_Loop,
449     PrimitiveType_NonMaxSuppression,
450     PrimitiveType_InstanceNorm,
451     PrimitiveType_Identity,
452     PrimitiveType_LayerNorm,
453     PrimitiveType_While,
454     PrimitiveType_ControlDepend,
455     PrimitiveType_UnsortedSegmentSum,
456     PrimitiveType_AssignAdd,
457     PrimitiveType_OnesLike,
458     PrimitiveType_BinaryCrossEntropyGrad,
459     PrimitiveType_BinaryCrossEntropy,
460     PrimitiveType_LpNormalization,
461     PrimitiveType_DropoutGrad,
462     PrimitiveType_MaximumGrad,
463     PrimitiveType_MinimumGrad,
464     PrimitiveType_Switch,
465     PrimitiveType_Partial,
466     PrimitiveType_TensorListFromTensor,
467     PrimitiveType_TensorListStack,
468     PrimitiveType_TensorListGetItem,
469     PrimitiveType_TensorListSetItem,
470     PrimitiveType_TensorListReserve,
471     PrimitiveType_All,
472     PrimitiveType_Assert,
473     PrimitiveType_Adder,
474     PrimitiveType_SparseSoftmaxCrossEntropy,
475     PrimitiveType_SmoothL1Loss,
476     PrimitiveType_SmoothL1LossGrad,
477     PrimitiveType_SigmoidCrossEntropyWithLogits,
478     PrimitiveType_SigmoidCrossEntropyWithLogitsGrad,
479     PrimitiveType_Reciprocal,
480     PrimitiveType_Merge,
481     PrimitiveType_Mod,
482     PrimitiveType_GeLU
483   };
484   return values;
485 }
486 
EnumNamesPrimitiveType()487 inline const char * const *EnumNamesPrimitiveType() {
488   static const char * const names[206] = {
489     "NONE",
490     "Concat",
491     "SoftMax",
492     "Activation",
493     "Conv2D",
494     "FusedBatchNorm",
495     "BatchNorm",
496     "BiasAdd",
497     "Pooling",
498     "ROIPooling",
499     "DepthwiseConv2D",
500     "DeDepthwiseConv2D",
501     "Resize",
502     "DetectionPostProcess",
503     "FullConnection",
504     "Mean",
505     "DeConv2D",
506     "Scale",
507     "Reshape",
508     "Eltwise",
509     "NetOutput",
510     "Add",
511     "Sub",
512     "MatMul",
513     "StridedSlice",
514     "Power",
515     "Slice",
516     "Stack",
517     "Mul",
518     "RealDiv",
519     "Pad",
520     "Maximum",
521     "Minimum",
522     "PReLU",
523     "LeakyReLU",
524     "ArgMax",
525     "ArgMin",
526     "Exp",
527     "Crop",
528     "Range",
529     "Rsqrt",
530     "ExpandDims",
531     "Tile",
532     "Cast",
533     "Shape",
534     "Nchw2Nhwc",
535     "Nhwc2Nchw",
536     "QuantDTypeCast",
537     "Split",
538     "Permute",
539     "FakeQuantWithMinMaxVars",
540     "Equal",
541     "Less",
542     "Greater",
543     "NotEqual",
544     "LessEqual",
545     "GreaterEqual",
546     "Min",
547     "Floor",
548     "Abs",
549     "Neg",
550     "Cos",
551     "Sin",
552     "Sqrt",
553     "Square",
554     "Constant",
555     "Log",
556     "Tan",
557     "Atan",
558     "Asin",
559     "Clip",
560     "Transpose",
561     "Squeeze",
562     "Unsqueeze",
563     "Upsample",
564     "Dropout",
565     "Broadcast",
566     "BroadcastTo",
567     "Lrn",
568     "ZerosLike",
569     "TopK",
570     "SpaceToDepth",
571     "SpaceToBatch",
572     "SparseToDense",
573     "ReverseSequence",
574     "Rank",
575     "Gather",
576     "GatherNd",
577     "Fill",
578     "Elu",
579     "DepthToSpace",
580     "BatchToSpace",
581     "AddN",
582     "Ceil",
583     "EmbeddingLookup",
584     "EmbeddingLookupSparse",
585     "FloorDiv",
586     "FloorMod",
587     "L2Norm",
588     "LocalResponseNormalization",
589     "MatrixDiag",
590     "Reduce",
591     "Reverse",
592     "Round",
593     "Select",
594     "Scatter",
595     "ScatterND",
596     "ConstantOfShape",
597     "Unique",
598     "Unstack",
599     "LogicalAnd",
600     "LogicalOr",
601     "LogicalXor",
602     "LogicalNot",
603     "OnnxInt8Quantize",
604     "OnnxInt8Dequantize",
605     "FakeQuantWithMinMax",
606     "FakeQuantWithMinMaxPerChannel",
607     "BatchNormFold",
608     "MulFold",
609     "AddFold",
610     "SquaredDifference",
611     "Flatten",
612     "FlattenGrad",
613     "TupleGetItem",
614     "Div",
615     "Where",
616     "OneHot",
617     "Lstm",
618     "Conv2DGradFilter",
619     "Conv2DGradInput",
620     "PoolingGrad",
621     "BNGrad",
622     "Assign",
623     "ApplyMomentum",
624     "BiasGrad",
625     "SoftmaxCrossEntropy",
626     "AddGrad",
627     "SubGrad",
628     "MulGrad",
629     "DivGrad",
630     "PowerGrad",
631     "ActivationGrad",
632     "PriorBox",
633     "SpaceToBatchND",
634     "Depend",
635     "Return",
636     "MakeTuple",
637     "ToFormat",
638     "Proposal",
639     "Custom",
640     "BlackBox",
641     "NegGrad",
642     "LogGrad",
643     "BatchToSpaceND",
644     "LshProjection",
645     "HashtableLookup",
646     "SkipGram",
647     "DeConv2DGradFilter",
648     "CustomPredict",
649     "CustomNormalize",
650     "CustomExtractFeatures",
651     "AudioSpectrogram",
652     "Mfcc",
653     "Rfft",
654     "FftReal",
655     "FftImag",
656     "Sgd",
657     "Adam",
658     "GroupConv2DGradInput",
659     "Loop",
660     "NonMaxSuppression",
661     "InstanceNorm",
662     "Identity",
663     "LayerNorm",
664     "While",
665     "ControlDepend",
666     "UnsortedSegmentSum",
667     "AssignAdd",
668     "OnesLike",
669     "BinaryCrossEntropyGrad",
670     "BinaryCrossEntropy",
671     "LpNormalization",
672     "DropoutGrad",
673     "MaximumGrad",
674     "MinimumGrad",
675     "Switch",
676     "Partial",
677     "TensorListFromTensor",
678     "TensorListStack",
679     "TensorListGetItem",
680     "TensorListSetItem",
681     "TensorListReserve",
682     "All",
683     "Assert",
684     "Adder",
685     "SparseSoftmaxCrossEntropy",
686     "SmoothL1Loss",
687     "SmoothL1LossGrad",
688     "SigmoidCrossEntropyWithLogits",
689     "SigmoidCrossEntropyWithLogitsGrad",
690     "Reciprocal",
691     "Merge",
692     "Mod",
693     "GeLU",
694     nullptr
695   };
696   return names;
697 }
698 
EnumNamePrimitiveType(PrimitiveType e)699 inline const char *EnumNamePrimitiveType(PrimitiveType e) {
700   if (flatbuffers::IsOutRange(e, PrimitiveType_NONE, PrimitiveType_GeLU)) return "";
701   const size_t index = static_cast<size_t>(e);
702   return EnumNamesPrimitiveType()[index];
703 }
704 
705 template<typename T> struct PrimitiveTypeTraits {
706   static const PrimitiveType enum_value = PrimitiveType_NONE;
707 };
708 
709 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Concat> {
710   static const PrimitiveType enum_value = PrimitiveType_Concat;
711 };
712 
713 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::SoftMax> {
714   static const PrimitiveType enum_value = PrimitiveType_SoftMax;
715 };
716 
717 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Activation> {
718   static const PrimitiveType enum_value = PrimitiveType_Activation;
719 };
720 
721 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Conv2D> {
722   static const PrimitiveType enum_value = PrimitiveType_Conv2D;
723 };
724 
725 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::FusedBatchNorm> {
726   static const PrimitiveType enum_value = PrimitiveType_FusedBatchNorm;
727 };
728 
729 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::BatchNorm> {
730   static const PrimitiveType enum_value = PrimitiveType_BatchNorm;
731 };
732 
733 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::BiasAdd> {
734   static const PrimitiveType enum_value = PrimitiveType_BiasAdd;
735 };
736 
737 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Pooling> {
738   static const PrimitiveType enum_value = PrimitiveType_Pooling;
739 };
740 
741 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::ROIPooling> {
742   static const PrimitiveType enum_value = PrimitiveType_ROIPooling;
743 };
744 
745 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::DepthwiseConv2D> {
746   static const PrimitiveType enum_value = PrimitiveType_DepthwiseConv2D;
747 };
748 
749 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::DeDepthwiseConv2D> {
750   static const PrimitiveType enum_value = PrimitiveType_DeDepthwiseConv2D;
751 };
752 
753 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Resize> {
754   static const PrimitiveType enum_value = PrimitiveType_Resize;
755 };
756 
757 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::DetectionPostProcess> {
758   static const PrimitiveType enum_value = PrimitiveType_DetectionPostProcess;
759 };
760 
761 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::FullConnection> {
762   static const PrimitiveType enum_value = PrimitiveType_FullConnection;
763 };
764 
765 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Mean> {
766   static const PrimitiveType enum_value = PrimitiveType_Mean;
767 };
768 
769 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::DeConv2D> {
770   static const PrimitiveType enum_value = PrimitiveType_DeConv2D;
771 };
772 
773 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Scale> {
774   static const PrimitiveType enum_value = PrimitiveType_Scale;
775 };
776 
777 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Reshape> {
778   static const PrimitiveType enum_value = PrimitiveType_Reshape;
779 };
780 
781 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Eltwise> {
782   static const PrimitiveType enum_value = PrimitiveType_Eltwise;
783 };
784 
785 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::NetOutput> {
786   static const PrimitiveType enum_value = PrimitiveType_NetOutput;
787 };
788 
789 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Add> {
790   static const PrimitiveType enum_value = PrimitiveType_Add;
791 };
792 
793 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Sub> {
794   static const PrimitiveType enum_value = PrimitiveType_Sub;
795 };
796 
797 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::MatMul> {
798   static const PrimitiveType enum_value = PrimitiveType_MatMul;
799 };
800 
801 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::StridedSlice> {
802   static const PrimitiveType enum_value = PrimitiveType_StridedSlice;
803 };
804 
805 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Power> {
806   static const PrimitiveType enum_value = PrimitiveType_Power;
807 };
808 
809 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Slice> {
810   static const PrimitiveType enum_value = PrimitiveType_Slice;
811 };
812 
813 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Stack> {
814   static const PrimitiveType enum_value = PrimitiveType_Stack;
815 };
816 
817 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Mul> {
818   static const PrimitiveType enum_value = PrimitiveType_Mul;
819 };
820 
821 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::RealDiv> {
822   static const PrimitiveType enum_value = PrimitiveType_RealDiv;
823 };
824 
825 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Pad> {
826   static const PrimitiveType enum_value = PrimitiveType_Pad;
827 };
828 
829 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Maximum> {
830   static const PrimitiveType enum_value = PrimitiveType_Maximum;
831 };
832 
833 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Minimum> {
834   static const PrimitiveType enum_value = PrimitiveType_Minimum;
835 };
836 
837 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::PReLU> {
838   static const PrimitiveType enum_value = PrimitiveType_PReLU;
839 };
840 
841 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::LeakyReLU> {
842   static const PrimitiveType enum_value = PrimitiveType_LeakyReLU;
843 };
844 
845 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::ArgMax> {
846   static const PrimitiveType enum_value = PrimitiveType_ArgMax;
847 };
848 
849 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::ArgMin> {
850   static const PrimitiveType enum_value = PrimitiveType_ArgMin;
851 };
852 
853 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Exp> {
854   static const PrimitiveType enum_value = PrimitiveType_Exp;
855 };
856 
857 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Crop> {
858   static const PrimitiveType enum_value = PrimitiveType_Crop;
859 };
860 
861 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Range> {
862   static const PrimitiveType enum_value = PrimitiveType_Range;
863 };
864 
865 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Rsqrt> {
866   static const PrimitiveType enum_value = PrimitiveType_Rsqrt;
867 };
868 
869 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::ExpandDims> {
870   static const PrimitiveType enum_value = PrimitiveType_ExpandDims;
871 };
872 
873 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Tile> {
874   static const PrimitiveType enum_value = PrimitiveType_Tile;
875 };
876 
877 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Cast> {
878   static const PrimitiveType enum_value = PrimitiveType_Cast;
879 };
880 
881 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Shape> {
882   static const PrimitiveType enum_value = PrimitiveType_Shape;
883 };
884 
885 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Nchw2Nhwc> {
886   static const PrimitiveType enum_value = PrimitiveType_Nchw2Nhwc;
887 };
888 
889 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Nhwc2Nchw> {
890   static const PrimitiveType enum_value = PrimitiveType_Nhwc2Nchw;
891 };
892 
893 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::QuantDTypeCast> {
894   static const PrimitiveType enum_value = PrimitiveType_QuantDTypeCast;
895 };
896 
897 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Split> {
898   static const PrimitiveType enum_value = PrimitiveType_Split;
899 };
900 
901 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Permute> {
902   static const PrimitiveType enum_value = PrimitiveType_Permute;
903 };
904 
905 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::FakeQuantWithMinMaxVars> {
906   static const PrimitiveType enum_value = PrimitiveType_FakeQuantWithMinMaxVars;
907 };
908 
909 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Equal> {
910   static const PrimitiveType enum_value = PrimitiveType_Equal;
911 };
912 
913 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Less> {
914   static const PrimitiveType enum_value = PrimitiveType_Less;
915 };
916 
917 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Greater> {
918   static const PrimitiveType enum_value = PrimitiveType_Greater;
919 };
920 
921 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::NotEqual> {
922   static const PrimitiveType enum_value = PrimitiveType_NotEqual;
923 };
924 
925 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::LessEqual> {
926   static const PrimitiveType enum_value = PrimitiveType_LessEqual;
927 };
928 
929 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::GreaterEqual> {
930   static const PrimitiveType enum_value = PrimitiveType_GreaterEqual;
931 };
932 
933 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Min> {
934   static const PrimitiveType enum_value = PrimitiveType_Min;
935 };
936 
937 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Floor> {
938   static const PrimitiveType enum_value = PrimitiveType_Floor;
939 };
940 
941 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Abs> {
942   static const PrimitiveType enum_value = PrimitiveType_Abs;
943 };
944 
945 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Neg> {
946   static const PrimitiveType enum_value = PrimitiveType_Neg;
947 };
948 
949 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Cos> {
950   static const PrimitiveType enum_value = PrimitiveType_Cos;
951 };
952 
953 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Sin> {
954   static const PrimitiveType enum_value = PrimitiveType_Sin;
955 };
956 
957 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Sqrt> {
958   static const PrimitiveType enum_value = PrimitiveType_Sqrt;
959 };
960 
961 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Square> {
962   static const PrimitiveType enum_value = PrimitiveType_Square;
963 };
964 
965 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Constant> {
966   static const PrimitiveType enum_value = PrimitiveType_Constant;
967 };
968 
969 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Log> {
970   static const PrimitiveType enum_value = PrimitiveType_Log;
971 };
972 
973 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Tan> {
974   static const PrimitiveType enum_value = PrimitiveType_Tan;
975 };
976 
977 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Atan> {
978   static const PrimitiveType enum_value = PrimitiveType_Atan;
979 };
980 
981 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Asin> {
982   static const PrimitiveType enum_value = PrimitiveType_Asin;
983 };
984 
985 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Clip> {
986   static const PrimitiveType enum_value = PrimitiveType_Clip;
987 };
988 
989 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Transpose> {
990   static const PrimitiveType enum_value = PrimitiveType_Transpose;
991 };
992 
993 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Squeeze> {
994   static const PrimitiveType enum_value = PrimitiveType_Squeeze;
995 };
996 
997 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Unsqueeze> {
998   static const PrimitiveType enum_value = PrimitiveType_Unsqueeze;
999 };
1000 
1001 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Upsample> {
1002   static const PrimitiveType enum_value = PrimitiveType_Upsample;
1003 };
1004 
1005 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Dropout> {
1006   static const PrimitiveType enum_value = PrimitiveType_Dropout;
1007 };
1008 
1009 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Broadcast> {
1010   static const PrimitiveType enum_value = PrimitiveType_Broadcast;
1011 };
1012 
1013 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::BroadcastTo> {
1014   static const PrimitiveType enum_value = PrimitiveType_BroadcastTo;
1015 };
1016 
1017 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Lrn> {
1018   static const PrimitiveType enum_value = PrimitiveType_Lrn;
1019 };
1020 
1021 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::ZerosLike> {
1022   static const PrimitiveType enum_value = PrimitiveType_ZerosLike;
1023 };
1024 
1025 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::TopK> {
1026   static const PrimitiveType enum_value = PrimitiveType_TopK;
1027 };
1028 
1029 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::SpaceToDepth> {
1030   static const PrimitiveType enum_value = PrimitiveType_SpaceToDepth;
1031 };
1032 
1033 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::SpaceToBatch> {
1034   static const PrimitiveType enum_value = PrimitiveType_SpaceToBatch;
1035 };
1036 
1037 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::SparseToDense> {
1038   static const PrimitiveType enum_value = PrimitiveType_SparseToDense;
1039 };
1040 
1041 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::ReverseSequence> {
1042   static const PrimitiveType enum_value = PrimitiveType_ReverseSequence;
1043 };
1044 
1045 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Rank> {
1046   static const PrimitiveType enum_value = PrimitiveType_Rank;
1047 };
1048 
1049 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Gather> {
1050   static const PrimitiveType enum_value = PrimitiveType_Gather;
1051 };
1052 
1053 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::GatherNd> {
1054   static const PrimitiveType enum_value = PrimitiveType_GatherNd;
1055 };
1056 
1057 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Fill> {
1058   static const PrimitiveType enum_value = PrimitiveType_Fill;
1059 };
1060 
1061 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Elu> {
1062   static const PrimitiveType enum_value = PrimitiveType_Elu;
1063 };
1064 
1065 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::DepthToSpace> {
1066   static const PrimitiveType enum_value = PrimitiveType_DepthToSpace;
1067 };
1068 
1069 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::BatchToSpace> {
1070   static const PrimitiveType enum_value = PrimitiveType_BatchToSpace;
1071 };
1072 
1073 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::AddN> {
1074   static const PrimitiveType enum_value = PrimitiveType_AddN;
1075 };
1076 
1077 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Ceil> {
1078   static const PrimitiveType enum_value = PrimitiveType_Ceil;
1079 };
1080 
1081 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::EmbeddingLookup> {
1082   static const PrimitiveType enum_value = PrimitiveType_EmbeddingLookup;
1083 };
1084 
1085 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::EmbeddingLookupSparse> {
1086   static const PrimitiveType enum_value = PrimitiveType_EmbeddingLookupSparse;
1087 };
1088 
1089 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::FloorDiv> {
1090   static const PrimitiveType enum_value = PrimitiveType_FloorDiv;
1091 };
1092 
1093 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::FloorMod> {
1094   static const PrimitiveType enum_value = PrimitiveType_FloorMod;
1095 };
1096 
1097 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::L2Norm> {
1098   static const PrimitiveType enum_value = PrimitiveType_L2Norm;
1099 };
1100 
1101 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::LocalResponseNormalization> {
1102   static const PrimitiveType enum_value = PrimitiveType_LocalResponseNormalization;
1103 };
1104 
1105 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::MatrixDiag> {
1106   static const PrimitiveType enum_value = PrimitiveType_MatrixDiag;
1107 };
1108 
1109 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Reduce> {
1110   static const PrimitiveType enum_value = PrimitiveType_Reduce;
1111 };
1112 
1113 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Reverse> {
1114   static const PrimitiveType enum_value = PrimitiveType_Reverse;
1115 };
1116 
1117 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Round> {
1118   static const PrimitiveType enum_value = PrimitiveType_Round;
1119 };
1120 
1121 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Select> {
1122   static const PrimitiveType enum_value = PrimitiveType_Select;
1123 };
1124 
1125 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Scatter> {
1126   static const PrimitiveType enum_value = PrimitiveType_Scatter;
1127 };
1128 
1129 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::ScatterND> {
1130   static const PrimitiveType enum_value = PrimitiveType_ScatterND;
1131 };
1132 
1133 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::ConstantOfShape> {
1134   static const PrimitiveType enum_value = PrimitiveType_ConstantOfShape;
1135 };
1136 
1137 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Unique> {
1138   static const PrimitiveType enum_value = PrimitiveType_Unique;
1139 };
1140 
1141 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Unstack> {
1142   static const PrimitiveType enum_value = PrimitiveType_Unstack;
1143 };
1144 
1145 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::LogicalAnd> {
1146   static const PrimitiveType enum_value = PrimitiveType_LogicalAnd;
1147 };
1148 
1149 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::LogicalOr> {
1150   static const PrimitiveType enum_value = PrimitiveType_LogicalOr;
1151 };
1152 
1153 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::LogicalXor> {
1154   static const PrimitiveType enum_value = PrimitiveType_LogicalXor;
1155 };
1156 
1157 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::LogicalNot> {
1158   static const PrimitiveType enum_value = PrimitiveType_LogicalNot;
1159 };
1160 
1161 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::OnnxInt8Quantize> {
1162   static const PrimitiveType enum_value = PrimitiveType_OnnxInt8Quantize;
1163 };
1164 
1165 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::OnnxInt8Dequantize> {
1166   static const PrimitiveType enum_value = PrimitiveType_OnnxInt8Dequantize;
1167 };
1168 
1169 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::FakeQuantWithMinMax> {
1170   static const PrimitiveType enum_value = PrimitiveType_FakeQuantWithMinMax;
1171 };
1172 
1173 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::FakeQuantWithMinMaxPerChannel> {
1174   static const PrimitiveType enum_value = PrimitiveType_FakeQuantWithMinMaxPerChannel;
1175 };
1176 
1177 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::BatchNormFold> {
1178   static const PrimitiveType enum_value = PrimitiveType_BatchNormFold;
1179 };
1180 
1181 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::MulFold> {
1182   static const PrimitiveType enum_value = PrimitiveType_MulFold;
1183 };
1184 
1185 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::AddFold> {
1186   static const PrimitiveType enum_value = PrimitiveType_AddFold;
1187 };
1188 
1189 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::SquaredDifference> {
1190   static const PrimitiveType enum_value = PrimitiveType_SquaredDifference;
1191 };
1192 
1193 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Flatten> {
1194   static const PrimitiveType enum_value = PrimitiveType_Flatten;
1195 };
1196 
1197 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::FlattenGrad> {
1198   static const PrimitiveType enum_value = PrimitiveType_FlattenGrad;
1199 };
1200 
1201 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::TupleGetItem> {
1202   static const PrimitiveType enum_value = PrimitiveType_TupleGetItem;
1203 };
1204 
1205 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Div> {
1206   static const PrimitiveType enum_value = PrimitiveType_Div;
1207 };
1208 
1209 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Where> {
1210   static const PrimitiveType enum_value = PrimitiveType_Where;
1211 };
1212 
1213 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::OneHot> {
1214   static const PrimitiveType enum_value = PrimitiveType_OneHot;
1215 };
1216 
1217 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Lstm> {
1218   static const PrimitiveType enum_value = PrimitiveType_Lstm;
1219 };
1220 
1221 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Conv2DGradFilter> {
1222   static const PrimitiveType enum_value = PrimitiveType_Conv2DGradFilter;
1223 };
1224 
1225 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Conv2DGradInput> {
1226   static const PrimitiveType enum_value = PrimitiveType_Conv2DGradInput;
1227 };
1228 
1229 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::PoolingGrad> {
1230   static const PrimitiveType enum_value = PrimitiveType_PoolingGrad;
1231 };
1232 
1233 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::BNGrad> {
1234   static const PrimitiveType enum_value = PrimitiveType_BNGrad;
1235 };
1236 
1237 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Assign> {
1238   static const PrimitiveType enum_value = PrimitiveType_Assign;
1239 };
1240 
1241 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::ApplyMomentum> {
1242   static const PrimitiveType enum_value = PrimitiveType_ApplyMomentum;
1243 };
1244 
1245 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::BiasGrad> {
1246   static const PrimitiveType enum_value = PrimitiveType_BiasGrad;
1247 };
1248 
1249 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::SoftmaxCrossEntropy> {
1250   static const PrimitiveType enum_value = PrimitiveType_SoftmaxCrossEntropy;
1251 };
1252 
1253 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::AddGrad> {
1254   static const PrimitiveType enum_value = PrimitiveType_AddGrad;
1255 };
1256 
1257 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::SubGrad> {
1258   static const PrimitiveType enum_value = PrimitiveType_SubGrad;
1259 };
1260 
1261 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::MulGrad> {
1262   static const PrimitiveType enum_value = PrimitiveType_MulGrad;
1263 };
1264 
1265 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::DivGrad> {
1266   static const PrimitiveType enum_value = PrimitiveType_DivGrad;
1267 };
1268 
1269 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::PowerGrad> {
1270   static const PrimitiveType enum_value = PrimitiveType_PowerGrad;
1271 };
1272 
1273 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::ActivationGrad> {
1274   static const PrimitiveType enum_value = PrimitiveType_ActivationGrad;
1275 };
1276 
1277 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::PriorBox> {
1278   static const PrimitiveType enum_value = PrimitiveType_PriorBox;
1279 };
1280 
1281 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::SpaceToBatchND> {
1282   static const PrimitiveType enum_value = PrimitiveType_SpaceToBatchND;
1283 };
1284 
1285 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Depend> {
1286   static const PrimitiveType enum_value = PrimitiveType_Depend;
1287 };
1288 
1289 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Return> {
1290   static const PrimitiveType enum_value = PrimitiveType_Return;
1291 };
1292 
1293 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::MakeTuple> {
1294   static const PrimitiveType enum_value = PrimitiveType_MakeTuple;
1295 };
1296 
1297 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::ToFormat> {
1298   static const PrimitiveType enum_value = PrimitiveType_ToFormat;
1299 };
1300 
1301 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Proposal> {
1302   static const PrimitiveType enum_value = PrimitiveType_Proposal;
1303 };
1304 
1305 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Custom> {
1306   static const PrimitiveType enum_value = PrimitiveType_Custom;
1307 };
1308 
1309 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::BlackBox> {
1310   static const PrimitiveType enum_value = PrimitiveType_BlackBox;
1311 };
1312 
1313 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::NegGrad> {
1314   static const PrimitiveType enum_value = PrimitiveType_NegGrad;
1315 };
1316 
1317 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::LogGrad> {
1318   static const PrimitiveType enum_value = PrimitiveType_LogGrad;
1319 };
1320 
1321 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::BatchToSpaceND> {
1322   static const PrimitiveType enum_value = PrimitiveType_BatchToSpaceND;
1323 };
1324 
1325 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::LshProjection> {
1326   static const PrimitiveType enum_value = PrimitiveType_LshProjection;
1327 };
1328 
1329 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::HashtableLookup> {
1330   static const PrimitiveType enum_value = PrimitiveType_HashtableLookup;
1331 };
1332 
1333 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::SkipGram> {
1334   static const PrimitiveType enum_value = PrimitiveType_SkipGram;
1335 };
1336 
1337 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::DeConv2DGradFilter> {
1338   static const PrimitiveType enum_value = PrimitiveType_DeConv2DGradFilter;
1339 };
1340 
1341 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::CustomPredict> {
1342   static const PrimitiveType enum_value = PrimitiveType_CustomPredict;
1343 };
1344 
1345 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::CustomNormalize> {
1346   static const PrimitiveType enum_value = PrimitiveType_CustomNormalize;
1347 };
1348 
1349 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::CustomExtractFeatures> {
1350   static const PrimitiveType enum_value = PrimitiveType_CustomExtractFeatures;
1351 };
1352 
1353 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::AudioSpectrogram> {
1354   static const PrimitiveType enum_value = PrimitiveType_AudioSpectrogram;
1355 };
1356 
1357 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Mfcc> {
1358   static const PrimitiveType enum_value = PrimitiveType_Mfcc;
1359 };
1360 
1361 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Rfft> {
1362   static const PrimitiveType enum_value = PrimitiveType_Rfft;
1363 };
1364 
1365 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::FftReal> {
1366   static const PrimitiveType enum_value = PrimitiveType_FftReal;
1367 };
1368 
1369 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::FftImag> {
1370   static const PrimitiveType enum_value = PrimitiveType_FftImag;
1371 };
1372 
1373 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Sgd> {
1374   static const PrimitiveType enum_value = PrimitiveType_Sgd;
1375 };
1376 
1377 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Adam> {
1378   static const PrimitiveType enum_value = PrimitiveType_Adam;
1379 };
1380 
1381 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::GroupConv2DGradInput> {
1382   static const PrimitiveType enum_value = PrimitiveType_GroupConv2DGradInput;
1383 };
1384 
1385 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Loop> {
1386   static const PrimitiveType enum_value = PrimitiveType_Loop;
1387 };
1388 
1389 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::NonMaxSuppression> {
1390   static const PrimitiveType enum_value = PrimitiveType_NonMaxSuppression;
1391 };
1392 
1393 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::InstanceNorm> {
1394   static const PrimitiveType enum_value = PrimitiveType_InstanceNorm;
1395 };
1396 
1397 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Identity> {
1398   static const PrimitiveType enum_value = PrimitiveType_Identity;
1399 };
1400 
1401 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::LayerNorm> {
1402   static const PrimitiveType enum_value = PrimitiveType_LayerNorm;
1403 };
1404 
1405 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::While> {
1406   static const PrimitiveType enum_value = PrimitiveType_While;
1407 };
1408 
1409 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::ControlDepend> {
1410   static const PrimitiveType enum_value = PrimitiveType_ControlDepend;
1411 };
1412 
1413 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::UnsortedSegmentSum> {
1414   static const PrimitiveType enum_value = PrimitiveType_UnsortedSegmentSum;
1415 };
1416 
1417 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::AssignAdd> {
1418   static const PrimitiveType enum_value = PrimitiveType_AssignAdd;
1419 };
1420 
1421 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::OnesLike> {
1422   static const PrimitiveType enum_value = PrimitiveType_OnesLike;
1423 };
1424 
1425 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::BinaryCrossEntropyGrad> {
1426   static const PrimitiveType enum_value = PrimitiveType_BinaryCrossEntropyGrad;
1427 };
1428 
1429 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::BinaryCrossEntropy> {
1430   static const PrimitiveType enum_value = PrimitiveType_BinaryCrossEntropy;
1431 };
1432 
1433 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::LpNormalization> {
1434   static const PrimitiveType enum_value = PrimitiveType_LpNormalization;
1435 };
1436 
1437 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::DropoutGrad> {
1438   static const PrimitiveType enum_value = PrimitiveType_DropoutGrad;
1439 };
1440 
1441 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::MaximumGrad> {
1442   static const PrimitiveType enum_value = PrimitiveType_MaximumGrad;
1443 };
1444 
1445 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::MinimumGrad> {
1446   static const PrimitiveType enum_value = PrimitiveType_MinimumGrad;
1447 };
1448 
1449 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Switch> {
1450   static const PrimitiveType enum_value = PrimitiveType_Switch;
1451 };
1452 
1453 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Partial> {
1454   static const PrimitiveType enum_value = PrimitiveType_Partial;
1455 };
1456 
1457 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::TensorListFromTensor> {
1458   static const PrimitiveType enum_value = PrimitiveType_TensorListFromTensor;
1459 };
1460 
1461 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::TensorListStack> {
1462   static const PrimitiveType enum_value = PrimitiveType_TensorListStack;
1463 };
1464 
1465 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::TensorListGetItem> {
1466   static const PrimitiveType enum_value = PrimitiveType_TensorListGetItem;
1467 };
1468 
1469 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::TensorListSetItem> {
1470   static const PrimitiveType enum_value = PrimitiveType_TensorListSetItem;
1471 };
1472 
1473 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::TensorListReserve> {
1474   static const PrimitiveType enum_value = PrimitiveType_TensorListReserve;
1475 };
1476 
1477 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::All> {
1478   static const PrimitiveType enum_value = PrimitiveType_All;
1479 };
1480 
1481 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Assert> {
1482   static const PrimitiveType enum_value = PrimitiveType_Assert;
1483 };
1484 
1485 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Adder> {
1486   static const PrimitiveType enum_value = PrimitiveType_Adder;
1487 };
1488 
1489 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::SparseSoftmaxCrossEntropy> {
1490   static const PrimitiveType enum_value = PrimitiveType_SparseSoftmaxCrossEntropy;
1491 };
1492 
1493 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::SmoothL1Loss> {
1494   static const PrimitiveType enum_value = PrimitiveType_SmoothL1Loss;
1495 };
1496 
1497 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::SmoothL1LossGrad> {
1498   static const PrimitiveType enum_value = PrimitiveType_SmoothL1LossGrad;
1499 };
1500 
1501 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::SigmoidCrossEntropyWithLogits> {
1502   static const PrimitiveType enum_value = PrimitiveType_SigmoidCrossEntropyWithLogits;
1503 };
1504 
1505 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::SigmoidCrossEntropyWithLogitsGrad> {
1506   static const PrimitiveType enum_value = PrimitiveType_SigmoidCrossEntropyWithLogitsGrad;
1507 };
1508 
1509 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Reciprocal> {
1510   static const PrimitiveType enum_value = PrimitiveType_Reciprocal;
1511 };
1512 
1513 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Merge> {
1514   static const PrimitiveType enum_value = PrimitiveType_Merge;
1515 };
1516 
1517 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::Mod> {
1518   static const PrimitiveType enum_value = PrimitiveType_Mod;
1519 };
1520 
1521 template<> struct PrimitiveTypeTraits<mindspore::schema::v0::GeLU> {
1522   static const PrimitiveType enum_value = PrimitiveType_GeLU;
1523 };
1524 
1525 bool VerifyPrimitiveType(flatbuffers::Verifier &verifier, const void *obj, PrimitiveType type);
1526 bool VerifyPrimitiveTypeVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types);
1527 
1528 enum QuantType : int32_t {
1529   QuantType_QUANT_NONE = 0,
1530   QuantType_AwareTraining = 1,
1531   QuantType_WeightQuant = 2,
1532   QuantType_PostTraining = 3,
1533   QuantType_MIN = QuantType_QUANT_NONE,
1534   QuantType_MAX = QuantType_PostTraining
1535 };
1536 
1537 inline const QuantType (&EnumValuesQuantType())[4] {
1538   static const QuantType values[] = {
1539     QuantType_QUANT_NONE,
1540     QuantType_AwareTraining,
1541     QuantType_WeightQuant,
1542     QuantType_PostTraining
1543   };
1544   return values;
1545 }
1546 
1547 inline const char * const *EnumNamesQuantType() {
1548   static const char * const names[5] = {
1549     "QUANT_NONE",
1550     "AwareTraining",
1551     "WeightQuant",
1552     "PostTraining",
1553     nullptr
1554   };
1555   return names;
1556 }
1557 
1558 inline const char *EnumNameQuantType(QuantType e) {
1559   if (flatbuffers::IsOutRange(e, QuantType_QUANT_NONE, QuantType_PostTraining)) return "";
1560   const size_t index = static_cast<size_t>(e);
1561   return EnumNamesQuantType()[index];
1562 }
1563 
1564 struct QuantParam FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1565   typedef QuantParamBuilder Builder;
1566   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1567     VT_SCALE = 4,
1568     VT_ZEROPOINT = 6,
1569     VT_MIN = 8,
1570     VT_MAX = 10,
1571     VT_NARROWRANGE = 12,
1572     VT_NUMBITS = 14,
1573     VT_INITED = 16,
1574     VT_VARCORR = 18,
1575     VT_MEANCORR = 20,
1576     VT_DSTDTYPE = 22,
1577     VT_ROUNDTYPE = 24,
1578     VT_MULTIPLIER = 26
1579   };
1580   double scale() const {
1581     return GetField<double>(VT_SCALE, 0.0);
1582   }
1583   int32_t zeroPoint() const {
1584     return GetField<int32_t>(VT_ZEROPOINT, 0);
1585   }
1586   double min() const {
1587     return GetField<double>(VT_MIN, 0.0);
1588   }
1589   double max() const {
1590     return GetField<double>(VT_MAX, 0.0);
1591   }
1592   bool narrowRange() const {
1593     return GetField<uint8_t>(VT_NARROWRANGE, 1) != 0;
1594   }
1595   int32_t numBits() const {
1596     return GetField<int32_t>(VT_NUMBITS, 8);
1597   }
1598   bool inited() const {
1599     return GetField<uint8_t>(VT_INITED, 0) != 0;
1600   }
1601   float varCorr() const {
1602     return GetField<float>(VT_VARCORR, 1.0f);
1603   }
1604   float meanCorr() const {
1605     return GetField<float>(VT_MEANCORR, 0.0f);
1606   }
1607   int32_t dstDtype() const {
1608     return GetField<int32_t>(VT_DSTDTYPE, 32);
1609   }
1610   int32_t roundType() const {
1611     return GetField<int32_t>(VT_ROUNDTYPE, 1);
1612   }
1613   int32_t multiplier() const {
1614     return GetField<int32_t>(VT_MULTIPLIER, 1);
1615   }
1616   bool Verify(flatbuffers::Verifier &verifier) const {
1617     return VerifyTableStart(verifier) &&
1618            VerifyField<double>(verifier, VT_SCALE) &&
1619            VerifyField<int32_t>(verifier, VT_ZEROPOINT) &&
1620            VerifyField<double>(verifier, VT_MIN) &&
1621            VerifyField<double>(verifier, VT_MAX) &&
1622            VerifyField<uint8_t>(verifier, VT_NARROWRANGE) &&
1623            VerifyField<int32_t>(verifier, VT_NUMBITS) &&
1624            VerifyField<uint8_t>(verifier, VT_INITED) &&
1625            VerifyField<float>(verifier, VT_VARCORR) &&
1626            VerifyField<float>(verifier, VT_MEANCORR) &&
1627            VerifyField<int32_t>(verifier, VT_DSTDTYPE) &&
1628            VerifyField<int32_t>(verifier, VT_ROUNDTYPE) &&
1629            VerifyField<int32_t>(verifier, VT_MULTIPLIER) &&
1630            verifier.EndTable();
1631   }
1632 };
1633 
1634 struct QuantParamBuilder {
1635   typedef QuantParam Table;
1636   flatbuffers::FlatBufferBuilder &fbb_;
1637   flatbuffers::uoffset_t start_;
1638   void add_scale(double scale) {
1639     fbb_.AddElement<double>(QuantParam::VT_SCALE, scale, 0.0);
1640   }
1641   void add_zeroPoint(int32_t zeroPoint) {
1642     fbb_.AddElement<int32_t>(QuantParam::VT_ZEROPOINT, zeroPoint, 0);
1643   }
1644   void add_min(double min) {
1645     fbb_.AddElement<double>(QuantParam::VT_MIN, min, 0.0);
1646   }
1647   void add_max(double max) {
1648     fbb_.AddElement<double>(QuantParam::VT_MAX, max, 0.0);
1649   }
1650   void add_narrowRange(bool narrowRange) {
1651     fbb_.AddElement<uint8_t>(QuantParam::VT_NARROWRANGE, static_cast<uint8_t>(narrowRange), 1);
1652   }
1653   void add_numBits(int32_t numBits) {
1654     fbb_.AddElement<int32_t>(QuantParam::VT_NUMBITS, numBits, 8);
1655   }
1656   void add_inited(bool inited) {
1657     fbb_.AddElement<uint8_t>(QuantParam::VT_INITED, static_cast<uint8_t>(inited), 0);
1658   }
1659   void add_varCorr(float varCorr) {
1660     fbb_.AddElement<float>(QuantParam::VT_VARCORR, varCorr, 1.0f);
1661   }
1662   void add_meanCorr(float meanCorr) {
1663     fbb_.AddElement<float>(QuantParam::VT_MEANCORR, meanCorr, 0.0f);
1664   }
1665   void add_dstDtype(int32_t dstDtype) {
1666     fbb_.AddElement<int32_t>(QuantParam::VT_DSTDTYPE, dstDtype, 32);
1667   }
1668   void add_roundType(int32_t roundType) {
1669     fbb_.AddElement<int32_t>(QuantParam::VT_ROUNDTYPE, roundType, 1);
1670   }
1671   void add_multiplier(int32_t multiplier) {
1672     fbb_.AddElement<int32_t>(QuantParam::VT_MULTIPLIER, multiplier, 1);
1673   }
1674   explicit QuantParamBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1675         : fbb_(_fbb) {
1676     start_ = fbb_.StartTable();
1677   }
1678   flatbuffers::Offset<QuantParam> Finish() {
1679     const auto end = fbb_.EndTable(start_);
1680     auto o = flatbuffers::Offset<QuantParam>(end);
1681     return o;
1682   }
1683 };
1684 
1685 inline flatbuffers::Offset<QuantParam> CreateQuantParam(
1686     flatbuffers::FlatBufferBuilder &_fbb,
1687     double scale = 0.0,
1688     int32_t zeroPoint = 0,
1689     double min = 0.0,
1690     double max = 0.0,
1691     bool narrowRange = true,
1692     int32_t numBits = 8,
1693     bool inited = false,
1694     float varCorr = 1.0f,
1695     float meanCorr = 0.0f,
1696     int32_t dstDtype = 32,
1697     int32_t roundType = 1,
1698     int32_t multiplier = 1) {
1699   QuantParamBuilder builder_(_fbb);
1700   builder_.add_max(max);
1701   builder_.add_min(min);
1702   builder_.add_scale(scale);
1703   builder_.add_multiplier(multiplier);
1704   builder_.add_roundType(roundType);
1705   builder_.add_dstDtype(dstDtype);
1706   builder_.add_meanCorr(meanCorr);
1707   builder_.add_varCorr(varCorr);
1708   builder_.add_numBits(numBits);
1709   builder_.add_zeroPoint(zeroPoint);
1710   builder_.add_inited(inited);
1711   builder_.add_narrowRange(narrowRange);
1712   return builder_.Finish();
1713 }
1714 
1715 struct Tensor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1716   typedef TensorBuilder Builder;
1717   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1718     VT_NODETYPE = 4,
1719     VT_DATATYPE = 6,
1720     VT_DIMS = 8,
1721     VT_FORMAT = 10,
1722     VT_REFCOUNT = 12,
1723     VT_OFFSET = 14,
1724     VT_DATA = 16,
1725     VT_QUANTPARAMS = 18,
1726     VT_QUANTCLUSTERS = 20,
1727     VT_NAME = 22
1728   };
1729   mindspore::schema::v0::NodeType nodeType() const {
1730     return static_cast<mindspore::schema::v0::NodeType>(GetField<int32_t>(VT_NODETYPE, 0));
1731   }
1732   int32_t dataType() const {
1733     return GetField<int32_t>(VT_DATATYPE, 0);
1734   }
1735   const flatbuffers::Vector<int32_t> *dims() const {
1736     return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_DIMS);
1737   }
1738   mindspore::schema::v0::Format format() const {
1739     return static_cast<mindspore::schema::v0::Format>(GetField<int32_t>(VT_FORMAT, 0));
1740   }
1741   int32_t refCount() const {
1742     return GetField<int32_t>(VT_REFCOUNT, 0);
1743   }
1744   int32_t offset() const {
1745     return GetField<int32_t>(VT_OFFSET, 0);
1746   }
1747   const flatbuffers::Vector<uint8_t> *data() const {
1748     return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_DATA);
1749   }
1750   const flatbuffers::Vector<flatbuffers::Offset<mindspore::schema::v0::QuantParam>> *quantParams() const {
1751     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<mindspore::schema::v0::QuantParam>> *>(VT_QUANTPARAMS);
1752   }
1753   const flatbuffers::Vector<float> *quantClusters() const {
1754     return GetPointer<const flatbuffers::Vector<float> *>(VT_QUANTCLUSTERS);
1755   }
1756   const flatbuffers::String *name() const {
1757     return GetPointer<const flatbuffers::String *>(VT_NAME);
1758   }
1759   bool Verify(flatbuffers::Verifier &verifier) const {
1760     return VerifyTableStart(verifier) &&
1761            VerifyField<int32_t>(verifier, VT_NODETYPE) &&
1762            VerifyField<int32_t>(verifier, VT_DATATYPE) &&
1763            VerifyOffset(verifier, VT_DIMS) &&
1764            verifier.VerifyVector(dims()) &&
1765            VerifyField<int32_t>(verifier, VT_FORMAT) &&
1766            VerifyField<int32_t>(verifier, VT_REFCOUNT) &&
1767            VerifyField<int32_t>(verifier, VT_OFFSET) &&
1768            VerifyOffset(verifier, VT_DATA) &&
1769            verifier.VerifyVector(data()) &&
1770            VerifyOffset(verifier, VT_QUANTPARAMS) &&
1771            verifier.VerifyVector(quantParams()) &&
1772            verifier.VerifyVectorOfTables(quantParams()) &&
1773            VerifyOffset(verifier, VT_QUANTCLUSTERS) &&
1774            verifier.VerifyVector(quantClusters()) &&
1775            VerifyOffset(verifier, VT_NAME) &&
1776            verifier.VerifyString(name()) &&
1777            verifier.EndTable();
1778   }
1779 };
1780 
1781 struct TensorBuilder {
1782   typedef Tensor Table;
1783   flatbuffers::FlatBufferBuilder &fbb_;
1784   flatbuffers::uoffset_t start_;
1785   void add_nodeType(mindspore::schema::v0::NodeType nodeType) {
1786     fbb_.AddElement<int32_t>(Tensor::VT_NODETYPE, static_cast<int32_t>(nodeType), 0);
1787   }
1788   void add_dataType(int32_t dataType) {
1789     fbb_.AddElement<int32_t>(Tensor::VT_DATATYPE, dataType, 0);
1790   }
1791   void add_dims(flatbuffers::Offset<flatbuffers::Vector<int32_t>> dims) {
1792     fbb_.AddOffset(Tensor::VT_DIMS, dims);
1793   }
1794   void add_format(mindspore::schema::v0::Format format) {
1795     fbb_.AddElement<int32_t>(Tensor::VT_FORMAT, static_cast<int32_t>(format), 0);
1796   }
1797   void add_refCount(int32_t refCount) {
1798     fbb_.AddElement<int32_t>(Tensor::VT_REFCOUNT, refCount, 0);
1799   }
1800   void add_offset(int32_t offset) {
1801     fbb_.AddElement<int32_t>(Tensor::VT_OFFSET, offset, 0);
1802   }
1803   void add_data(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> data) {
1804     fbb_.AddOffset(Tensor::VT_DATA, data);
1805   }
1806   void add_quantParams(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<mindspore::schema::v0::QuantParam>>> quantParams) {
1807     fbb_.AddOffset(Tensor::VT_QUANTPARAMS, quantParams);
1808   }
1809   void add_quantClusters(flatbuffers::Offset<flatbuffers::Vector<float>> quantClusters) {
1810     fbb_.AddOffset(Tensor::VT_QUANTCLUSTERS, quantClusters);
1811   }
1812   void add_name(flatbuffers::Offset<flatbuffers::String> name) {
1813     fbb_.AddOffset(Tensor::VT_NAME, name);
1814   }
1815   explicit TensorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1816         : fbb_(_fbb) {
1817     start_ = fbb_.StartTable();
1818   }
1819   flatbuffers::Offset<Tensor> Finish() {
1820     const auto end = fbb_.EndTable(start_);
1821     auto o = flatbuffers::Offset<Tensor>(end);
1822     return o;
1823   }
1824 };
1825 
1826 inline flatbuffers::Offset<Tensor> CreateTensor(
1827     flatbuffers::FlatBufferBuilder &_fbb,
1828     mindspore::schema::v0::NodeType nodeType = mindspore::schema::v0::NodeType_ValueNode,
1829     int32_t dataType = 0,
1830     flatbuffers::Offset<flatbuffers::Vector<int32_t>> dims = 0,
1831     mindspore::schema::v0::Format format = mindspore::schema::v0::Format_NCHW,
1832     int32_t refCount = 0,
1833     int32_t offset = 0,
1834     flatbuffers::Offset<flatbuffers::Vector<uint8_t>> data = 0,
1835     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<mindspore::schema::v0::QuantParam>>> quantParams = 0,
1836     flatbuffers::Offset<flatbuffers::Vector<float>> quantClusters = 0,
1837     flatbuffers::Offset<flatbuffers::String> name = 0) {
1838   TensorBuilder builder_(_fbb);
1839   builder_.add_name(name);
1840   builder_.add_quantClusters(quantClusters);
1841   builder_.add_quantParams(quantParams);
1842   builder_.add_data(data);
1843   builder_.add_offset(offset);
1844   builder_.add_refCount(refCount);
1845   builder_.add_format(format);
1846   builder_.add_dims(dims);
1847   builder_.add_dataType(dataType);
1848   builder_.add_nodeType(nodeType);
1849   return builder_.Finish();
1850 }
1851 
1852 inline flatbuffers::Offset<Tensor> CreateTensorDirect(
1853     flatbuffers::FlatBufferBuilder &_fbb,
1854     mindspore::schema::v0::NodeType nodeType = mindspore::schema::v0::NodeType_ValueNode,
1855     int32_t dataType = 0,
1856     const std::vector<int32_t> *dims = nullptr,
1857     mindspore::schema::v0::Format format = mindspore::schema::v0::Format_NCHW,
1858     int32_t refCount = 0,
1859     int32_t offset = 0,
1860     const std::vector<uint8_t> *data = nullptr,
1861     const std::vector<flatbuffers::Offset<mindspore::schema::v0::QuantParam>> *quantParams = nullptr,
1862     const std::vector<float> *quantClusters = nullptr,
1863     const char *name = nullptr) {
1864   auto dims__ = dims ? _fbb.CreateVector<int32_t>(*dims) : 0;
1865   auto data__ = data ? _fbb.CreateVector<uint8_t>(*data) : 0;
1866   auto quantParams__ = quantParams ? _fbb.CreateVector<flatbuffers::Offset<mindspore::schema::v0::QuantParam>>(*quantParams) : 0;
1867   auto quantClusters__ = quantClusters ? _fbb.CreateVector<float>(*quantClusters) : 0;
1868   auto name__ = name ? _fbb.CreateString(name) : 0;
1869   return mindspore::schema::v0::CreateTensor(
1870       _fbb,
1871       nodeType,
1872       dataType,
1873       dims__,
1874       format,
1875       refCount,
1876       offset,
1877       data__,
1878       quantParams__,
1879       quantClusters__,
1880       name__);
1881 }
1882 
1883 struct Primitive FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1884   typedef PrimitiveBuilder Builder;
1885   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1886     VT_VALUE_TYPE = 4,
1887     VT_VALUE = 6
1888   };
1889   mindspore::schema::v0::PrimitiveType value_type() const {
1890     return static_cast<mindspore::schema::v0::PrimitiveType>(GetField<uint8_t>(VT_VALUE_TYPE, 0));
1891   }
1892   const void *value() const {
1893     return GetPointer<const void *>(VT_VALUE);
1894   }
1895   template<typename T> const T *value_as() const;
1896   const mindspore::schema::v0::Concat *value_as_Concat() const {
1897     return value_type() == mindspore::schema::v0::PrimitiveType_Concat ? static_cast<const mindspore::schema::v0::Concat *>(value()) : nullptr;
1898   }
1899   const mindspore::schema::v0::SoftMax *value_as_SoftMax() const {
1900     return value_type() == mindspore::schema::v0::PrimitiveType_SoftMax ? static_cast<const mindspore::schema::v0::SoftMax *>(value()) : nullptr;
1901   }
1902   const mindspore::schema::v0::Activation *value_as_Activation() const {
1903     return value_type() == mindspore::schema::v0::PrimitiveType_Activation ? static_cast<const mindspore::schema::v0::Activation *>(value()) : nullptr;
1904   }
1905   const mindspore::schema::v0::Conv2D *value_as_Conv2D() const {
1906     return value_type() == mindspore::schema::v0::PrimitiveType_Conv2D ? static_cast<const mindspore::schema::v0::Conv2D *>(value()) : nullptr;
1907   }
1908   const mindspore::schema::v0::FusedBatchNorm *value_as_FusedBatchNorm() const {
1909     return value_type() == mindspore::schema::v0::PrimitiveType_FusedBatchNorm ? static_cast<const mindspore::schema::v0::FusedBatchNorm *>(value()) : nullptr;
1910   }
1911   const mindspore::schema::v0::BatchNorm *value_as_BatchNorm() const {
1912     return value_type() == mindspore::schema::v0::PrimitiveType_BatchNorm ? static_cast<const mindspore::schema::v0::BatchNorm *>(value()) : nullptr;
1913   }
1914   const mindspore::schema::v0::BiasAdd *value_as_BiasAdd() const {
1915     return value_type() == mindspore::schema::v0::PrimitiveType_BiasAdd ? static_cast<const mindspore::schema::v0::BiasAdd *>(value()) : nullptr;
1916   }
1917   const mindspore::schema::v0::Pooling *value_as_Pooling() const {
1918     return value_type() == mindspore::schema::v0::PrimitiveType_Pooling ? static_cast<const mindspore::schema::v0::Pooling *>(value()) : nullptr;
1919   }
1920   const mindspore::schema::v0::ROIPooling *value_as_ROIPooling() const {
1921     return value_type() == mindspore::schema::v0::PrimitiveType_ROIPooling ? static_cast<const mindspore::schema::v0::ROIPooling *>(value()) : nullptr;
1922   }
1923   const mindspore::schema::v0::DepthwiseConv2D *value_as_DepthwiseConv2D() const {
1924     return value_type() == mindspore::schema::v0::PrimitiveType_DepthwiseConv2D ? static_cast<const mindspore::schema::v0::DepthwiseConv2D *>(value()) : nullptr;
1925   }
1926   const mindspore::schema::v0::DeDepthwiseConv2D *value_as_DeDepthwiseConv2D() const {
1927     return value_type() == mindspore::schema::v0::PrimitiveType_DeDepthwiseConv2D ? static_cast<const mindspore::schema::v0::DeDepthwiseConv2D *>(value()) : nullptr;
1928   }
1929   const mindspore::schema::v0::Resize *value_as_Resize() const {
1930     return value_type() == mindspore::schema::v0::PrimitiveType_Resize ? static_cast<const mindspore::schema::v0::Resize *>(value()) : nullptr;
1931   }
1932   const mindspore::schema::v0::DetectionPostProcess *value_as_DetectionPostProcess() const {
1933     return value_type() == mindspore::schema::v0::PrimitiveType_DetectionPostProcess ? static_cast<const mindspore::schema::v0::DetectionPostProcess *>(value()) : nullptr;
1934   }
1935   const mindspore::schema::v0::FullConnection *value_as_FullConnection() const {
1936     return value_type() == mindspore::schema::v0::PrimitiveType_FullConnection ? static_cast<const mindspore::schema::v0::FullConnection *>(value()) : nullptr;
1937   }
1938   const mindspore::schema::v0::Mean *value_as_Mean() const {
1939     return value_type() == mindspore::schema::v0::PrimitiveType_Mean ? static_cast<const mindspore::schema::v0::Mean *>(value()) : nullptr;
1940   }
1941   const mindspore::schema::v0::DeConv2D *value_as_DeConv2D() const {
1942     return value_type() == mindspore::schema::v0::PrimitiveType_DeConv2D ? static_cast<const mindspore::schema::v0::DeConv2D *>(value()) : nullptr;
1943   }
1944   const mindspore::schema::v0::Scale *value_as_Scale() const {
1945     return value_type() == mindspore::schema::v0::PrimitiveType_Scale ? static_cast<const mindspore::schema::v0::Scale *>(value()) : nullptr;
1946   }
1947   const mindspore::schema::v0::Reshape *value_as_Reshape() const {
1948     return value_type() == mindspore::schema::v0::PrimitiveType_Reshape ? static_cast<const mindspore::schema::v0::Reshape *>(value()) : nullptr;
1949   }
1950   const mindspore::schema::v0::Eltwise *value_as_Eltwise() const {
1951     return value_type() == mindspore::schema::v0::PrimitiveType_Eltwise ? static_cast<const mindspore::schema::v0::Eltwise *>(value()) : nullptr;
1952   }
1953   const mindspore::schema::v0::NetOutput *value_as_NetOutput() const {
1954     return value_type() == mindspore::schema::v0::PrimitiveType_NetOutput ? static_cast<const mindspore::schema::v0::NetOutput *>(value()) : nullptr;
1955   }
1956   const mindspore::schema::v0::Add *value_as_Add() const {
1957     return value_type() == mindspore::schema::v0::PrimitiveType_Add ? static_cast<const mindspore::schema::v0::Add *>(value()) : nullptr;
1958   }
1959   const mindspore::schema::v0::Sub *value_as_Sub() const {
1960     return value_type() == mindspore::schema::v0::PrimitiveType_Sub ? static_cast<const mindspore::schema::v0::Sub *>(value()) : nullptr;
1961   }
1962   const mindspore::schema::v0::MatMul *value_as_MatMul() const {
1963     return value_type() == mindspore::schema::v0::PrimitiveType_MatMul ? static_cast<const mindspore::schema::v0::MatMul *>(value()) : nullptr;
1964   }
1965   const mindspore::schema::v0::StridedSlice *value_as_StridedSlice() const {
1966     return value_type() == mindspore::schema::v0::PrimitiveType_StridedSlice ? static_cast<const mindspore::schema::v0::StridedSlice *>(value()) : nullptr;
1967   }
1968   const mindspore::schema::v0::Power *value_as_Power() const {
1969     return value_type() == mindspore::schema::v0::PrimitiveType_Power ? static_cast<const mindspore::schema::v0::Power *>(value()) : nullptr;
1970   }
1971   const mindspore::schema::v0::Slice *value_as_Slice() const {
1972     return value_type() == mindspore::schema::v0::PrimitiveType_Slice ? static_cast<const mindspore::schema::v0::Slice *>(value()) : nullptr;
1973   }
1974   const mindspore::schema::v0::Stack *value_as_Stack() const {
1975     return value_type() == mindspore::schema::v0::PrimitiveType_Stack ? static_cast<const mindspore::schema::v0::Stack *>(value()) : nullptr;
1976   }
1977   const mindspore::schema::v0::Mul *value_as_Mul() const {
1978     return value_type() == mindspore::schema::v0::PrimitiveType_Mul ? static_cast<const mindspore::schema::v0::Mul *>(value()) : nullptr;
1979   }
1980   const mindspore::schema::v0::RealDiv *value_as_RealDiv() const {
1981     return value_type() == mindspore::schema::v0::PrimitiveType_RealDiv ? static_cast<const mindspore::schema::v0::RealDiv *>(value()) : nullptr;
1982   }
1983   const mindspore::schema::v0::Pad *value_as_Pad() const {
1984     return value_type() == mindspore::schema::v0::PrimitiveType_Pad ? static_cast<const mindspore::schema::v0::Pad *>(value()) : nullptr;
1985   }
1986   const mindspore::schema::v0::Maximum *value_as_Maximum() const {
1987     return value_type() == mindspore::schema::v0::PrimitiveType_Maximum ? static_cast<const mindspore::schema::v0::Maximum *>(value()) : nullptr;
1988   }
1989   const mindspore::schema::v0::Minimum *value_as_Minimum() const {
1990     return value_type() == mindspore::schema::v0::PrimitiveType_Minimum ? static_cast<const mindspore::schema::v0::Minimum *>(value()) : nullptr;
1991   }
1992   const mindspore::schema::v0::PReLU *value_as_PReLU() const {
1993     return value_type() == mindspore::schema::v0::PrimitiveType_PReLU ? static_cast<const mindspore::schema::v0::PReLU *>(value()) : nullptr;
1994   }
1995   const mindspore::schema::v0::LeakyReLU *value_as_LeakyReLU() const {
1996     return value_type() == mindspore::schema::v0::PrimitiveType_LeakyReLU ? static_cast<const mindspore::schema::v0::LeakyReLU *>(value()) : nullptr;
1997   }
1998   const mindspore::schema::v0::ArgMax *value_as_ArgMax() const {
1999     return value_type() == mindspore::schema::v0::PrimitiveType_ArgMax ? static_cast<const mindspore::schema::v0::ArgMax *>(value()) : nullptr;
2000   }
2001   const mindspore::schema::v0::ArgMin *value_as_ArgMin() const {
2002     return value_type() == mindspore::schema::v0::PrimitiveType_ArgMin ? static_cast<const mindspore::schema::v0::ArgMin *>(value()) : nullptr;
2003   }
2004   const mindspore::schema::v0::Exp *value_as_Exp() const {
2005     return value_type() == mindspore::schema::v0::PrimitiveType_Exp ? static_cast<const mindspore::schema::v0::Exp *>(value()) : nullptr;
2006   }
2007   const mindspore::schema::v0::Crop *value_as_Crop() const {
2008     return value_type() == mindspore::schema::v0::PrimitiveType_Crop ? static_cast<const mindspore::schema::v0::Crop *>(value()) : nullptr;
2009   }
2010   const mindspore::schema::v0::Range *value_as_Range() const {
2011     return value_type() == mindspore::schema::v0::PrimitiveType_Range ? static_cast<const mindspore::schema::v0::Range *>(value()) : nullptr;
2012   }
2013   const mindspore::schema::v0::Rsqrt *value_as_Rsqrt() const {
2014     return value_type() == mindspore::schema::v0::PrimitiveType_Rsqrt ? static_cast<const mindspore::schema::v0::Rsqrt *>(value()) : nullptr;
2015   }
2016   const mindspore::schema::v0::ExpandDims *value_as_ExpandDims() const {
2017     return value_type() == mindspore::schema::v0::PrimitiveType_ExpandDims ? static_cast<const mindspore::schema::v0::ExpandDims *>(value()) : nullptr;
2018   }
2019   const mindspore::schema::v0::Tile *value_as_Tile() const {
2020     return value_type() == mindspore::schema::v0::PrimitiveType_Tile ? static_cast<const mindspore::schema::v0::Tile *>(value()) : nullptr;
2021   }
2022   const mindspore::schema::v0::Cast *value_as_Cast() const {
2023     return value_type() == mindspore::schema::v0::PrimitiveType_Cast ? static_cast<const mindspore::schema::v0::Cast *>(value()) : nullptr;
2024   }
2025   const mindspore::schema::v0::Shape *value_as_Shape() const {
2026     return value_type() == mindspore::schema::v0::PrimitiveType_Shape ? static_cast<const mindspore::schema::v0::Shape *>(value()) : nullptr;
2027   }
2028   const mindspore::schema::v0::Nchw2Nhwc *value_as_Nchw2Nhwc() const {
2029     return value_type() == mindspore::schema::v0::PrimitiveType_Nchw2Nhwc ? static_cast<const mindspore::schema::v0::Nchw2Nhwc *>(value()) : nullptr;
2030   }
2031   const mindspore::schema::v0::Nhwc2Nchw *value_as_Nhwc2Nchw() const {
2032     return value_type() == mindspore::schema::v0::PrimitiveType_Nhwc2Nchw ? static_cast<const mindspore::schema::v0::Nhwc2Nchw *>(value()) : nullptr;
2033   }
2034   const mindspore::schema::v0::QuantDTypeCast *value_as_QuantDTypeCast() const {
2035     return value_type() == mindspore::schema::v0::PrimitiveType_QuantDTypeCast ? static_cast<const mindspore::schema::v0::QuantDTypeCast *>(value()) : nullptr;
2036   }
2037   const mindspore::schema::v0::Split *value_as_Split() const {
2038     return value_type() == mindspore::schema::v0::PrimitiveType_Split ? static_cast<const mindspore::schema::v0::Split *>(value()) : nullptr;
2039   }
2040   const mindspore::schema::v0::Permute *value_as_Permute() const {
2041     return value_type() == mindspore::schema::v0::PrimitiveType_Permute ? static_cast<const mindspore::schema::v0::Permute *>(value()) : nullptr;
2042   }
2043   const mindspore::schema::v0::FakeQuantWithMinMaxVars *value_as_FakeQuantWithMinMaxVars() const {
2044     return value_type() == mindspore::schema::v0::PrimitiveType_FakeQuantWithMinMaxVars ? static_cast<const mindspore::schema::v0::FakeQuantWithMinMaxVars *>(value()) : nullptr;
2045   }
2046   const mindspore::schema::v0::Equal *value_as_Equal() const {
2047     return value_type() == mindspore::schema::v0::PrimitiveType_Equal ? static_cast<const mindspore::schema::v0::Equal *>(value()) : nullptr;
2048   }
2049   const mindspore::schema::v0::Less *value_as_Less() const {
2050     return value_type() == mindspore::schema::v0::PrimitiveType_Less ? static_cast<const mindspore::schema::v0::Less *>(value()) : nullptr;
2051   }
2052   const mindspore::schema::v0::Greater *value_as_Greater() const {
2053     return value_type() == mindspore::schema::v0::PrimitiveType_Greater ? static_cast<const mindspore::schema::v0::Greater *>(value()) : nullptr;
2054   }
2055   const mindspore::schema::v0::NotEqual *value_as_NotEqual() const {
2056     return value_type() == mindspore::schema::v0::PrimitiveType_NotEqual ? static_cast<const mindspore::schema::v0::NotEqual *>(value()) : nullptr;
2057   }
2058   const mindspore::schema::v0::LessEqual *value_as_LessEqual() const {
2059     return value_type() == mindspore::schema::v0::PrimitiveType_LessEqual ? static_cast<const mindspore::schema::v0::LessEqual *>(value()) : nullptr;
2060   }
2061   const mindspore::schema::v0::GreaterEqual *value_as_GreaterEqual() const {
2062     return value_type() == mindspore::schema::v0::PrimitiveType_GreaterEqual ? static_cast<const mindspore::schema::v0::GreaterEqual *>(value()) : nullptr;
2063   }
2064   const mindspore::schema::v0::Min *value_as_Min() const {
2065     return value_type() == mindspore::schema::v0::PrimitiveType_Min ? static_cast<const mindspore::schema::v0::Min *>(value()) : nullptr;
2066   }
2067   const mindspore::schema::v0::Floor *value_as_Floor() const {
2068     return value_type() == mindspore::schema::v0::PrimitiveType_Floor ? static_cast<const mindspore::schema::v0::Floor *>(value()) : nullptr;
2069   }
2070   const mindspore::schema::v0::Abs *value_as_Abs() const {
2071     return value_type() == mindspore::schema::v0::PrimitiveType_Abs ? static_cast<const mindspore::schema::v0::Abs *>(value()) : nullptr;
2072   }
2073   const mindspore::schema::v0::Neg *value_as_Neg() const {
2074     return value_type() == mindspore::schema::v0::PrimitiveType_Neg ? static_cast<const mindspore::schema::v0::Neg *>(value()) : nullptr;
2075   }
2076   const mindspore::schema::v0::Cos *value_as_Cos() const {
2077     return value_type() == mindspore::schema::v0::PrimitiveType_Cos ? static_cast<const mindspore::schema::v0::Cos *>(value()) : nullptr;
2078   }
2079   const mindspore::schema::v0::Sin *value_as_Sin() const {
2080     return value_type() == mindspore::schema::v0::PrimitiveType_Sin ? static_cast<const mindspore::schema::v0::Sin *>(value()) : nullptr;
2081   }
2082   const mindspore::schema::v0::Sqrt *value_as_Sqrt() const {
2083     return value_type() == mindspore::schema::v0::PrimitiveType_Sqrt ? static_cast<const mindspore::schema::v0::Sqrt *>(value()) : nullptr;
2084   }
2085   const mindspore::schema::v0::Square *value_as_Square() const {
2086     return value_type() == mindspore::schema::v0::PrimitiveType_Square ? static_cast<const mindspore::schema::v0::Square *>(value()) : nullptr;
2087   }
2088   const mindspore::schema::v0::Constant *value_as_Constant() const {
2089     return value_type() == mindspore::schema::v0::PrimitiveType_Constant ? static_cast<const mindspore::schema::v0::Constant *>(value()) : nullptr;
2090   }
2091   const mindspore::schema::v0::Log *value_as_Log() const {
2092     return value_type() == mindspore::schema::v0::PrimitiveType_Log ? static_cast<const mindspore::schema::v0::Log *>(value()) : nullptr;
2093   }
2094   const mindspore::schema::v0::Tan *value_as_Tan() const {
2095     return value_type() == mindspore::schema::v0::PrimitiveType_Tan ? static_cast<const mindspore::schema::v0::Tan *>(value()) : nullptr;
2096   }
2097   const mindspore::schema::v0::Atan *value_as_Atan() const {
2098     return value_type() == mindspore::schema::v0::PrimitiveType_Atan ? static_cast<const mindspore::schema::v0::Atan *>(value()) : nullptr;
2099   }
2100   const mindspore::schema::v0::Asin *value_as_Asin() const {
2101     return value_type() == mindspore::schema::v0::PrimitiveType_Asin ? static_cast<const mindspore::schema::v0::Asin *>(value()) : nullptr;
2102   }
2103   const mindspore::schema::v0::Clip *value_as_Clip() const {
2104     return value_type() == mindspore::schema::v0::PrimitiveType_Clip ? static_cast<const mindspore::schema::v0::Clip *>(value()) : nullptr;
2105   }
2106   const mindspore::schema::v0::Transpose *value_as_Transpose() const {
2107     return value_type() == mindspore::schema::v0::PrimitiveType_Transpose ? static_cast<const mindspore::schema::v0::Transpose *>(value()) : nullptr;
2108   }
2109   const mindspore::schema::v0::Squeeze *value_as_Squeeze() const {
2110     return value_type() == mindspore::schema::v0::PrimitiveType_Squeeze ? static_cast<const mindspore::schema::v0::Squeeze *>(value()) : nullptr;
2111   }
2112   const mindspore::schema::v0::Unsqueeze *value_as_Unsqueeze() const {
2113     return value_type() == mindspore::schema::v0::PrimitiveType_Unsqueeze ? static_cast<const mindspore::schema::v0::Unsqueeze *>(value()) : nullptr;
2114   }
2115   const mindspore::schema::v0::Upsample *value_as_Upsample() const {
2116     return value_type() == mindspore::schema::v0::PrimitiveType_Upsample ? static_cast<const mindspore::schema::v0::Upsample *>(value()) : nullptr;
2117   }
2118   const mindspore::schema::v0::Dropout *value_as_Dropout() const {
2119     return value_type() == mindspore::schema::v0::PrimitiveType_Dropout ? static_cast<const mindspore::schema::v0::Dropout *>(value()) : nullptr;
2120   }
2121   const mindspore::schema::v0::Broadcast *value_as_Broadcast() const {
2122     return value_type() == mindspore::schema::v0::PrimitiveType_Broadcast ? static_cast<const mindspore::schema::v0::Broadcast *>(value()) : nullptr;
2123   }
2124   const mindspore::schema::v0::BroadcastTo *value_as_BroadcastTo() const {
2125     return value_type() == mindspore::schema::v0::PrimitiveType_BroadcastTo ? static_cast<const mindspore::schema::v0::BroadcastTo *>(value()) : nullptr;
2126   }
2127   const mindspore::schema::v0::Lrn *value_as_Lrn() const {
2128     return value_type() == mindspore::schema::v0::PrimitiveType_Lrn ? static_cast<const mindspore::schema::v0::Lrn *>(value()) : nullptr;
2129   }
2130   const mindspore::schema::v0::ZerosLike *value_as_ZerosLike() const {
2131     return value_type() == mindspore::schema::v0::PrimitiveType_ZerosLike ? static_cast<const mindspore::schema::v0::ZerosLike *>(value()) : nullptr;
2132   }
2133   const mindspore::schema::v0::TopK *value_as_TopK() const {
2134     return value_type() == mindspore::schema::v0::PrimitiveType_TopK ? static_cast<const mindspore::schema::v0::TopK *>(value()) : nullptr;
2135   }
2136   const mindspore::schema::v0::SpaceToDepth *value_as_SpaceToDepth() const {
2137     return value_type() == mindspore::schema::v0::PrimitiveType_SpaceToDepth ? static_cast<const mindspore::schema::v0::SpaceToDepth *>(value()) : nullptr;
2138   }
2139   const mindspore::schema::v0::SpaceToBatch *value_as_SpaceToBatch() const {
2140     return value_type() == mindspore::schema::v0::PrimitiveType_SpaceToBatch ? static_cast<const mindspore::schema::v0::SpaceToBatch *>(value()) : nullptr;
2141   }
2142   const mindspore::schema::v0::SparseToDense *value_as_SparseToDense() const {
2143     return value_type() == mindspore::schema::v0::PrimitiveType_SparseToDense ? static_cast<const mindspore::schema::v0::SparseToDense *>(value()) : nullptr;
2144   }
2145   const mindspore::schema::v0::ReverseSequence *value_as_ReverseSequence() const {
2146     return value_type() == mindspore::schema::v0::PrimitiveType_ReverseSequence ? static_cast<const mindspore::schema::v0::ReverseSequence *>(value()) : nullptr;
2147   }
2148   const mindspore::schema::v0::Rank *value_as_Rank() const {
2149     return value_type() == mindspore::schema::v0::PrimitiveType_Rank ? static_cast<const mindspore::schema::v0::Rank *>(value()) : nullptr;
2150   }
2151   const mindspore::schema::v0::Gather *value_as_Gather() const {
2152     return value_type() == mindspore::schema::v0::PrimitiveType_Gather ? static_cast<const mindspore::schema::v0::Gather *>(value()) : nullptr;
2153   }
2154   const mindspore::schema::v0::GatherNd *value_as_GatherNd() const {
2155     return value_type() == mindspore::schema::v0::PrimitiveType_GatherNd ? static_cast<const mindspore::schema::v0::GatherNd *>(value()) : nullptr;
2156   }
2157   const mindspore::schema::v0::Fill *value_as_Fill() const {
2158     return value_type() == mindspore::schema::v0::PrimitiveType_Fill ? static_cast<const mindspore::schema::v0::Fill *>(value()) : nullptr;
2159   }
2160   const mindspore::schema::v0::Elu *value_as_Elu() const {
2161     return value_type() == mindspore::schema::v0::PrimitiveType_Elu ? static_cast<const mindspore::schema::v0::Elu *>(value()) : nullptr;
2162   }
2163   const mindspore::schema::v0::DepthToSpace *value_as_DepthToSpace() const {
2164     return value_type() == mindspore::schema::v0::PrimitiveType_DepthToSpace ? static_cast<const mindspore::schema::v0::DepthToSpace *>(value()) : nullptr;
2165   }
2166   const mindspore::schema::v0::BatchToSpace *value_as_BatchToSpace() const {
2167     return value_type() == mindspore::schema::v0::PrimitiveType_BatchToSpace ? static_cast<const mindspore::schema::v0::BatchToSpace *>(value()) : nullptr;
2168   }
2169   const mindspore::schema::v0::AddN *value_as_AddN() const {
2170     return value_type() == mindspore::schema::v0::PrimitiveType_AddN ? static_cast<const mindspore::schema::v0::AddN *>(value()) : nullptr;
2171   }
2172   const mindspore::schema::v0::Ceil *value_as_Ceil() const {
2173     return value_type() == mindspore::schema::v0::PrimitiveType_Ceil ? static_cast<const mindspore::schema::v0::Ceil *>(value()) : nullptr;
2174   }
2175   const mindspore::schema::v0::EmbeddingLookup *value_as_EmbeddingLookup() const {
2176     return value_type() == mindspore::schema::v0::PrimitiveType_EmbeddingLookup ? static_cast<const mindspore::schema::v0::EmbeddingLookup *>(value()) : nullptr;
2177   }
2178   const mindspore::schema::v0::EmbeddingLookupSparse *value_as_EmbeddingLookupSparse() const {
2179     return value_type() == mindspore::schema::v0::PrimitiveType_EmbeddingLookupSparse ? static_cast<const mindspore::schema::v0::EmbeddingLookupSparse *>(value()) : nullptr;
2180   }
2181   const mindspore::schema::v0::FloorDiv *value_as_FloorDiv() const {
2182     return value_type() == mindspore::schema::v0::PrimitiveType_FloorDiv ? static_cast<const mindspore::schema::v0::FloorDiv *>(value()) : nullptr;
2183   }
2184   const mindspore::schema::v0::FloorMod *value_as_FloorMod() const {
2185     return value_type() == mindspore::schema::v0::PrimitiveType_FloorMod ? static_cast<const mindspore::schema::v0::FloorMod *>(value()) : nullptr;
2186   }
2187   const mindspore::schema::v0::L2Norm *value_as_L2Norm() const {
2188     return value_type() == mindspore::schema::v0::PrimitiveType_L2Norm ? static_cast<const mindspore::schema::v0::L2Norm *>(value()) : nullptr;
2189   }
2190   const mindspore::schema::v0::LocalResponseNormalization *value_as_LocalResponseNormalization() const {
2191     return value_type() == mindspore::schema::v0::PrimitiveType_LocalResponseNormalization ? static_cast<const mindspore::schema::v0::LocalResponseNormalization *>(value()) : nullptr;
2192   }
2193   const mindspore::schema::v0::MatrixDiag *value_as_MatrixDiag() const {
2194     return value_type() == mindspore::schema::v0::PrimitiveType_MatrixDiag ? static_cast<const mindspore::schema::v0::MatrixDiag *>(value()) : nullptr;
2195   }
2196   const mindspore::schema::v0::Reduce *value_as_Reduce() const {
2197     return value_type() == mindspore::schema::v0::PrimitiveType_Reduce ? static_cast<const mindspore::schema::v0::Reduce *>(value()) : nullptr;
2198   }
2199   const mindspore::schema::v0::Reverse *value_as_Reverse() const {
2200     return value_type() == mindspore::schema::v0::PrimitiveType_Reverse ? static_cast<const mindspore::schema::v0::Reverse *>(value()) : nullptr;
2201   }
2202   const mindspore::schema::v0::Round *value_as_Round() const {
2203     return value_type() == mindspore::schema::v0::PrimitiveType_Round ? static_cast<const mindspore::schema::v0::Round *>(value()) : nullptr;
2204   }
2205   const mindspore::schema::v0::Select *value_as_Select() const {
2206     return value_type() == mindspore::schema::v0::PrimitiveType_Select ? static_cast<const mindspore::schema::v0::Select *>(value()) : nullptr;
2207   }
2208   const mindspore::schema::v0::Scatter *value_as_Scatter() const {
2209     return value_type() == mindspore::schema::v0::PrimitiveType_Scatter ? static_cast<const mindspore::schema::v0::Scatter *>(value()) : nullptr;
2210   }
2211   const mindspore::schema::v0::ScatterND *value_as_ScatterND() const {
2212     return value_type() == mindspore::schema::v0::PrimitiveType_ScatterND ? static_cast<const mindspore::schema::v0::ScatterND *>(value()) : nullptr;
2213   }
2214   const mindspore::schema::v0::ConstantOfShape *value_as_ConstantOfShape() const {
2215     return value_type() == mindspore::schema::v0::PrimitiveType_ConstantOfShape ? static_cast<const mindspore::schema::v0::ConstantOfShape *>(value()) : nullptr;
2216   }
2217   const mindspore::schema::v0::Unique *value_as_Unique() const {
2218     return value_type() == mindspore::schema::v0::PrimitiveType_Unique ? static_cast<const mindspore::schema::v0::Unique *>(value()) : nullptr;
2219   }
2220   const mindspore::schema::v0::Unstack *value_as_Unstack() const {
2221     return value_type() == mindspore::schema::v0::PrimitiveType_Unstack ? static_cast<const mindspore::schema::v0::Unstack *>(value()) : nullptr;
2222   }
2223   const mindspore::schema::v0::LogicalAnd *value_as_LogicalAnd() const {
2224     return value_type() == mindspore::schema::v0::PrimitiveType_LogicalAnd ? static_cast<const mindspore::schema::v0::LogicalAnd *>(value()) : nullptr;
2225   }
2226   const mindspore::schema::v0::LogicalOr *value_as_LogicalOr() const {
2227     return value_type() == mindspore::schema::v0::PrimitiveType_LogicalOr ? static_cast<const mindspore::schema::v0::LogicalOr *>(value()) : nullptr;
2228   }
2229   const mindspore::schema::v0::LogicalXor *value_as_LogicalXor() const {
2230     return value_type() == mindspore::schema::v0::PrimitiveType_LogicalXor ? static_cast<const mindspore::schema::v0::LogicalXor *>(value()) : nullptr;
2231   }
2232   const mindspore::schema::v0::LogicalNot *value_as_LogicalNot() const {
2233     return value_type() == mindspore::schema::v0::PrimitiveType_LogicalNot ? static_cast<const mindspore::schema::v0::LogicalNot *>(value()) : nullptr;
2234   }
2235   const mindspore::schema::v0::OnnxInt8Quantize *value_as_OnnxInt8Quantize() const {
2236     return value_type() == mindspore::schema::v0::PrimitiveType_OnnxInt8Quantize ? static_cast<const mindspore::schema::v0::OnnxInt8Quantize *>(value()) : nullptr;
2237   }
2238   const mindspore::schema::v0::OnnxInt8Dequantize *value_as_OnnxInt8Dequantize() const {
2239     return value_type() == mindspore::schema::v0::PrimitiveType_OnnxInt8Dequantize ? static_cast<const mindspore::schema::v0::OnnxInt8Dequantize *>(value()) : nullptr;
2240   }
2241   const mindspore::schema::v0::FakeQuantWithMinMax *value_as_FakeQuantWithMinMax() const {
2242     return value_type() == mindspore::schema::v0::PrimitiveType_FakeQuantWithMinMax ? static_cast<const mindspore::schema::v0::FakeQuantWithMinMax *>(value()) : nullptr;
2243   }
2244   const mindspore::schema::v0::FakeQuantWithMinMaxPerChannel *value_as_FakeQuantWithMinMaxPerChannel() const {
2245     return value_type() == mindspore::schema::v0::PrimitiveType_FakeQuantWithMinMaxPerChannel ? static_cast<const mindspore::schema::v0::FakeQuantWithMinMaxPerChannel *>(value()) : nullptr;
2246   }
2247   const mindspore::schema::v0::BatchNormFold *value_as_BatchNormFold() const {
2248     return value_type() == mindspore::schema::v0::PrimitiveType_BatchNormFold ? static_cast<const mindspore::schema::v0::BatchNormFold *>(value()) : nullptr;
2249   }
2250   const mindspore::schema::v0::MulFold *value_as_MulFold() const {
2251     return value_type() == mindspore::schema::v0::PrimitiveType_MulFold ? static_cast<const mindspore::schema::v0::MulFold *>(value()) : nullptr;
2252   }
2253   const mindspore::schema::v0::AddFold *value_as_AddFold() const {
2254     return value_type() == mindspore::schema::v0::PrimitiveType_AddFold ? static_cast<const mindspore::schema::v0::AddFold *>(value()) : nullptr;
2255   }
2256   const mindspore::schema::v0::SquaredDifference *value_as_SquaredDifference() const {
2257     return value_type() == mindspore::schema::v0::PrimitiveType_SquaredDifference ? static_cast<const mindspore::schema::v0::SquaredDifference *>(value()) : nullptr;
2258   }
2259   const mindspore::schema::v0::Flatten *value_as_Flatten() const {
2260     return value_type() == mindspore::schema::v0::PrimitiveType_Flatten ? static_cast<const mindspore::schema::v0::Flatten *>(value()) : nullptr;
2261   }
2262   const mindspore::schema::v0::FlattenGrad *value_as_FlattenGrad() const {
2263     return value_type() == mindspore::schema::v0::PrimitiveType_FlattenGrad ? static_cast<const mindspore::schema::v0::FlattenGrad *>(value()) : nullptr;
2264   }
2265   const mindspore::schema::v0::TupleGetItem *value_as_TupleGetItem() const {
2266     return value_type() == mindspore::schema::v0::PrimitiveType_TupleGetItem ? static_cast<const mindspore::schema::v0::TupleGetItem *>(value()) : nullptr;
2267   }
2268   const mindspore::schema::v0::Div *value_as_Div() const {
2269     return value_type() == mindspore::schema::v0::PrimitiveType_Div ? static_cast<const mindspore::schema::v0::Div *>(value()) : nullptr;
2270   }
2271   const mindspore::schema::v0::Where *value_as_Where() const {
2272     return value_type() == mindspore::schema::v0::PrimitiveType_Where ? static_cast<const mindspore::schema::v0::Where *>(value()) : nullptr;
2273   }
2274   const mindspore::schema::v0::OneHot *value_as_OneHot() const {
2275     return value_type() == mindspore::schema::v0::PrimitiveType_OneHot ? static_cast<const mindspore::schema::v0::OneHot *>(value()) : nullptr;
2276   }
2277   const mindspore::schema::v0::Lstm *value_as_Lstm() const {
2278     return value_type() == mindspore::schema::v0::PrimitiveType_Lstm ? static_cast<const mindspore::schema::v0::Lstm *>(value()) : nullptr;
2279   }
2280   const mindspore::schema::v0::Conv2DGradFilter *value_as_Conv2DGradFilter() const {
2281     return value_type() == mindspore::schema::v0::PrimitiveType_Conv2DGradFilter ? static_cast<const mindspore::schema::v0::Conv2DGradFilter *>(value()) : nullptr;
2282   }
2283   const mindspore::schema::v0::Conv2DGradInput *value_as_Conv2DGradInput() const {
2284     return value_type() == mindspore::schema::v0::PrimitiveType_Conv2DGradInput ? static_cast<const mindspore::schema::v0::Conv2DGradInput *>(value()) : nullptr;
2285   }
2286   const mindspore::schema::v0::PoolingGrad *value_as_PoolingGrad() const {
2287     return value_type() == mindspore::schema::v0::PrimitiveType_PoolingGrad ? static_cast<const mindspore::schema::v0::PoolingGrad *>(value()) : nullptr;
2288   }
2289   const mindspore::schema::v0::BNGrad *value_as_BNGrad() const {
2290     return value_type() == mindspore::schema::v0::PrimitiveType_BNGrad ? static_cast<const mindspore::schema::v0::BNGrad *>(value()) : nullptr;
2291   }
2292   const mindspore::schema::v0::Assign *value_as_Assign() const {
2293     return value_type() == mindspore::schema::v0::PrimitiveType_Assign ? static_cast<const mindspore::schema::v0::Assign *>(value()) : nullptr;
2294   }
2295   const mindspore::schema::v0::ApplyMomentum *value_as_ApplyMomentum() const {
2296     return value_type() == mindspore::schema::v0::PrimitiveType_ApplyMomentum ? static_cast<const mindspore::schema::v0::ApplyMomentum *>(value()) : nullptr;
2297   }
2298   const mindspore::schema::v0::BiasGrad *value_as_BiasGrad() const {
2299     return value_type() == mindspore::schema::v0::PrimitiveType_BiasGrad ? static_cast<const mindspore::schema::v0::BiasGrad *>(value()) : nullptr;
2300   }
2301   const mindspore::schema::v0::SoftmaxCrossEntropy *value_as_SoftmaxCrossEntropy() const {
2302     return value_type() == mindspore::schema::v0::PrimitiveType_SoftmaxCrossEntropy ? static_cast<const mindspore::schema::v0::SoftmaxCrossEntropy *>(value()) : nullptr;
2303   }
2304   const mindspore::schema::v0::AddGrad *value_as_AddGrad() const {
2305     return value_type() == mindspore::schema::v0::PrimitiveType_AddGrad ? static_cast<const mindspore::schema::v0::AddGrad *>(value()) : nullptr;
2306   }
2307   const mindspore::schema::v0::SubGrad *value_as_SubGrad() const {
2308     return value_type() == mindspore::schema::v0::PrimitiveType_SubGrad ? static_cast<const mindspore::schema::v0::SubGrad *>(value()) : nullptr;
2309   }
2310   const mindspore::schema::v0::MulGrad *value_as_MulGrad() const {
2311     return value_type() == mindspore::schema::v0::PrimitiveType_MulGrad ? static_cast<const mindspore::schema::v0::MulGrad *>(value()) : nullptr;
2312   }
2313   const mindspore::schema::v0::DivGrad *value_as_DivGrad() const {
2314     return value_type() == mindspore::schema::v0::PrimitiveType_DivGrad ? static_cast<const mindspore::schema::v0::DivGrad *>(value()) : nullptr;
2315   }
2316   const mindspore::schema::v0::PowerGrad *value_as_PowerGrad() const {
2317     return value_type() == mindspore::schema::v0::PrimitiveType_PowerGrad ? static_cast<const mindspore::schema::v0::PowerGrad *>(value()) : nullptr;
2318   }
2319   const mindspore::schema::v0::ActivationGrad *value_as_ActivationGrad() const {
2320     return value_type() == mindspore::schema::v0::PrimitiveType_ActivationGrad ? static_cast<const mindspore::schema::v0::ActivationGrad *>(value()) : nullptr;
2321   }
2322   const mindspore::schema::v0::PriorBox *value_as_PriorBox() const {
2323     return value_type() == mindspore::schema::v0::PrimitiveType_PriorBox ? static_cast<const mindspore::schema::v0::PriorBox *>(value()) : nullptr;
2324   }
2325   const mindspore::schema::v0::SpaceToBatchND *value_as_SpaceToBatchND() const {
2326     return value_type() == mindspore::schema::v0::PrimitiveType_SpaceToBatchND ? static_cast<const mindspore::schema::v0::SpaceToBatchND *>(value()) : nullptr;
2327   }
2328   const mindspore::schema::v0::Depend *value_as_Depend() const {
2329     return value_type() == mindspore::schema::v0::PrimitiveType_Depend ? static_cast<const mindspore::schema::v0::Depend *>(value()) : nullptr;
2330   }
2331   const mindspore::schema::v0::Return *value_as_Return() const {
2332     return value_type() == mindspore::schema::v0::PrimitiveType_Return ? static_cast<const mindspore::schema::v0::Return *>(value()) : nullptr;
2333   }
2334   const mindspore::schema::v0::MakeTuple *value_as_MakeTuple() const {
2335     return value_type() == mindspore::schema::v0::PrimitiveType_MakeTuple ? static_cast<const mindspore::schema::v0::MakeTuple *>(value()) : nullptr;
2336   }
2337   const mindspore::schema::v0::ToFormat *value_as_ToFormat() const {
2338     return value_type() == mindspore::schema::v0::PrimitiveType_ToFormat ? static_cast<const mindspore::schema::v0::ToFormat *>(value()) : nullptr;
2339   }
2340   const mindspore::schema::v0::Proposal *value_as_Proposal() const {
2341     return value_type() == mindspore::schema::v0::PrimitiveType_Proposal ? static_cast<const mindspore::schema::v0::Proposal *>(value()) : nullptr;
2342   }
2343   const mindspore::schema::v0::Custom *value_as_Custom() const {
2344     return value_type() == mindspore::schema::v0::PrimitiveType_Custom ? static_cast<const mindspore::schema::v0::Custom *>(value()) : nullptr;
2345   }
2346   const mindspore::schema::v0::BlackBox *value_as_BlackBox() const {
2347     return value_type() == mindspore::schema::v0::PrimitiveType_BlackBox ? static_cast<const mindspore::schema::v0::BlackBox *>(value()) : nullptr;
2348   }
2349   const mindspore::schema::v0::NegGrad *value_as_NegGrad() const {
2350     return value_type() == mindspore::schema::v0::PrimitiveType_NegGrad ? static_cast<const mindspore::schema::v0::NegGrad *>(value()) : nullptr;
2351   }
2352   const mindspore::schema::v0::LogGrad *value_as_LogGrad() const {
2353     return value_type() == mindspore::schema::v0::PrimitiveType_LogGrad ? static_cast<const mindspore::schema::v0::LogGrad *>(value()) : nullptr;
2354   }
2355   const mindspore::schema::v0::BatchToSpaceND *value_as_BatchToSpaceND() const {
2356     return value_type() == mindspore::schema::v0::PrimitiveType_BatchToSpaceND ? static_cast<const mindspore::schema::v0::BatchToSpaceND *>(value()) : nullptr;
2357   }
2358   const mindspore::schema::v0::LshProjection *value_as_LshProjection() const {
2359     return value_type() == mindspore::schema::v0::PrimitiveType_LshProjection ? static_cast<const mindspore::schema::v0::LshProjection *>(value()) : nullptr;
2360   }
2361   const mindspore::schema::v0::HashtableLookup *value_as_HashtableLookup() const {
2362     return value_type() == mindspore::schema::v0::PrimitiveType_HashtableLookup ? static_cast<const mindspore::schema::v0::HashtableLookup *>(value()) : nullptr;
2363   }
2364   const mindspore::schema::v0::SkipGram *value_as_SkipGram() const {
2365     return value_type() == mindspore::schema::v0::PrimitiveType_SkipGram ? static_cast<const mindspore::schema::v0::SkipGram *>(value()) : nullptr;
2366   }
2367   const mindspore::schema::v0::DeConv2DGradFilter *value_as_DeConv2DGradFilter() const {
2368     return value_type() == mindspore::schema::v0::PrimitiveType_DeConv2DGradFilter ? static_cast<const mindspore::schema::v0::DeConv2DGradFilter *>(value()) : nullptr;
2369   }
2370   const mindspore::schema::v0::CustomPredict *value_as_CustomPredict() const {
2371     return value_type() == mindspore::schema::v0::PrimitiveType_CustomPredict ? static_cast<const mindspore::schema::v0::CustomPredict *>(value()) : nullptr;
2372   }
2373   const mindspore::schema::v0::CustomNormalize *value_as_CustomNormalize() const {
2374     return value_type() == mindspore::schema::v0::PrimitiveType_CustomNormalize ? static_cast<const mindspore::schema::v0::CustomNormalize *>(value()) : nullptr;
2375   }
2376   const mindspore::schema::v0::CustomExtractFeatures *value_as_CustomExtractFeatures() const {
2377     return value_type() == mindspore::schema::v0::PrimitiveType_CustomExtractFeatures ? static_cast<const mindspore::schema::v0::CustomExtractFeatures *>(value()) : nullptr;
2378   }
2379   const mindspore::schema::v0::AudioSpectrogram *value_as_AudioSpectrogram() const {
2380     return value_type() == mindspore::schema::v0::PrimitiveType_AudioSpectrogram ? static_cast<const mindspore::schema::v0::AudioSpectrogram *>(value()) : nullptr;
2381   }
2382   const mindspore::schema::v0::Mfcc *value_as_Mfcc() const {
2383     return value_type() == mindspore::schema::v0::PrimitiveType_Mfcc ? static_cast<const mindspore::schema::v0::Mfcc *>(value()) : nullptr;
2384   }
2385   const mindspore::schema::v0::Rfft *value_as_Rfft() const {
2386     return value_type() == mindspore::schema::v0::PrimitiveType_Rfft ? static_cast<const mindspore::schema::v0::Rfft *>(value()) : nullptr;
2387   }
2388   const mindspore::schema::v0::FftReal *value_as_FftReal() const {
2389     return value_type() == mindspore::schema::v0::PrimitiveType_FftReal ? static_cast<const mindspore::schema::v0::FftReal *>(value()) : nullptr;
2390   }
2391   const mindspore::schema::v0::FftImag *value_as_FftImag() const {
2392     return value_type() == mindspore::schema::v0::PrimitiveType_FftImag ? static_cast<const mindspore::schema::v0::FftImag *>(value()) : nullptr;
2393   }
2394   const mindspore::schema::v0::Sgd *value_as_Sgd() const {
2395     return value_type() == mindspore::schema::v0::PrimitiveType_Sgd ? static_cast<const mindspore::schema::v0::Sgd *>(value()) : nullptr;
2396   }
2397   const mindspore::schema::v0::Adam *value_as_Adam() const {
2398     return value_type() == mindspore::schema::v0::PrimitiveType_Adam ? static_cast<const mindspore::schema::v0::Adam *>(value()) : nullptr;
2399   }
2400   const mindspore::schema::v0::GroupConv2DGradInput *value_as_GroupConv2DGradInput() const {
2401     return value_type() == mindspore::schema::v0::PrimitiveType_GroupConv2DGradInput ? static_cast<const mindspore::schema::v0::GroupConv2DGradInput *>(value()) : nullptr;
2402   }
2403   const mindspore::schema::v0::Loop *value_as_Loop() const {
2404     return value_type() == mindspore::schema::v0::PrimitiveType_Loop ? static_cast<const mindspore::schema::v0::Loop *>(value()) : nullptr;
2405   }
2406   const mindspore::schema::v0::NonMaxSuppression *value_as_NonMaxSuppression() const {
2407     return value_type() == mindspore::schema::v0::PrimitiveType_NonMaxSuppression ? static_cast<const mindspore::schema::v0::NonMaxSuppression *>(value()) : nullptr;
2408   }
2409   const mindspore::schema::v0::InstanceNorm *value_as_InstanceNorm() const {
2410     return value_type() == mindspore::schema::v0::PrimitiveType_InstanceNorm ? static_cast<const mindspore::schema::v0::InstanceNorm *>(value()) : nullptr;
2411   }
2412   const mindspore::schema::v0::Identity *value_as_Identity() const {
2413     return value_type() == mindspore::schema::v0::PrimitiveType_Identity ? static_cast<const mindspore::schema::v0::Identity *>(value()) : nullptr;
2414   }
2415   const mindspore::schema::v0::LayerNorm *value_as_LayerNorm() const {
2416     return value_type() == mindspore::schema::v0::PrimitiveType_LayerNorm ? static_cast<const mindspore::schema::v0::LayerNorm *>(value()) : nullptr;
2417   }
2418   const mindspore::schema::v0::While *value_as_While() const {
2419     return value_type() == mindspore::schema::v0::PrimitiveType_While ? static_cast<const mindspore::schema::v0::While *>(value()) : nullptr;
2420   }
2421   const mindspore::schema::v0::ControlDepend *value_as_ControlDepend() const {
2422     return value_type() == mindspore::schema::v0::PrimitiveType_ControlDepend ? static_cast<const mindspore::schema::v0::ControlDepend *>(value()) : nullptr;
2423   }
2424   const mindspore::schema::v0::UnsortedSegmentSum *value_as_UnsortedSegmentSum() const {
2425     return value_type() == mindspore::schema::v0::PrimitiveType_UnsortedSegmentSum ? static_cast<const mindspore::schema::v0::UnsortedSegmentSum *>(value()) : nullptr;
2426   }
2427   const mindspore::schema::v0::AssignAdd *value_as_AssignAdd() const {
2428     return value_type() == mindspore::schema::v0::PrimitiveType_AssignAdd ? static_cast<const mindspore::schema::v0::AssignAdd *>(value()) : nullptr;
2429   }
2430   const mindspore::schema::v0::OnesLike *value_as_OnesLike() const {
2431     return value_type() == mindspore::schema::v0::PrimitiveType_OnesLike ? static_cast<const mindspore::schema::v0::OnesLike *>(value()) : nullptr;
2432   }
2433   const mindspore::schema::v0::BinaryCrossEntropyGrad *value_as_BinaryCrossEntropyGrad() const {
2434     return value_type() == mindspore::schema::v0::PrimitiveType_BinaryCrossEntropyGrad ? static_cast<const mindspore::schema::v0::BinaryCrossEntropyGrad *>(value()) : nullptr;
2435   }
2436   const mindspore::schema::v0::BinaryCrossEntropy *value_as_BinaryCrossEntropy() const {
2437     return value_type() == mindspore::schema::v0::PrimitiveType_BinaryCrossEntropy ? static_cast<const mindspore::schema::v0::BinaryCrossEntropy *>(value()) : nullptr;
2438   }
2439   const mindspore::schema::v0::LpNormalization *value_as_LpNormalization() const {
2440     return value_type() == mindspore::schema::v0::PrimitiveType_LpNormalization ? static_cast<const mindspore::schema::v0::LpNormalization *>(value()) : nullptr;
2441   }
2442   const mindspore::schema::v0::DropoutGrad *value_as_DropoutGrad() const {
2443     return value_type() == mindspore::schema::v0::PrimitiveType_DropoutGrad ? static_cast<const mindspore::schema::v0::DropoutGrad *>(value()) : nullptr;
2444   }
2445   const mindspore::schema::v0::MaximumGrad *value_as_MaximumGrad() const {
2446     return value_type() == mindspore::schema::v0::PrimitiveType_MaximumGrad ? static_cast<const mindspore::schema::v0::MaximumGrad *>(value()) : nullptr;
2447   }
2448   const mindspore::schema::v0::MinimumGrad *value_as_MinimumGrad() const {
2449     return value_type() == mindspore::schema::v0::PrimitiveType_MinimumGrad ? static_cast<const mindspore::schema::v0::MinimumGrad *>(value()) : nullptr;
2450   }
2451   const mindspore::schema::v0::Switch *value_as_Switch() const {
2452     return value_type() == mindspore::schema::v0::PrimitiveType_Switch ? static_cast<const mindspore::schema::v0::Switch *>(value()) : nullptr;
2453   }
2454   const mindspore::schema::v0::Partial *value_as_Partial() const {
2455     return value_type() == mindspore::schema::v0::PrimitiveType_Partial ? static_cast<const mindspore::schema::v0::Partial *>(value()) : nullptr;
2456   }
2457   const mindspore::schema::v0::TensorListFromTensor *value_as_TensorListFromTensor() const {
2458     return value_type() == mindspore::schema::v0::PrimitiveType_TensorListFromTensor ? static_cast<const mindspore::schema::v0::TensorListFromTensor *>(value()) : nullptr;
2459   }
2460   const mindspore::schema::v0::TensorListStack *value_as_TensorListStack() const {
2461     return value_type() == mindspore::schema::v0::PrimitiveType_TensorListStack ? static_cast<const mindspore::schema::v0::TensorListStack *>(value()) : nullptr;
2462   }
2463   const mindspore::schema::v0::TensorListGetItem *value_as_TensorListGetItem() const {
2464     return value_type() == mindspore::schema::v0::PrimitiveType_TensorListGetItem ? static_cast<const mindspore::schema::v0::TensorListGetItem *>(value()) : nullptr;
2465   }
2466   const mindspore::schema::v0::TensorListSetItem *value_as_TensorListSetItem() const {
2467     return value_type() == mindspore::schema::v0::PrimitiveType_TensorListSetItem ? static_cast<const mindspore::schema::v0::TensorListSetItem *>(value()) : nullptr;
2468   }
2469   const mindspore::schema::v0::TensorListReserve *value_as_TensorListReserve() const {
2470     return value_type() == mindspore::schema::v0::PrimitiveType_TensorListReserve ? static_cast<const mindspore::schema::v0::TensorListReserve *>(value()) : nullptr;
2471   }
2472   const mindspore::schema::v0::All *value_as_All() const {
2473     return value_type() == mindspore::schema::v0::PrimitiveType_All ? static_cast<const mindspore::schema::v0::All *>(value()) : nullptr;
2474   }
2475   const mindspore::schema::v0::Assert *value_as_Assert() const {
2476     return value_type() == mindspore::schema::v0::PrimitiveType_Assert ? static_cast<const mindspore::schema::v0::Assert *>(value()) : nullptr;
2477   }
2478   const mindspore::schema::v0::Adder *value_as_Adder() const {
2479     return value_type() == mindspore::schema::v0::PrimitiveType_Adder ? static_cast<const mindspore::schema::v0::Adder *>(value()) : nullptr;
2480   }
2481   const mindspore::schema::v0::SparseSoftmaxCrossEntropy *value_as_SparseSoftmaxCrossEntropy() const {
2482     return value_type() == mindspore::schema::v0::PrimitiveType_SparseSoftmaxCrossEntropy ? static_cast<const mindspore::schema::v0::SparseSoftmaxCrossEntropy *>(value()) : nullptr;
2483   }
2484   const mindspore::schema::v0::SmoothL1Loss *value_as_SmoothL1Loss() const {
2485     return value_type() == mindspore::schema::v0::PrimitiveType_SmoothL1Loss ? static_cast<const mindspore::schema::v0::SmoothL1Loss *>(value()) : nullptr;
2486   }
2487   const mindspore::schema::v0::SmoothL1LossGrad *value_as_SmoothL1LossGrad() const {
2488     return value_type() == mindspore::schema::v0::PrimitiveType_SmoothL1LossGrad ? static_cast<const mindspore::schema::v0::SmoothL1LossGrad *>(value()) : nullptr;
2489   }
2490   const mindspore::schema::v0::SigmoidCrossEntropyWithLogits *value_as_SigmoidCrossEntropyWithLogits() const {
2491     return value_type() == mindspore::schema::v0::PrimitiveType_SigmoidCrossEntropyWithLogits ? static_cast<const mindspore::schema::v0::SigmoidCrossEntropyWithLogits *>(value()) : nullptr;
2492   }
2493   const mindspore::schema::v0::SigmoidCrossEntropyWithLogitsGrad *value_as_SigmoidCrossEntropyWithLogitsGrad() const {
2494     return value_type() == mindspore::schema::v0::PrimitiveType_SigmoidCrossEntropyWithLogitsGrad ? static_cast<const mindspore::schema::v0::SigmoidCrossEntropyWithLogitsGrad *>(value()) : nullptr;
2495   }
2496   const mindspore::schema::v0::Reciprocal *value_as_Reciprocal() const {
2497     return value_type() == mindspore::schema::v0::PrimitiveType_Reciprocal ? static_cast<const mindspore::schema::v0::Reciprocal *>(value()) : nullptr;
2498   }
2499   const mindspore::schema::v0::Merge *value_as_Merge() const {
2500     return value_type() == mindspore::schema::v0::PrimitiveType_Merge ? static_cast<const mindspore::schema::v0::Merge *>(value()) : nullptr;
2501   }
2502   const mindspore::schema::v0::Mod *value_as_Mod() const {
2503     return value_type() == mindspore::schema::v0::PrimitiveType_Mod ? static_cast<const mindspore::schema::v0::Mod *>(value()) : nullptr;
2504   }
2505   const mindspore::schema::v0::GeLU *value_as_GeLU() const {
2506     return value_type() == mindspore::schema::v0::PrimitiveType_GeLU ? static_cast<const mindspore::schema::v0::GeLU *>(value()) : nullptr;
2507   }
2508   bool Verify(flatbuffers::Verifier &verifier) const {
2509     return VerifyTableStart(verifier) &&
2510            VerifyField<uint8_t>(verifier, VT_VALUE_TYPE) &&
2511            VerifyOffset(verifier, VT_VALUE) &&
2512            VerifyPrimitiveType(verifier, value(), value_type()) &&
2513            verifier.EndTable();
2514   }
2515 };
2516 
2517 template<> inline const mindspore::schema::v0::Concat *Primitive::value_as<mindspore::schema::v0::Concat>() const {
2518   return value_as_Concat();
2519 }
2520 
2521 template<> inline const mindspore::schema::v0::SoftMax *Primitive::value_as<mindspore::schema::v0::SoftMax>() const {
2522   return value_as_SoftMax();
2523 }
2524 
2525 template<> inline const mindspore::schema::v0::Activation *Primitive::value_as<mindspore::schema::v0::Activation>() const {
2526   return value_as_Activation();
2527 }
2528 
2529 template<> inline const mindspore::schema::v0::Conv2D *Primitive::value_as<mindspore::schema::v0::Conv2D>() const {
2530   return value_as_Conv2D();
2531 }
2532 
2533 template<> inline const mindspore::schema::v0::FusedBatchNorm *Primitive::value_as<mindspore::schema::v0::FusedBatchNorm>() const {
2534   return value_as_FusedBatchNorm();
2535 }
2536 
2537 template<> inline const mindspore::schema::v0::BatchNorm *Primitive::value_as<mindspore::schema::v0::BatchNorm>() const {
2538   return value_as_BatchNorm();
2539 }
2540 
2541 template<> inline const mindspore::schema::v0::BiasAdd *Primitive::value_as<mindspore::schema::v0::BiasAdd>() const {
2542   return value_as_BiasAdd();
2543 }
2544 
2545 template<> inline const mindspore::schema::v0::Pooling *Primitive::value_as<mindspore::schema::v0::Pooling>() const {
2546   return value_as_Pooling();
2547 }
2548 
2549 template<> inline const mindspore::schema::v0::ROIPooling *Primitive::value_as<mindspore::schema::v0::ROIPooling>() const {
2550   return value_as_ROIPooling();
2551 }
2552 
2553 template<> inline const mindspore::schema::v0::DepthwiseConv2D *Primitive::value_as<mindspore::schema::v0::DepthwiseConv2D>() const {
2554   return value_as_DepthwiseConv2D();
2555 }
2556 
2557 template<> inline const mindspore::schema::v0::DeDepthwiseConv2D *Primitive::value_as<mindspore::schema::v0::DeDepthwiseConv2D>() const {
2558   return value_as_DeDepthwiseConv2D();
2559 }
2560 
2561 template<> inline const mindspore::schema::v0::Resize *Primitive::value_as<mindspore::schema::v0::Resize>() const {
2562   return value_as_Resize();
2563 }
2564 
2565 template<> inline const mindspore::schema::v0::DetectionPostProcess *Primitive::value_as<mindspore::schema::v0::DetectionPostProcess>() const {
2566   return value_as_DetectionPostProcess();
2567 }
2568 
2569 template<> inline const mindspore::schema::v0::FullConnection *Primitive::value_as<mindspore::schema::v0::FullConnection>() const {
2570   return value_as_FullConnection();
2571 }
2572 
2573 template<> inline const mindspore::schema::v0::Mean *Primitive::value_as<mindspore::schema::v0::Mean>() const {
2574   return value_as_Mean();
2575 }
2576 
2577 template<> inline const mindspore::schema::v0::DeConv2D *Primitive::value_as<mindspore::schema::v0::DeConv2D>() const {
2578   return value_as_DeConv2D();
2579 }
2580 
2581 template<> inline const mindspore::schema::v0::Scale *Primitive::value_as<mindspore::schema::v0::Scale>() const {
2582   return value_as_Scale();
2583 }
2584 
2585 template<> inline const mindspore::schema::v0::Reshape *Primitive::value_as<mindspore::schema::v0::Reshape>() const {
2586   return value_as_Reshape();
2587 }
2588 
2589 template<> inline const mindspore::schema::v0::Eltwise *Primitive::value_as<mindspore::schema::v0::Eltwise>() const {
2590   return value_as_Eltwise();
2591 }
2592 
2593 template<> inline const mindspore::schema::v0::NetOutput *Primitive::value_as<mindspore::schema::v0::NetOutput>() const {
2594   return value_as_NetOutput();
2595 }
2596 
2597 template<> inline const mindspore::schema::v0::Add *Primitive::value_as<mindspore::schema::v0::Add>() const {
2598   return value_as_Add();
2599 }
2600 
2601 template<> inline const mindspore::schema::v0::Sub *Primitive::value_as<mindspore::schema::v0::Sub>() const {
2602   return value_as_Sub();
2603 }
2604 
2605 template<> inline const mindspore::schema::v0::MatMul *Primitive::value_as<mindspore::schema::v0::MatMul>() const {
2606   return value_as_MatMul();
2607 }
2608 
2609 template<> inline const mindspore::schema::v0::StridedSlice *Primitive::value_as<mindspore::schema::v0::StridedSlice>() const {
2610   return value_as_StridedSlice();
2611 }
2612 
2613 template<> inline const mindspore::schema::v0::Power *Primitive::value_as<mindspore::schema::v0::Power>() const {
2614   return value_as_Power();
2615 }
2616 
2617 template<> inline const mindspore::schema::v0::Slice *Primitive::value_as<mindspore::schema::v0::Slice>() const {
2618   return value_as_Slice();
2619 }
2620 
2621 template<> inline const mindspore::schema::v0::Stack *Primitive::value_as<mindspore::schema::v0::Stack>() const {
2622   return value_as_Stack();
2623 }
2624 
2625 template<> inline const mindspore::schema::v0::Mul *Primitive::value_as<mindspore::schema::v0::Mul>() const {
2626   return value_as_Mul();
2627 }
2628 
2629 template<> inline const mindspore::schema::v0::RealDiv *Primitive::value_as<mindspore::schema::v0::RealDiv>() const {
2630   return value_as_RealDiv();
2631 }
2632 
2633 template<> inline const mindspore::schema::v0::Pad *Primitive::value_as<mindspore::schema::v0::Pad>() const {
2634   return value_as_Pad();
2635 }
2636 
2637 template<> inline const mindspore::schema::v0::Maximum *Primitive::value_as<mindspore::schema::v0::Maximum>() const {
2638   return value_as_Maximum();
2639 }
2640 
2641 template<> inline const mindspore::schema::v0::Minimum *Primitive::value_as<mindspore::schema::v0::Minimum>() const {
2642   return value_as_Minimum();
2643 }
2644 
2645 template<> inline const mindspore::schema::v0::PReLU *Primitive::value_as<mindspore::schema::v0::PReLU>() const {
2646   return value_as_PReLU();
2647 }
2648 
2649 template<> inline const mindspore::schema::v0::LeakyReLU *Primitive::value_as<mindspore::schema::v0::LeakyReLU>() const {
2650   return value_as_LeakyReLU();
2651 }
2652 
2653 template<> inline const mindspore::schema::v0::ArgMax *Primitive::value_as<mindspore::schema::v0::ArgMax>() const {
2654   return value_as_ArgMax();
2655 }
2656 
2657 template<> inline const mindspore::schema::v0::ArgMin *Primitive::value_as<mindspore::schema::v0::ArgMin>() const {
2658   return value_as_ArgMin();
2659 }
2660 
2661 template<> inline const mindspore::schema::v0::Exp *Primitive::value_as<mindspore::schema::v0::Exp>() const {
2662   return value_as_Exp();
2663 }
2664 
2665 template<> inline const mindspore::schema::v0::Crop *Primitive::value_as<mindspore::schema::v0::Crop>() const {
2666   return value_as_Crop();
2667 }
2668 
2669 template<> inline const mindspore::schema::v0::Range *Primitive::value_as<mindspore::schema::v0::Range>() const {
2670   return value_as_Range();
2671 }
2672 
2673 template<> inline const mindspore::schema::v0::Rsqrt *Primitive::value_as<mindspore::schema::v0::Rsqrt>() const {
2674   return value_as_Rsqrt();
2675 }
2676 
2677 template<> inline const mindspore::schema::v0::ExpandDims *Primitive::value_as<mindspore::schema::v0::ExpandDims>() const {
2678   return value_as_ExpandDims();
2679 }
2680 
2681 template<> inline const mindspore::schema::v0::Tile *Primitive::value_as<mindspore::schema::v0::Tile>() const {
2682   return value_as_Tile();
2683 }
2684 
2685 template<> inline const mindspore::schema::v0::Cast *Primitive::value_as<mindspore::schema::v0::Cast>() const {
2686   return value_as_Cast();
2687 }
2688 
2689 template<> inline const mindspore::schema::v0::Shape *Primitive::value_as<mindspore::schema::v0::Shape>() const {
2690   return value_as_Shape();
2691 }
2692 
2693 template<> inline const mindspore::schema::v0::Nchw2Nhwc *Primitive::value_as<mindspore::schema::v0::Nchw2Nhwc>() const {
2694   return value_as_Nchw2Nhwc();
2695 }
2696 
2697 template<> inline const mindspore::schema::v0::Nhwc2Nchw *Primitive::value_as<mindspore::schema::v0::Nhwc2Nchw>() const {
2698   return value_as_Nhwc2Nchw();
2699 }
2700 
2701 template<> inline const mindspore::schema::v0::QuantDTypeCast *Primitive::value_as<mindspore::schema::v0::QuantDTypeCast>() const {
2702   return value_as_QuantDTypeCast();
2703 }
2704 
2705 template<> inline const mindspore::schema::v0::Split *Primitive::value_as<mindspore::schema::v0::Split>() const {
2706   return value_as_Split();
2707 }
2708 
2709 template<> inline const mindspore::schema::v0::Permute *Primitive::value_as<mindspore::schema::v0::Permute>() const {
2710   return value_as_Permute();
2711 }
2712 
2713 template<> inline const mindspore::schema::v0::FakeQuantWithMinMaxVars *Primitive::value_as<mindspore::schema::v0::FakeQuantWithMinMaxVars>() const {
2714   return value_as_FakeQuantWithMinMaxVars();
2715 }
2716 
2717 template<> inline const mindspore::schema::v0::Equal *Primitive::value_as<mindspore::schema::v0::Equal>() const {
2718   return value_as_Equal();
2719 }
2720 
2721 template<> inline const mindspore::schema::v0::Less *Primitive::value_as<mindspore::schema::v0::Less>() const {
2722   return value_as_Less();
2723 }
2724 
2725 template<> inline const mindspore::schema::v0::Greater *Primitive::value_as<mindspore::schema::v0::Greater>() const {
2726   return value_as_Greater();
2727 }
2728 
2729 template<> inline const mindspore::schema::v0::NotEqual *Primitive::value_as<mindspore::schema::v0::NotEqual>() const {
2730   return value_as_NotEqual();
2731 }
2732 
2733 template<> inline const mindspore::schema::v0::LessEqual *Primitive::value_as<mindspore::schema::v0::LessEqual>() const {
2734   return value_as_LessEqual();
2735 }
2736 
2737 template<> inline const mindspore::schema::v0::GreaterEqual *Primitive::value_as<mindspore::schema::v0::GreaterEqual>() const {
2738   return value_as_GreaterEqual();
2739 }
2740 
2741 template<> inline const mindspore::schema::v0::Min *Primitive::value_as<mindspore::schema::v0::Min>() const {
2742   return value_as_Min();
2743 }
2744 
2745 template<> inline const mindspore::schema::v0::Floor *Primitive::value_as<mindspore::schema::v0::Floor>() const {
2746   return value_as_Floor();
2747 }
2748 
2749 template<> inline const mindspore::schema::v0::Abs *Primitive::value_as<mindspore::schema::v0::Abs>() const {
2750   return value_as_Abs();
2751 }
2752 
2753 template<> inline const mindspore::schema::v0::Neg *Primitive::value_as<mindspore::schema::v0::Neg>() const {
2754   return value_as_Neg();
2755 }
2756 
2757 template<> inline const mindspore::schema::v0::Cos *Primitive::value_as<mindspore::schema::v0::Cos>() const {
2758   return value_as_Cos();
2759 }
2760 
2761 template<> inline const mindspore::schema::v0::Sin *Primitive::value_as<mindspore::schema::v0::Sin>() const {
2762   return value_as_Sin();
2763 }
2764 
2765 template<> inline const mindspore::schema::v0::Sqrt *Primitive::value_as<mindspore::schema::v0::Sqrt>() const {
2766   return value_as_Sqrt();
2767 }
2768 
2769 template<> inline const mindspore::schema::v0::Square *Primitive::value_as<mindspore::schema::v0::Square>() const {
2770   return value_as_Square();
2771 }
2772 
2773 template<> inline const mindspore::schema::v0::Constant *Primitive::value_as<mindspore::schema::v0::Constant>() const {
2774   return value_as_Constant();
2775 }
2776 
2777 template<> inline const mindspore::schema::v0::Log *Primitive::value_as<mindspore::schema::v0::Log>() const {
2778   return value_as_Log();
2779 }
2780 
2781 template<> inline const mindspore::schema::v0::Tan *Primitive::value_as<mindspore::schema::v0::Tan>() const {
2782   return value_as_Tan();
2783 }
2784 
2785 template<> inline const mindspore::schema::v0::Atan *Primitive::value_as<mindspore::schema::v0::Atan>() const {
2786   return value_as_Atan();
2787 }
2788 
2789 template<> inline const mindspore::schema::v0::Asin *Primitive::value_as<mindspore::schema::v0::Asin>() const {
2790   return value_as_Asin();
2791 }
2792 
2793 template<> inline const mindspore::schema::v0::Clip *Primitive::value_as<mindspore::schema::v0::Clip>() const {
2794   return value_as_Clip();
2795 }
2796 
2797 template<> inline const mindspore::schema::v0::Transpose *Primitive::value_as<mindspore::schema::v0::Transpose>() const {
2798   return value_as_Transpose();
2799 }
2800 
2801 template<> inline const mindspore::schema::v0::Squeeze *Primitive::value_as<mindspore::schema::v0::Squeeze>() const {
2802   return value_as_Squeeze();
2803 }
2804 
2805 template<> inline const mindspore::schema::v0::Unsqueeze *Primitive::value_as<mindspore::schema::v0::Unsqueeze>() const {
2806   return value_as_Unsqueeze();
2807 }
2808 
2809 template<> inline const mindspore::schema::v0::Upsample *Primitive::value_as<mindspore::schema::v0::Upsample>() const {
2810   return value_as_Upsample();
2811 }
2812 
2813 template<> inline const mindspore::schema::v0::Dropout *Primitive::value_as<mindspore::schema::v0::Dropout>() const {
2814   return value_as_Dropout();
2815 }
2816 
2817 template<> inline const mindspore::schema::v0::Broadcast *Primitive::value_as<mindspore::schema::v0::Broadcast>() const {
2818   return value_as_Broadcast();
2819 }
2820 
2821 template<> inline const mindspore::schema::v0::BroadcastTo *Primitive::value_as<mindspore::schema::v0::BroadcastTo>() const {
2822   return value_as_BroadcastTo();
2823 }
2824 
2825 template<> inline const mindspore::schema::v0::Lrn *Primitive::value_as<mindspore::schema::v0::Lrn>() const {
2826   return value_as_Lrn();
2827 }
2828 
2829 template<> inline const mindspore::schema::v0::ZerosLike *Primitive::value_as<mindspore::schema::v0::ZerosLike>() const {
2830   return value_as_ZerosLike();
2831 }
2832 
2833 template<> inline const mindspore::schema::v0::TopK *Primitive::value_as<mindspore::schema::v0::TopK>() const {
2834   return value_as_TopK();
2835 }
2836 
2837 template<> inline const mindspore::schema::v0::SpaceToDepth *Primitive::value_as<mindspore::schema::v0::SpaceToDepth>() const {
2838   return value_as_SpaceToDepth();
2839 }
2840 
2841 template<> inline const mindspore::schema::v0::SpaceToBatch *Primitive::value_as<mindspore::schema::v0::SpaceToBatch>() const {
2842   return value_as_SpaceToBatch();
2843 }
2844 
2845 template<> inline const mindspore::schema::v0::SparseToDense *Primitive::value_as<mindspore::schema::v0::SparseToDense>() const {
2846   return value_as_SparseToDense();
2847 }
2848 
2849 template<> inline const mindspore::schema::v0::ReverseSequence *Primitive::value_as<mindspore::schema::v0::ReverseSequence>() const {
2850   return value_as_ReverseSequence();
2851 }
2852 
2853 template<> inline const mindspore::schema::v0::Rank *Primitive::value_as<mindspore::schema::v0::Rank>() const {
2854   return value_as_Rank();
2855 }
2856 
2857 template<> inline const mindspore::schema::v0::Gather *Primitive::value_as<mindspore::schema::v0::Gather>() const {
2858   return value_as_Gather();
2859 }
2860 
2861 template<> inline const mindspore::schema::v0::GatherNd *Primitive::value_as<mindspore::schema::v0::GatherNd>() const {
2862   return value_as_GatherNd();
2863 }
2864 
2865 template<> inline const mindspore::schema::v0::Fill *Primitive::value_as<mindspore::schema::v0::Fill>() const {
2866   return value_as_Fill();
2867 }
2868 
2869 template<> inline const mindspore::schema::v0::Elu *Primitive::value_as<mindspore::schema::v0::Elu>() const {
2870   return value_as_Elu();
2871 }
2872 
2873 template<> inline const mindspore::schema::v0::DepthToSpace *Primitive::value_as<mindspore::schema::v0::DepthToSpace>() const {
2874   return value_as_DepthToSpace();
2875 }
2876 
2877 template<> inline const mindspore::schema::v0::BatchToSpace *Primitive::value_as<mindspore::schema::v0::BatchToSpace>() const {
2878   return value_as_BatchToSpace();
2879 }
2880 
2881 template<> inline const mindspore::schema::v0::AddN *Primitive::value_as<mindspore::schema::v0::AddN>() const {
2882   return value_as_AddN();
2883 }
2884 
2885 template<> inline const mindspore::schema::v0::Ceil *Primitive::value_as<mindspore::schema::v0::Ceil>() const {
2886   return value_as_Ceil();
2887 }
2888 
2889 template<> inline const mindspore::schema::v0::EmbeddingLookup *Primitive::value_as<mindspore::schema::v0::EmbeddingLookup>() const {
2890   return value_as_EmbeddingLookup();
2891 }
2892 
2893 template<> inline const mindspore::schema::v0::EmbeddingLookupSparse *Primitive::value_as<mindspore::schema::v0::EmbeddingLookupSparse>() const {
2894   return value_as_EmbeddingLookupSparse();
2895 }
2896 
2897 template<> inline const mindspore::schema::v0::FloorDiv *Primitive::value_as<mindspore::schema::v0::FloorDiv>() const {
2898   return value_as_FloorDiv();
2899 }
2900 
2901 template<> inline const mindspore::schema::v0::FloorMod *Primitive::value_as<mindspore::schema::v0::FloorMod>() const {
2902   return value_as_FloorMod();
2903 }
2904 
2905 template<> inline const mindspore::schema::v0::L2Norm *Primitive::value_as<mindspore::schema::v0::L2Norm>() const {
2906   return value_as_L2Norm();
2907 }
2908 
2909 template<> inline const mindspore::schema::v0::LocalResponseNormalization *Primitive::value_as<mindspore::schema::v0::LocalResponseNormalization>() const {
2910   return value_as_LocalResponseNormalization();
2911 }
2912 
2913 template<> inline const mindspore::schema::v0::MatrixDiag *Primitive::value_as<mindspore::schema::v0::MatrixDiag>() const {
2914   return value_as_MatrixDiag();
2915 }
2916 
2917 template<> inline const mindspore::schema::v0::Reduce *Primitive::value_as<mindspore::schema::v0::Reduce>() const {
2918   return value_as_Reduce();
2919 }
2920 
2921 template<> inline const mindspore::schema::v0::Reverse *Primitive::value_as<mindspore::schema::v0::Reverse>() const {
2922   return value_as_Reverse();
2923 }
2924 
2925 template<> inline const mindspore::schema::v0::Round *Primitive::value_as<mindspore::schema::v0::Round>() const {
2926   return value_as_Round();
2927 }
2928 
2929 template<> inline const mindspore::schema::v0::Select *Primitive::value_as<mindspore::schema::v0::Select>() const {
2930   return value_as_Select();
2931 }
2932 
2933 template<> inline const mindspore::schema::v0::Scatter *Primitive::value_as<mindspore::schema::v0::Scatter>() const {
2934   return value_as_Scatter();
2935 }
2936 
2937 template<> inline const mindspore::schema::v0::ScatterND *Primitive::value_as<mindspore::schema::v0::ScatterND>() const {
2938   return value_as_ScatterND();
2939 }
2940 
2941 template<> inline const mindspore::schema::v0::ConstantOfShape *Primitive::value_as<mindspore::schema::v0::ConstantOfShape>() const {
2942   return value_as_ConstantOfShape();
2943 }
2944 
2945 template<> inline const mindspore::schema::v0::Unique *Primitive::value_as<mindspore::schema::v0::Unique>() const {
2946   return value_as_Unique();
2947 }
2948 
2949 template<> inline const mindspore::schema::v0::Unstack *Primitive::value_as<mindspore::schema::v0::Unstack>() const {
2950   return value_as_Unstack();
2951 }
2952 
2953 template<> inline const mindspore::schema::v0::LogicalAnd *Primitive::value_as<mindspore::schema::v0::LogicalAnd>() const {
2954   return value_as_LogicalAnd();
2955 }
2956 
2957 template<> inline const mindspore::schema::v0::LogicalOr *Primitive::value_as<mindspore::schema::v0::LogicalOr>() const {
2958   return value_as_LogicalOr();
2959 }
2960 
2961 template<> inline const mindspore::schema::v0::LogicalXor *Primitive::value_as<mindspore::schema::v0::LogicalXor>() const {
2962   return value_as_LogicalXor();
2963 }
2964 
2965 template<> inline const mindspore::schema::v0::LogicalNot *Primitive::value_as<mindspore::schema::v0::LogicalNot>() const {
2966   return value_as_LogicalNot();
2967 }
2968 
2969 template<> inline const mindspore::schema::v0::OnnxInt8Quantize *Primitive::value_as<mindspore::schema::v0::OnnxInt8Quantize>() const {
2970   return value_as_OnnxInt8Quantize();
2971 }
2972 
2973 template<> inline const mindspore::schema::v0::OnnxInt8Dequantize *Primitive::value_as<mindspore::schema::v0::OnnxInt8Dequantize>() const {
2974   return value_as_OnnxInt8Dequantize();
2975 }
2976 
2977 template<> inline const mindspore::schema::v0::FakeQuantWithMinMax *Primitive::value_as<mindspore::schema::v0::FakeQuantWithMinMax>() const {
2978   return value_as_FakeQuantWithMinMax();
2979 }
2980 
2981 template<> inline const mindspore::schema::v0::FakeQuantWithMinMaxPerChannel *Primitive::value_as<mindspore::schema::v0::FakeQuantWithMinMaxPerChannel>() const {
2982   return value_as_FakeQuantWithMinMaxPerChannel();
2983 }
2984 
2985 template<> inline const mindspore::schema::v0::BatchNormFold *Primitive::value_as<mindspore::schema::v0::BatchNormFold>() const {
2986   return value_as_BatchNormFold();
2987 }
2988 
2989 template<> inline const mindspore::schema::v0::MulFold *Primitive::value_as<mindspore::schema::v0::MulFold>() const {
2990   return value_as_MulFold();
2991 }
2992 
2993 template<> inline const mindspore::schema::v0::AddFold *Primitive::value_as<mindspore::schema::v0::AddFold>() const {
2994   return value_as_AddFold();
2995 }
2996 
2997 template<> inline const mindspore::schema::v0::SquaredDifference *Primitive::value_as<mindspore::schema::v0::SquaredDifference>() const {
2998   return value_as_SquaredDifference();
2999 }
3000 
3001 template<> inline const mindspore::schema::v0::Flatten *Primitive::value_as<mindspore::schema::v0::Flatten>() const {
3002   return value_as_Flatten();
3003 }
3004 
3005 template<> inline const mindspore::schema::v0::FlattenGrad *Primitive::value_as<mindspore::schema::v0::FlattenGrad>() const {
3006   return value_as_FlattenGrad();
3007 }
3008 
3009 template<> inline const mindspore::schema::v0::TupleGetItem *Primitive::value_as<mindspore::schema::v0::TupleGetItem>() const {
3010   return value_as_TupleGetItem();
3011 }
3012 
3013 template<> inline const mindspore::schema::v0::Div *Primitive::value_as<mindspore::schema::v0::Div>() const {
3014   return value_as_Div();
3015 }
3016 
3017 template<> inline const mindspore::schema::v0::Where *Primitive::value_as<mindspore::schema::v0::Where>() const {
3018   return value_as_Where();
3019 }
3020 
3021 template<> inline const mindspore::schema::v0::OneHot *Primitive::value_as<mindspore::schema::v0::OneHot>() const {
3022   return value_as_OneHot();
3023 }
3024 
3025 template<> inline const mindspore::schema::v0::Lstm *Primitive::value_as<mindspore::schema::v0::Lstm>() const {
3026   return value_as_Lstm();
3027 }
3028 
3029 template<> inline const mindspore::schema::v0::Conv2DGradFilter *Primitive::value_as<mindspore::schema::v0::Conv2DGradFilter>() const {
3030   return value_as_Conv2DGradFilter();
3031 }
3032 
3033 template<> inline const mindspore::schema::v0::Conv2DGradInput *Primitive::value_as<mindspore::schema::v0::Conv2DGradInput>() const {
3034   return value_as_Conv2DGradInput();
3035 }
3036 
3037 template<> inline const mindspore::schema::v0::PoolingGrad *Primitive::value_as<mindspore::schema::v0::PoolingGrad>() const {
3038   return value_as_PoolingGrad();
3039 }
3040 
3041 template<> inline const mindspore::schema::v0::BNGrad *Primitive::value_as<mindspore::schema::v0::BNGrad>() const {
3042   return value_as_BNGrad();
3043 }
3044 
3045 template<> inline const mindspore::schema::v0::Assign *Primitive::value_as<mindspore::schema::v0::Assign>() const {
3046   return value_as_Assign();
3047 }
3048 
3049 template<> inline const mindspore::schema::v0::ApplyMomentum *Primitive::value_as<mindspore::schema::v0::ApplyMomentum>() const {
3050   return value_as_ApplyMomentum();
3051 }
3052 
3053 template<> inline const mindspore::schema::v0::BiasGrad *Primitive::value_as<mindspore::schema::v0::BiasGrad>() const {
3054   return value_as_BiasGrad();
3055 }
3056 
3057 template<> inline const mindspore::schema::v0::SoftmaxCrossEntropy *Primitive::value_as<mindspore::schema::v0::SoftmaxCrossEntropy>() const {
3058   return value_as_SoftmaxCrossEntropy();
3059 }
3060 
3061 template<> inline const mindspore::schema::v0::AddGrad *Primitive::value_as<mindspore::schema::v0::AddGrad>() const {
3062   return value_as_AddGrad();
3063 }
3064 
3065 template<> inline const mindspore::schema::v0::SubGrad *Primitive::value_as<mindspore::schema::v0::SubGrad>() const {
3066   return value_as_SubGrad();
3067 }
3068 
3069 template<> inline const mindspore::schema::v0::MulGrad *Primitive::value_as<mindspore::schema::v0::MulGrad>() const {
3070   return value_as_MulGrad();
3071 }
3072 
3073 template<> inline const mindspore::schema::v0::DivGrad *Primitive::value_as<mindspore::schema::v0::DivGrad>() const {
3074   return value_as_DivGrad();
3075 }
3076 
3077 template<> inline const mindspore::schema::v0::PowerGrad *Primitive::value_as<mindspore::schema::v0::PowerGrad>() const {
3078   return value_as_PowerGrad();
3079 }
3080 
3081 template<> inline const mindspore::schema::v0::ActivationGrad *Primitive::value_as<mindspore::schema::v0::ActivationGrad>() const {
3082   return value_as_ActivationGrad();
3083 }
3084 
3085 template<> inline const mindspore::schema::v0::PriorBox *Primitive::value_as<mindspore::schema::v0::PriorBox>() const {
3086   return value_as_PriorBox();
3087 }
3088 
3089 template<> inline const mindspore::schema::v0::SpaceToBatchND *Primitive::value_as<mindspore::schema::v0::SpaceToBatchND>() const {
3090   return value_as_SpaceToBatchND();
3091 }
3092 
3093 template<> inline const mindspore::schema::v0::Depend *Primitive::value_as<mindspore::schema::v0::Depend>() const {
3094   return value_as_Depend();
3095 }
3096 
3097 template<> inline const mindspore::schema::v0::Return *Primitive::value_as<mindspore::schema::v0::Return>() const {
3098   return value_as_Return();
3099 }
3100 
3101 template<> inline const mindspore::schema::v0::MakeTuple *Primitive::value_as<mindspore::schema::v0::MakeTuple>() const {
3102   return value_as_MakeTuple();
3103 }
3104 
3105 template<> inline const mindspore::schema::v0::ToFormat *Primitive::value_as<mindspore::schema::v0::ToFormat>() const {
3106   return value_as_ToFormat();
3107 }
3108 
3109 template<> inline const mindspore::schema::v0::Proposal *Primitive::value_as<mindspore::schema::v0::Proposal>() const {
3110   return value_as_Proposal();
3111 }
3112 
3113 template<> inline const mindspore::schema::v0::Custom *Primitive::value_as<mindspore::schema::v0::Custom>() const {
3114   return value_as_Custom();
3115 }
3116 
3117 template<> inline const mindspore::schema::v0::BlackBox *Primitive::value_as<mindspore::schema::v0::BlackBox>() const {
3118   return value_as_BlackBox();
3119 }
3120 
3121 template<> inline const mindspore::schema::v0::NegGrad *Primitive::value_as<mindspore::schema::v0::NegGrad>() const {
3122   return value_as_NegGrad();
3123 }
3124 
3125 template<> inline const mindspore::schema::v0::LogGrad *Primitive::value_as<mindspore::schema::v0::LogGrad>() const {
3126   return value_as_LogGrad();
3127 }
3128 
3129 template<> inline const mindspore::schema::v0::BatchToSpaceND *Primitive::value_as<mindspore::schema::v0::BatchToSpaceND>() const {
3130   return value_as_BatchToSpaceND();
3131 }
3132 
3133 template<> inline const mindspore::schema::v0::LshProjection *Primitive::value_as<mindspore::schema::v0::LshProjection>() const {
3134   return value_as_LshProjection();
3135 }
3136 
3137 template<> inline const mindspore::schema::v0::HashtableLookup *Primitive::value_as<mindspore::schema::v0::HashtableLookup>() const {
3138   return value_as_HashtableLookup();
3139 }
3140 
3141 template<> inline const mindspore::schema::v0::SkipGram *Primitive::value_as<mindspore::schema::v0::SkipGram>() const {
3142   return value_as_SkipGram();
3143 }
3144 
3145 template<> inline const mindspore::schema::v0::DeConv2DGradFilter *Primitive::value_as<mindspore::schema::v0::DeConv2DGradFilter>() const {
3146   return value_as_DeConv2DGradFilter();
3147 }
3148 
3149 template<> inline const mindspore::schema::v0::CustomPredict *Primitive::value_as<mindspore::schema::v0::CustomPredict>() const {
3150   return value_as_CustomPredict();
3151 }
3152 
3153 template<> inline const mindspore::schema::v0::CustomNormalize *Primitive::value_as<mindspore::schema::v0::CustomNormalize>() const {
3154   return value_as_CustomNormalize();
3155 }
3156 
3157 template<> inline const mindspore::schema::v0::CustomExtractFeatures *Primitive::value_as<mindspore::schema::v0::CustomExtractFeatures>() const {
3158   return value_as_CustomExtractFeatures();
3159 }
3160 
3161 template<> inline const mindspore::schema::v0::AudioSpectrogram *Primitive::value_as<mindspore::schema::v0::AudioSpectrogram>() const {
3162   return value_as_AudioSpectrogram();
3163 }
3164 
3165 template<> inline const mindspore::schema::v0::Mfcc *Primitive::value_as<mindspore::schema::v0::Mfcc>() const {
3166   return value_as_Mfcc();
3167 }
3168 
3169 template<> inline const mindspore::schema::v0::Rfft *Primitive::value_as<mindspore::schema::v0::Rfft>() const {
3170   return value_as_Rfft();
3171 }
3172 
3173 template<> inline const mindspore::schema::v0::FftReal *Primitive::value_as<mindspore::schema::v0::FftReal>() const {
3174   return value_as_FftReal();
3175 }
3176 
3177 template<> inline const mindspore::schema::v0::FftImag *Primitive::value_as<mindspore::schema::v0::FftImag>() const {
3178   return value_as_FftImag();
3179 }
3180 
3181 template<> inline const mindspore::schema::v0::Sgd *Primitive::value_as<mindspore::schema::v0::Sgd>() const {
3182   return value_as_Sgd();
3183 }
3184 
3185 template<> inline const mindspore::schema::v0::Adam *Primitive::value_as<mindspore::schema::v0::Adam>() const {
3186   return value_as_Adam();
3187 }
3188 
3189 template<> inline const mindspore::schema::v0::GroupConv2DGradInput *Primitive::value_as<mindspore::schema::v0::GroupConv2DGradInput>() const {
3190   return value_as_GroupConv2DGradInput();
3191 }
3192 
3193 template<> inline const mindspore::schema::v0::Loop *Primitive::value_as<mindspore::schema::v0::Loop>() const {
3194   return value_as_Loop();
3195 }
3196 
3197 template<> inline const mindspore::schema::v0::NonMaxSuppression *Primitive::value_as<mindspore::schema::v0::NonMaxSuppression>() const {
3198   return value_as_NonMaxSuppression();
3199 }
3200 
3201 template<> inline const mindspore::schema::v0::InstanceNorm *Primitive::value_as<mindspore::schema::v0::InstanceNorm>() const {
3202   return value_as_InstanceNorm();
3203 }
3204 
3205 template<> inline const mindspore::schema::v0::Identity *Primitive::value_as<mindspore::schema::v0::Identity>() const {
3206   return value_as_Identity();
3207 }
3208 
3209 template<> inline const mindspore::schema::v0::LayerNorm *Primitive::value_as<mindspore::schema::v0::LayerNorm>() const {
3210   return value_as_LayerNorm();
3211 }
3212 
3213 template<> inline const mindspore::schema::v0::While *Primitive::value_as<mindspore::schema::v0::While>() const {
3214   return value_as_While();
3215 }
3216 
3217 template<> inline const mindspore::schema::v0::ControlDepend *Primitive::value_as<mindspore::schema::v0::ControlDepend>() const {
3218   return value_as_ControlDepend();
3219 }
3220 
3221 template<> inline const mindspore::schema::v0::UnsortedSegmentSum *Primitive::value_as<mindspore::schema::v0::UnsortedSegmentSum>() const {
3222   return value_as_UnsortedSegmentSum();
3223 }
3224 
3225 template<> inline const mindspore::schema::v0::AssignAdd *Primitive::value_as<mindspore::schema::v0::AssignAdd>() const {
3226   return value_as_AssignAdd();
3227 }
3228 
3229 template<> inline const mindspore::schema::v0::OnesLike *Primitive::value_as<mindspore::schema::v0::OnesLike>() const {
3230   return value_as_OnesLike();
3231 }
3232 
3233 template<> inline const mindspore::schema::v0::BinaryCrossEntropyGrad *Primitive::value_as<mindspore::schema::v0::BinaryCrossEntropyGrad>() const {
3234   return value_as_BinaryCrossEntropyGrad();
3235 }
3236 
3237 template<> inline const mindspore::schema::v0::BinaryCrossEntropy *Primitive::value_as<mindspore::schema::v0::BinaryCrossEntropy>() const {
3238   return value_as_BinaryCrossEntropy();
3239 }
3240 
3241 template<> inline const mindspore::schema::v0::LpNormalization *Primitive::value_as<mindspore::schema::v0::LpNormalization>() const {
3242   return value_as_LpNormalization();
3243 }
3244 
3245 template<> inline const mindspore::schema::v0::DropoutGrad *Primitive::value_as<mindspore::schema::v0::DropoutGrad>() const {
3246   return value_as_DropoutGrad();
3247 }
3248 
3249 template<> inline const mindspore::schema::v0::MaximumGrad *Primitive::value_as<mindspore::schema::v0::MaximumGrad>() const {
3250   return value_as_MaximumGrad();
3251 }
3252 
3253 template<> inline const mindspore::schema::v0::MinimumGrad *Primitive::value_as<mindspore::schema::v0::MinimumGrad>() const {
3254   return value_as_MinimumGrad();
3255 }
3256 
3257 template<> inline const mindspore::schema::v0::Switch *Primitive::value_as<mindspore::schema::v0::Switch>() const {
3258   return value_as_Switch();
3259 }
3260 
3261 template<> inline const mindspore::schema::v0::Partial *Primitive::value_as<mindspore::schema::v0::Partial>() const {
3262   return value_as_Partial();
3263 }
3264 
3265 template<> inline const mindspore::schema::v0::TensorListFromTensor *Primitive::value_as<mindspore::schema::v0::TensorListFromTensor>() const {
3266   return value_as_TensorListFromTensor();
3267 }
3268 
3269 template<> inline const mindspore::schema::v0::TensorListStack *Primitive::value_as<mindspore::schema::v0::TensorListStack>() const {
3270   return value_as_TensorListStack();
3271 }
3272 
3273 template<> inline const mindspore::schema::v0::TensorListGetItem *Primitive::value_as<mindspore::schema::v0::TensorListGetItem>() const {
3274   return value_as_TensorListGetItem();
3275 }
3276 
3277 template<> inline const mindspore::schema::v0::TensorListSetItem *Primitive::value_as<mindspore::schema::v0::TensorListSetItem>() const {
3278   return value_as_TensorListSetItem();
3279 }
3280 
3281 template<> inline const mindspore::schema::v0::TensorListReserve *Primitive::value_as<mindspore::schema::v0::TensorListReserve>() const {
3282   return value_as_TensorListReserve();
3283 }
3284 
3285 template<> inline const mindspore::schema::v0::All *Primitive::value_as<mindspore::schema::v0::All>() const {
3286   return value_as_All();
3287 }
3288 
3289 template<> inline const mindspore::schema::v0::Assert *Primitive::value_as<mindspore::schema::v0::Assert>() const {
3290   return value_as_Assert();
3291 }
3292 
3293 template<> inline const mindspore::schema::v0::Adder *Primitive::value_as<mindspore::schema::v0::Adder>() const {
3294   return value_as_Adder();
3295 }
3296 
3297 template<> inline const mindspore::schema::v0::SparseSoftmaxCrossEntropy *Primitive::value_as<mindspore::schema::v0::SparseSoftmaxCrossEntropy>() const {
3298   return value_as_SparseSoftmaxCrossEntropy();
3299 }
3300 
3301 template<> inline const mindspore::schema::v0::SmoothL1Loss *Primitive::value_as<mindspore::schema::v0::SmoothL1Loss>() const {
3302   return value_as_SmoothL1Loss();
3303 }
3304 
3305 template<> inline const mindspore::schema::v0::SmoothL1LossGrad *Primitive::value_as<mindspore::schema::v0::SmoothL1LossGrad>() const {
3306   return value_as_SmoothL1LossGrad();
3307 }
3308 
3309 template<> inline const mindspore::schema::v0::SigmoidCrossEntropyWithLogits *Primitive::value_as<mindspore::schema::v0::SigmoidCrossEntropyWithLogits>() const {
3310   return value_as_SigmoidCrossEntropyWithLogits();
3311 }
3312 
3313 template<> inline const mindspore::schema::v0::SigmoidCrossEntropyWithLogitsGrad *Primitive::value_as<mindspore::schema::v0::SigmoidCrossEntropyWithLogitsGrad>() const {
3314   return value_as_SigmoidCrossEntropyWithLogitsGrad();
3315 }
3316 
3317 template<> inline const mindspore::schema::v0::Reciprocal *Primitive::value_as<mindspore::schema::v0::Reciprocal>() const {
3318   return value_as_Reciprocal();
3319 }
3320 
3321 template<> inline const mindspore::schema::v0::Merge *Primitive::value_as<mindspore::schema::v0::Merge>() const {
3322   return value_as_Merge();
3323 }
3324 
3325 template<> inline const mindspore::schema::v0::Mod *Primitive::value_as<mindspore::schema::v0::Mod>() const {
3326   return value_as_Mod();
3327 }
3328 
3329 template<> inline const mindspore::schema::v0::GeLU *Primitive::value_as<mindspore::schema::v0::GeLU>() const {
3330   return value_as_GeLU();
3331 }
3332 
3333 struct PrimitiveBuilder {
3334   typedef Primitive Table;
3335   flatbuffers::FlatBufferBuilder &fbb_;
3336   flatbuffers::uoffset_t start_;
3337   void add_value_type(mindspore::schema::v0::PrimitiveType value_type) {
3338     fbb_.AddElement<uint8_t>(Primitive::VT_VALUE_TYPE, static_cast<uint8_t>(value_type), 0);
3339   }
3340   void add_value(flatbuffers::Offset<void> value) {
3341     fbb_.AddOffset(Primitive::VT_VALUE, value);
3342   }
3343   explicit PrimitiveBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3344         : fbb_(_fbb) {
3345     start_ = fbb_.StartTable();
3346   }
3347   flatbuffers::Offset<Primitive> Finish() {
3348     const auto end = fbb_.EndTable(start_);
3349     auto o = flatbuffers::Offset<Primitive>(end);
3350     return o;
3351   }
3352 };
3353 
3354 inline flatbuffers::Offset<Primitive> CreatePrimitive(
3355     flatbuffers::FlatBufferBuilder &_fbb,
3356     mindspore::schema::v0::PrimitiveType value_type = mindspore::schema::v0::PrimitiveType_NONE,
3357     flatbuffers::Offset<void> value = 0) {
3358   PrimitiveBuilder builder_(_fbb);
3359   builder_.add_value(value);
3360   builder_.add_value_type(value_type);
3361   return builder_.Finish();
3362 }
3363 
3364 struct CNode FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3365   typedef CNodeBuilder Builder;
3366   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3367     VT_NAME = 4,
3368     VT_NODETYPE = 6,
3369     VT_PRIMITIVE = 8,
3370     VT_INPUTINDEX = 10,
3371     VT_OUTPUTINDEX = 12,
3372     VT_QUANTTYPE = 14
3373   };
3374   const flatbuffers::String *name() const {
3375     return GetPointer<const flatbuffers::String *>(VT_NAME);
3376   }
3377   mindspore::schema::v0::NodeType nodeType() const {
3378     return static_cast<mindspore::schema::v0::NodeType>(GetField<int32_t>(VT_NODETYPE, 2));
3379   }
3380   const mindspore::schema::v0::Primitive *primitive() const {
3381     return GetPointer<const mindspore::schema::v0::Primitive *>(VT_PRIMITIVE);
3382   }
3383   const flatbuffers::Vector<uint32_t> *inputIndex() const {
3384     return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_INPUTINDEX);
3385   }
3386   const flatbuffers::Vector<uint32_t> *outputIndex() const {
3387     return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_OUTPUTINDEX);
3388   }
3389   mindspore::schema::v0::QuantType quantType() const {
3390     return static_cast<mindspore::schema::v0::QuantType>(GetField<int32_t>(VT_QUANTTYPE, 0));
3391   }
3392   bool Verify(flatbuffers::Verifier &verifier) const {
3393     return VerifyTableStart(verifier) &&
3394            VerifyOffset(verifier, VT_NAME) &&
3395            verifier.VerifyString(name()) &&
3396            VerifyField<int32_t>(verifier, VT_NODETYPE) &&
3397            VerifyOffset(verifier, VT_PRIMITIVE) &&
3398            verifier.VerifyTable(primitive()) &&
3399            VerifyOffset(verifier, VT_INPUTINDEX) &&
3400            verifier.VerifyVector(inputIndex()) &&
3401            VerifyOffset(verifier, VT_OUTPUTINDEX) &&
3402            verifier.VerifyVector(outputIndex()) &&
3403            VerifyField<int32_t>(verifier, VT_QUANTTYPE) &&
3404            verifier.EndTable();
3405   }
3406 };
3407 
3408 struct CNodeBuilder {
3409   typedef CNode Table;
3410   flatbuffers::FlatBufferBuilder &fbb_;
3411   flatbuffers::uoffset_t start_;
3412   void add_name(flatbuffers::Offset<flatbuffers::String> name) {
3413     fbb_.AddOffset(CNode::VT_NAME, name);
3414   }
3415   void add_nodeType(mindspore::schema::v0::NodeType nodeType) {
3416     fbb_.AddElement<int32_t>(CNode::VT_NODETYPE, static_cast<int32_t>(nodeType), 2);
3417   }
3418   void add_primitive(flatbuffers::Offset<mindspore::schema::v0::Primitive> primitive) {
3419     fbb_.AddOffset(CNode::VT_PRIMITIVE, primitive);
3420   }
3421   void add_inputIndex(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> inputIndex) {
3422     fbb_.AddOffset(CNode::VT_INPUTINDEX, inputIndex);
3423   }
3424   void add_outputIndex(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> outputIndex) {
3425     fbb_.AddOffset(CNode::VT_OUTPUTINDEX, outputIndex);
3426   }
3427   void add_quantType(mindspore::schema::v0::QuantType quantType) {
3428     fbb_.AddElement<int32_t>(CNode::VT_QUANTTYPE, static_cast<int32_t>(quantType), 0);
3429   }
3430   explicit CNodeBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3431         : fbb_(_fbb) {
3432     start_ = fbb_.StartTable();
3433   }
3434   flatbuffers::Offset<CNode> Finish() {
3435     const auto end = fbb_.EndTable(start_);
3436     auto o = flatbuffers::Offset<CNode>(end);
3437     return o;
3438   }
3439 };
3440 
3441 inline flatbuffers::Offset<CNode> CreateCNode(
3442     flatbuffers::FlatBufferBuilder &_fbb,
3443     flatbuffers::Offset<flatbuffers::String> name = 0,
3444     mindspore::schema::v0::NodeType nodeType = mindspore::schema::v0::NodeType_CNode,
3445     flatbuffers::Offset<mindspore::schema::v0::Primitive> primitive = 0,
3446     flatbuffers::Offset<flatbuffers::Vector<uint32_t>> inputIndex = 0,
3447     flatbuffers::Offset<flatbuffers::Vector<uint32_t>> outputIndex = 0,
3448     mindspore::schema::v0::QuantType quantType = mindspore::schema::v0::QuantType_QUANT_NONE) {
3449   CNodeBuilder builder_(_fbb);
3450   builder_.add_quantType(quantType);
3451   builder_.add_outputIndex(outputIndex);
3452   builder_.add_inputIndex(inputIndex);
3453   builder_.add_primitive(primitive);
3454   builder_.add_nodeType(nodeType);
3455   builder_.add_name(name);
3456   return builder_.Finish();
3457 }
3458 
3459 inline flatbuffers::Offset<CNode> CreateCNodeDirect(
3460     flatbuffers::FlatBufferBuilder &_fbb,
3461     const char *name = nullptr,
3462     mindspore::schema::v0::NodeType nodeType = mindspore::schema::v0::NodeType_CNode,
3463     flatbuffers::Offset<mindspore::schema::v0::Primitive> primitive = 0,
3464     const std::vector<uint32_t> *inputIndex = nullptr,
3465     const std::vector<uint32_t> *outputIndex = nullptr,
3466     mindspore::schema::v0::QuantType quantType = mindspore::schema::v0::QuantType_QUANT_NONE) {
3467   auto name__ = name ? _fbb.CreateString(name) : 0;
3468   auto inputIndex__ = inputIndex ? _fbb.CreateVector<uint32_t>(*inputIndex) : 0;
3469   auto outputIndex__ = outputIndex ? _fbb.CreateVector<uint32_t>(*outputIndex) : 0;
3470   return mindspore::schema::v0::CreateCNode(
3471       _fbb,
3472       name__,
3473       nodeType,
3474       primitive,
3475       inputIndex__,
3476       outputIndex__,
3477       quantType);
3478 }
3479 
3480 struct SubGraph FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3481   typedef SubGraphBuilder Builder;
3482   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3483     VT_NAME = 4,
3484     VT_INPUTINDICES = 6,
3485     VT_OUTPUTINDICES = 8,
3486     VT_NODEINDICES = 10,
3487     VT_TENSORINDICES = 12
3488   };
3489   const flatbuffers::String *name() const {
3490     return GetPointer<const flatbuffers::String *>(VT_NAME);
3491   }
3492   const flatbuffers::Vector<uint32_t> *inputIndices() const {
3493     return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_INPUTINDICES);
3494   }
3495   const flatbuffers::Vector<uint32_t> *outputIndices() const {
3496     return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_OUTPUTINDICES);
3497   }
3498   const flatbuffers::Vector<uint32_t> *nodeIndices() const {
3499     return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_NODEINDICES);
3500   }
3501   const flatbuffers::Vector<uint32_t> *tensorIndices() const {
3502     return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_TENSORINDICES);
3503   }
3504   bool Verify(flatbuffers::Verifier &verifier) const {
3505     return VerifyTableStart(verifier) &&
3506            VerifyOffset(verifier, VT_NAME) &&
3507            verifier.VerifyString(name()) &&
3508            VerifyOffset(verifier, VT_INPUTINDICES) &&
3509            verifier.VerifyVector(inputIndices()) &&
3510            VerifyOffset(verifier, VT_OUTPUTINDICES) &&
3511            verifier.VerifyVector(outputIndices()) &&
3512            VerifyOffset(verifier, VT_NODEINDICES) &&
3513            verifier.VerifyVector(nodeIndices()) &&
3514            VerifyOffset(verifier, VT_TENSORINDICES) &&
3515            verifier.VerifyVector(tensorIndices()) &&
3516            verifier.EndTable();
3517   }
3518 };
3519 
3520 struct SubGraphBuilder {
3521   typedef SubGraph Table;
3522   flatbuffers::FlatBufferBuilder &fbb_;
3523   flatbuffers::uoffset_t start_;
3524   void add_name(flatbuffers::Offset<flatbuffers::String> name) {
3525     fbb_.AddOffset(SubGraph::VT_NAME, name);
3526   }
3527   void add_inputIndices(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> inputIndices) {
3528     fbb_.AddOffset(SubGraph::VT_INPUTINDICES, inputIndices);
3529   }
3530   void add_outputIndices(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> outputIndices) {
3531     fbb_.AddOffset(SubGraph::VT_OUTPUTINDICES, outputIndices);
3532   }
3533   void add_nodeIndices(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> nodeIndices) {
3534     fbb_.AddOffset(SubGraph::VT_NODEINDICES, nodeIndices);
3535   }
3536   void add_tensorIndices(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> tensorIndices) {
3537     fbb_.AddOffset(SubGraph::VT_TENSORINDICES, tensorIndices);
3538   }
3539   explicit SubGraphBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3540         : fbb_(_fbb) {
3541     start_ = fbb_.StartTable();
3542   }
3543   flatbuffers::Offset<SubGraph> Finish() {
3544     const auto end = fbb_.EndTable(start_);
3545     auto o = flatbuffers::Offset<SubGraph>(end);
3546     return o;
3547   }
3548 };
3549 
3550 inline flatbuffers::Offset<SubGraph> CreateSubGraph(
3551     flatbuffers::FlatBufferBuilder &_fbb,
3552     flatbuffers::Offset<flatbuffers::String> name = 0,
3553     flatbuffers::Offset<flatbuffers::Vector<uint32_t>> inputIndices = 0,
3554     flatbuffers::Offset<flatbuffers::Vector<uint32_t>> outputIndices = 0,
3555     flatbuffers::Offset<flatbuffers::Vector<uint32_t>> nodeIndices = 0,
3556     flatbuffers::Offset<flatbuffers::Vector<uint32_t>> tensorIndices = 0) {
3557   SubGraphBuilder builder_(_fbb);
3558   builder_.add_tensorIndices(tensorIndices);
3559   builder_.add_nodeIndices(nodeIndices);
3560   builder_.add_outputIndices(outputIndices);
3561   builder_.add_inputIndices(inputIndices);
3562   builder_.add_name(name);
3563   return builder_.Finish();
3564 }
3565 
3566 inline flatbuffers::Offset<SubGraph> CreateSubGraphDirect(
3567     flatbuffers::FlatBufferBuilder &_fbb,
3568     const char *name = nullptr,
3569     const std::vector<uint32_t> *inputIndices = nullptr,
3570     const std::vector<uint32_t> *outputIndices = nullptr,
3571     const std::vector<uint32_t> *nodeIndices = nullptr,
3572     const std::vector<uint32_t> *tensorIndices = nullptr) {
3573   auto name__ = name ? _fbb.CreateString(name) : 0;
3574   auto inputIndices__ = inputIndices ? _fbb.CreateVector<uint32_t>(*inputIndices) : 0;
3575   auto outputIndices__ = outputIndices ? _fbb.CreateVector<uint32_t>(*outputIndices) : 0;
3576   auto nodeIndices__ = nodeIndices ? _fbb.CreateVector<uint32_t>(*nodeIndices) : 0;
3577   auto tensorIndices__ = tensorIndices ? _fbb.CreateVector<uint32_t>(*tensorIndices) : 0;
3578   return mindspore::schema::v0::CreateSubGraph(
3579       _fbb,
3580       name__,
3581       inputIndices__,
3582       outputIndices__,
3583       nodeIndices__,
3584       tensorIndices__);
3585 }
3586 
3587 struct MetaGraph FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3588   typedef MetaGraphBuilder Builder;
3589   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3590     VT_NAME = 4,
3591     VT_VERSION = 6,
3592     VT_FMKTYPE = 8,
3593     VT_INPUTINDEX = 10,
3594     VT_OUTPUTINDEX = 12,
3595     VT_MEMPOOLSIZE = 14,
3596     VT_NODES = 16,
3597     VT_ALLTENSORS = 18,
3598     VT_SUBGRAPH = 20
3599   };
3600   const flatbuffers::String *name() const {
3601     return GetPointer<const flatbuffers::String *>(VT_NAME);
3602   }
3603   const flatbuffers::String *version() const {
3604     return GetPointer<const flatbuffers::String *>(VT_VERSION);
3605   }
3606   int32_t fmkType() const {
3607     return GetField<int32_t>(VT_FMKTYPE, 0);
3608   }
3609   const flatbuffers::Vector<uint32_t> *inputIndex() const {
3610     return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_INPUTINDEX);
3611   }
3612   const flatbuffers::Vector<uint32_t> *outputIndex() const {
3613     return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_OUTPUTINDEX);
3614   }
3615   uint32_t mempoolSize() const {
3616     return GetField<uint32_t>(VT_MEMPOOLSIZE, 0);
3617   }
3618   const flatbuffers::Vector<flatbuffers::Offset<mindspore::schema::v0::CNode>> *nodes() const {
3619     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<mindspore::schema::v0::CNode>> *>(VT_NODES);
3620   }
3621   const flatbuffers::Vector<flatbuffers::Offset<mindspore::schema::v0::Tensor>> *allTensors() const {
3622     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<mindspore::schema::v0::Tensor>> *>(VT_ALLTENSORS);
3623   }
3624   const flatbuffers::Vector<flatbuffers::Offset<mindspore::schema::v0::SubGraph>> *subGraph() const {
3625     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<mindspore::schema::v0::SubGraph>> *>(VT_SUBGRAPH);
3626   }
3627   bool Verify(flatbuffers::Verifier &verifier) const {
3628     return VerifyTableStart(verifier) &&
3629            VerifyOffset(verifier, VT_NAME) &&
3630            verifier.VerifyString(name()) &&
3631            VerifyOffset(verifier, VT_VERSION) &&
3632            verifier.VerifyString(version()) &&
3633            VerifyField<int32_t>(verifier, VT_FMKTYPE) &&
3634            VerifyOffset(verifier, VT_INPUTINDEX) &&
3635            verifier.VerifyVector(inputIndex()) &&
3636            VerifyOffset(verifier, VT_OUTPUTINDEX) &&
3637            verifier.VerifyVector(outputIndex()) &&
3638            VerifyField<uint32_t>(verifier, VT_MEMPOOLSIZE) &&
3639            VerifyOffset(verifier, VT_NODES) &&
3640            verifier.VerifyVector(nodes()) &&
3641            verifier.VerifyVectorOfTables(nodes()) &&
3642            VerifyOffset(verifier, VT_ALLTENSORS) &&
3643            verifier.VerifyVector(allTensors()) &&
3644            verifier.VerifyVectorOfTables(allTensors()) &&
3645            VerifyOffset(verifier, VT_SUBGRAPH) &&
3646            verifier.VerifyVector(subGraph()) &&
3647            verifier.VerifyVectorOfTables(subGraph()) &&
3648            verifier.EndTable();
3649   }
3650 };
3651 
3652 struct MetaGraphBuilder {
3653   typedef MetaGraph Table;
3654   flatbuffers::FlatBufferBuilder &fbb_;
3655   flatbuffers::uoffset_t start_;
3656   void add_name(flatbuffers::Offset<flatbuffers::String> name) {
3657     fbb_.AddOffset(MetaGraph::VT_NAME, name);
3658   }
3659   void add_version(flatbuffers::Offset<flatbuffers::String> version) {
3660     fbb_.AddOffset(MetaGraph::VT_VERSION, version);
3661   }
3662   void add_fmkType(int32_t fmkType) {
3663     fbb_.AddElement<int32_t>(MetaGraph::VT_FMKTYPE, fmkType, 0);
3664   }
3665   void add_inputIndex(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> inputIndex) {
3666     fbb_.AddOffset(MetaGraph::VT_INPUTINDEX, inputIndex);
3667   }
3668   void add_outputIndex(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> outputIndex) {
3669     fbb_.AddOffset(MetaGraph::VT_OUTPUTINDEX, outputIndex);
3670   }
3671   void add_mempoolSize(uint32_t mempoolSize) {
3672     fbb_.AddElement<uint32_t>(MetaGraph::VT_MEMPOOLSIZE, mempoolSize, 0);
3673   }
3674   void add_nodes(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<mindspore::schema::v0::CNode>>> nodes) {
3675     fbb_.AddOffset(MetaGraph::VT_NODES, nodes);
3676   }
3677   void add_allTensors(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<mindspore::schema::v0::Tensor>>> allTensors) {
3678     fbb_.AddOffset(MetaGraph::VT_ALLTENSORS, allTensors);
3679   }
3680   void add_subGraph(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<mindspore::schema::v0::SubGraph>>> subGraph) {
3681     fbb_.AddOffset(MetaGraph::VT_SUBGRAPH, subGraph);
3682   }
3683   explicit MetaGraphBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3684         : fbb_(_fbb) {
3685     start_ = fbb_.StartTable();
3686   }
3687   flatbuffers::Offset<MetaGraph> Finish() {
3688     const auto end = fbb_.EndTable(start_);
3689     auto o = flatbuffers::Offset<MetaGraph>(end);
3690     return o;
3691   }
3692 };
3693 
3694 inline flatbuffers::Offset<MetaGraph> CreateMetaGraph(
3695     flatbuffers::FlatBufferBuilder &_fbb,
3696     flatbuffers::Offset<flatbuffers::String> name = 0,
3697     flatbuffers::Offset<flatbuffers::String> version = 0,
3698     int32_t fmkType = 0,
3699     flatbuffers::Offset<flatbuffers::Vector<uint32_t>> inputIndex = 0,
3700     flatbuffers::Offset<flatbuffers::Vector<uint32_t>> outputIndex = 0,
3701     uint32_t mempoolSize = 0,
3702     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<mindspore::schema::v0::CNode>>> nodes = 0,
3703     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<mindspore::schema::v0::Tensor>>> allTensors = 0,
3704     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<mindspore::schema::v0::SubGraph>>> subGraph = 0) {
3705   MetaGraphBuilder builder_(_fbb);
3706   builder_.add_subGraph(subGraph);
3707   builder_.add_allTensors(allTensors);
3708   builder_.add_nodes(nodes);
3709   builder_.add_mempoolSize(mempoolSize);
3710   builder_.add_outputIndex(outputIndex);
3711   builder_.add_inputIndex(inputIndex);
3712   builder_.add_fmkType(fmkType);
3713   builder_.add_version(version);
3714   builder_.add_name(name);
3715   return builder_.Finish();
3716 }
3717 
3718 inline flatbuffers::Offset<MetaGraph> CreateMetaGraphDirect(
3719     flatbuffers::FlatBufferBuilder &_fbb,
3720     const char *name = nullptr,
3721     const char *version = nullptr,
3722     int32_t fmkType = 0,
3723     const std::vector<uint32_t> *inputIndex = nullptr,
3724     const std::vector<uint32_t> *outputIndex = nullptr,
3725     uint32_t mempoolSize = 0,
3726     const std::vector<flatbuffers::Offset<mindspore::schema::v0::CNode>> *nodes = nullptr,
3727     const std::vector<flatbuffers::Offset<mindspore::schema::v0::Tensor>> *allTensors = nullptr,
3728     const std::vector<flatbuffers::Offset<mindspore::schema::v0::SubGraph>> *subGraph = nullptr) {
3729   auto name__ = name ? _fbb.CreateString(name) : 0;
3730   auto version__ = version ? _fbb.CreateString(version) : 0;
3731   auto inputIndex__ = inputIndex ? _fbb.CreateVector<uint32_t>(*inputIndex) : 0;
3732   auto outputIndex__ = outputIndex ? _fbb.CreateVector<uint32_t>(*outputIndex) : 0;
3733   auto nodes__ = nodes ? _fbb.CreateVector<flatbuffers::Offset<mindspore::schema::v0::CNode>>(*nodes) : 0;
3734   auto allTensors__ = allTensors ? _fbb.CreateVector<flatbuffers::Offset<mindspore::schema::v0::Tensor>>(*allTensors) : 0;
3735   auto subGraph__ = subGraph ? _fbb.CreateVector<flatbuffers::Offset<mindspore::schema::v0::SubGraph>>(*subGraph) : 0;
3736   return mindspore::schema::v0::CreateMetaGraph(
3737       _fbb,
3738       name__,
3739       version__,
3740       fmkType,
3741       inputIndex__,
3742       outputIndex__,
3743       mempoolSize,
3744       nodes__,
3745       allTensors__,
3746       subGraph__);
3747 }
3748 
3749 inline bool VerifyPrimitiveType(flatbuffers::Verifier &verifier, const void *obj, PrimitiveType type) {
3750   switch (type) {
3751     case PrimitiveType_NONE: {
3752       return true;
3753     }
3754     case PrimitiveType_Concat: {
3755       auto ptr = reinterpret_cast<const mindspore::schema::v0::Concat *>(obj);
3756       return verifier.VerifyTable(ptr);
3757     }
3758     case PrimitiveType_SoftMax: {
3759       auto ptr = reinterpret_cast<const mindspore::schema::v0::SoftMax *>(obj);
3760       return verifier.VerifyTable(ptr);
3761     }
3762     case PrimitiveType_Activation: {
3763       auto ptr = reinterpret_cast<const mindspore::schema::v0::Activation *>(obj);
3764       return verifier.VerifyTable(ptr);
3765     }
3766     case PrimitiveType_Conv2D: {
3767       auto ptr = reinterpret_cast<const mindspore::schema::v0::Conv2D *>(obj);
3768       return verifier.VerifyTable(ptr);
3769     }
3770     case PrimitiveType_FusedBatchNorm: {
3771       auto ptr = reinterpret_cast<const mindspore::schema::v0::FusedBatchNorm *>(obj);
3772       return verifier.VerifyTable(ptr);
3773     }
3774     case PrimitiveType_BatchNorm: {
3775       auto ptr = reinterpret_cast<const mindspore::schema::v0::BatchNorm *>(obj);
3776       return verifier.VerifyTable(ptr);
3777     }
3778     case PrimitiveType_BiasAdd: {
3779       auto ptr = reinterpret_cast<const mindspore::schema::v0::BiasAdd *>(obj);
3780       return verifier.VerifyTable(ptr);
3781     }
3782     case PrimitiveType_Pooling: {
3783       auto ptr = reinterpret_cast<const mindspore::schema::v0::Pooling *>(obj);
3784       return verifier.VerifyTable(ptr);
3785     }
3786     case PrimitiveType_ROIPooling: {
3787       auto ptr = reinterpret_cast<const mindspore::schema::v0::ROIPooling *>(obj);
3788       return verifier.VerifyTable(ptr);
3789     }
3790     case PrimitiveType_DepthwiseConv2D: {
3791       auto ptr = reinterpret_cast<const mindspore::schema::v0::DepthwiseConv2D *>(obj);
3792       return verifier.VerifyTable(ptr);
3793     }
3794     case PrimitiveType_DeDepthwiseConv2D: {
3795       auto ptr = reinterpret_cast<const mindspore::schema::v0::DeDepthwiseConv2D *>(obj);
3796       return verifier.VerifyTable(ptr);
3797     }
3798     case PrimitiveType_Resize: {
3799       auto ptr = reinterpret_cast<const mindspore::schema::v0::Resize *>(obj);
3800       return verifier.VerifyTable(ptr);
3801     }
3802     case PrimitiveType_DetectionPostProcess: {
3803       auto ptr = reinterpret_cast<const mindspore::schema::v0::DetectionPostProcess *>(obj);
3804       return verifier.VerifyTable(ptr);
3805     }
3806     case PrimitiveType_FullConnection: {
3807       auto ptr = reinterpret_cast<const mindspore::schema::v0::FullConnection *>(obj);
3808       return verifier.VerifyTable(ptr);
3809     }
3810     case PrimitiveType_Mean: {
3811       auto ptr = reinterpret_cast<const mindspore::schema::v0::Mean *>(obj);
3812       return verifier.VerifyTable(ptr);
3813     }
3814     case PrimitiveType_DeConv2D: {
3815       auto ptr = reinterpret_cast<const mindspore::schema::v0::DeConv2D *>(obj);
3816       return verifier.VerifyTable(ptr);
3817     }
3818     case PrimitiveType_Scale: {
3819       auto ptr = reinterpret_cast<const mindspore::schema::v0::Scale *>(obj);
3820       return verifier.VerifyTable(ptr);
3821     }
3822     case PrimitiveType_Reshape: {
3823       auto ptr = reinterpret_cast<const mindspore::schema::v0::Reshape *>(obj);
3824       return verifier.VerifyTable(ptr);
3825     }
3826     case PrimitiveType_Eltwise: {
3827       auto ptr = reinterpret_cast<const mindspore::schema::v0::Eltwise *>(obj);
3828       return verifier.VerifyTable(ptr);
3829     }
3830     case PrimitiveType_NetOutput: {
3831       auto ptr = reinterpret_cast<const mindspore::schema::v0::NetOutput *>(obj);
3832       return verifier.VerifyTable(ptr);
3833     }
3834     case PrimitiveType_Add: {
3835       auto ptr = reinterpret_cast<const mindspore::schema::v0::Add *>(obj);
3836       return verifier.VerifyTable(ptr);
3837     }
3838     case PrimitiveType_Sub: {
3839       auto ptr = reinterpret_cast<const mindspore::schema::v0::Sub *>(obj);
3840       return verifier.VerifyTable(ptr);
3841     }
3842     case PrimitiveType_MatMul: {
3843       auto ptr = reinterpret_cast<const mindspore::schema::v0::MatMul *>(obj);
3844       return verifier.VerifyTable(ptr);
3845     }
3846     case PrimitiveType_StridedSlice: {
3847       auto ptr = reinterpret_cast<const mindspore::schema::v0::StridedSlice *>(obj);
3848       return verifier.VerifyTable(ptr);
3849     }
3850     case PrimitiveType_Power: {
3851       auto ptr = reinterpret_cast<const mindspore::schema::v0::Power *>(obj);
3852       return verifier.VerifyTable(ptr);
3853     }
3854     case PrimitiveType_Slice: {
3855       auto ptr = reinterpret_cast<const mindspore::schema::v0::Slice *>(obj);
3856       return verifier.VerifyTable(ptr);
3857     }
3858     case PrimitiveType_Stack: {
3859       auto ptr = reinterpret_cast<const mindspore::schema::v0::Stack *>(obj);
3860       return verifier.VerifyTable(ptr);
3861     }
3862     case PrimitiveType_Mul: {
3863       auto ptr = reinterpret_cast<const mindspore::schema::v0::Mul *>(obj);
3864       return verifier.VerifyTable(ptr);
3865     }
3866     case PrimitiveType_RealDiv: {
3867       auto ptr = reinterpret_cast<const mindspore::schema::v0::RealDiv *>(obj);
3868       return verifier.VerifyTable(ptr);
3869     }
3870     case PrimitiveType_Pad: {
3871       auto ptr = reinterpret_cast<const mindspore::schema::v0::Pad *>(obj);
3872       return verifier.VerifyTable(ptr);
3873     }
3874     case PrimitiveType_Maximum: {
3875       auto ptr = reinterpret_cast<const mindspore::schema::v0::Maximum *>(obj);
3876       return verifier.VerifyTable(ptr);
3877     }
3878     case PrimitiveType_Minimum: {
3879       auto ptr = reinterpret_cast<const mindspore::schema::v0::Minimum *>(obj);
3880       return verifier.VerifyTable(ptr);
3881     }
3882     case PrimitiveType_PReLU: {
3883       auto ptr = reinterpret_cast<const mindspore::schema::v0::PReLU *>(obj);
3884       return verifier.VerifyTable(ptr);
3885     }
3886     case PrimitiveType_LeakyReLU: {
3887       auto ptr = reinterpret_cast<const mindspore::schema::v0::LeakyReLU *>(obj);
3888       return verifier.VerifyTable(ptr);
3889     }
3890     case PrimitiveType_ArgMax: {
3891       auto ptr = reinterpret_cast<const mindspore::schema::v0::ArgMax *>(obj);
3892       return verifier.VerifyTable(ptr);
3893     }
3894     case PrimitiveType_ArgMin: {
3895       auto ptr = reinterpret_cast<const mindspore::schema::v0::ArgMin *>(obj);
3896       return verifier.VerifyTable(ptr);
3897     }
3898     case PrimitiveType_Exp: {
3899       auto ptr = reinterpret_cast<const mindspore::schema::v0::Exp *>(obj);
3900       return verifier.VerifyTable(ptr);
3901     }
3902     case PrimitiveType_Crop: {
3903       auto ptr = reinterpret_cast<const mindspore::schema::v0::Crop *>(obj);
3904       return verifier.VerifyTable(ptr);
3905     }
3906     case PrimitiveType_Range: {
3907       auto ptr = reinterpret_cast<const mindspore::schema::v0::Range *>(obj);
3908       return verifier.VerifyTable(ptr);
3909     }
3910     case PrimitiveType_Rsqrt: {
3911       auto ptr = reinterpret_cast<const mindspore::schema::v0::Rsqrt *>(obj);
3912       return verifier.VerifyTable(ptr);
3913     }
3914     case PrimitiveType_ExpandDims: {
3915       auto ptr = reinterpret_cast<const mindspore::schema::v0::ExpandDims *>(obj);
3916       return verifier.VerifyTable(ptr);
3917     }
3918     case PrimitiveType_Tile: {
3919       auto ptr = reinterpret_cast<const mindspore::schema::v0::Tile *>(obj);
3920       return verifier.VerifyTable(ptr);
3921     }
3922     case PrimitiveType_Cast: {
3923       auto ptr = reinterpret_cast<const mindspore::schema::v0::Cast *>(obj);
3924       return verifier.VerifyTable(ptr);
3925     }
3926     case PrimitiveType_Shape: {
3927       auto ptr = reinterpret_cast<const mindspore::schema::v0::Shape *>(obj);
3928       return verifier.VerifyTable(ptr);
3929     }
3930     case PrimitiveType_Nchw2Nhwc: {
3931       auto ptr = reinterpret_cast<const mindspore::schema::v0::Nchw2Nhwc *>(obj);
3932       return verifier.VerifyTable(ptr);
3933     }
3934     case PrimitiveType_Nhwc2Nchw: {
3935       auto ptr = reinterpret_cast<const mindspore::schema::v0::Nhwc2Nchw *>(obj);
3936       return verifier.VerifyTable(ptr);
3937     }
3938     case PrimitiveType_QuantDTypeCast: {
3939       auto ptr = reinterpret_cast<const mindspore::schema::v0::QuantDTypeCast *>(obj);
3940       return verifier.VerifyTable(ptr);
3941     }
3942     case PrimitiveType_Split: {
3943       auto ptr = reinterpret_cast<const mindspore::schema::v0::Split *>(obj);
3944       return verifier.VerifyTable(ptr);
3945     }
3946     case PrimitiveType_Permute: {
3947       auto ptr = reinterpret_cast<const mindspore::schema::v0::Permute *>(obj);
3948       return verifier.VerifyTable(ptr);
3949     }
3950     case PrimitiveType_FakeQuantWithMinMaxVars: {
3951       auto ptr = reinterpret_cast<const mindspore::schema::v0::FakeQuantWithMinMaxVars *>(obj);
3952       return verifier.VerifyTable(ptr);
3953     }
3954     case PrimitiveType_Equal: {
3955       auto ptr = reinterpret_cast<const mindspore::schema::v0::Equal *>(obj);
3956       return verifier.VerifyTable(ptr);
3957     }
3958     case PrimitiveType_Less: {
3959       auto ptr = reinterpret_cast<const mindspore::schema::v0::Less *>(obj);
3960       return verifier.VerifyTable(ptr);
3961     }
3962     case PrimitiveType_Greater: {
3963       auto ptr = reinterpret_cast<const mindspore::schema::v0::Greater *>(obj);
3964       return verifier.VerifyTable(ptr);
3965     }
3966     case PrimitiveType_NotEqual: {
3967       auto ptr = reinterpret_cast<const mindspore::schema::v0::NotEqual *>(obj);
3968       return verifier.VerifyTable(ptr);
3969     }
3970     case PrimitiveType_LessEqual: {
3971       auto ptr = reinterpret_cast<const mindspore::schema::v0::LessEqual *>(obj);
3972       return verifier.VerifyTable(ptr);
3973     }
3974     case PrimitiveType_GreaterEqual: {
3975       auto ptr = reinterpret_cast<const mindspore::schema::v0::GreaterEqual *>(obj);
3976       return verifier.VerifyTable(ptr);
3977     }
3978     case PrimitiveType_Min: {
3979       auto ptr = reinterpret_cast<const mindspore::schema::v0::Min *>(obj);
3980       return verifier.VerifyTable(ptr);
3981     }
3982     case PrimitiveType_Floor: {
3983       auto ptr = reinterpret_cast<const mindspore::schema::v0::Floor *>(obj);
3984       return verifier.VerifyTable(ptr);
3985     }
3986     case PrimitiveType_Abs: {
3987       auto ptr = reinterpret_cast<const mindspore::schema::v0::Abs *>(obj);
3988       return verifier.VerifyTable(ptr);
3989     }
3990     case PrimitiveType_Neg: {
3991       auto ptr = reinterpret_cast<const mindspore::schema::v0::Neg *>(obj);
3992       return verifier.VerifyTable(ptr);
3993     }
3994     case PrimitiveType_Cos: {
3995       auto ptr = reinterpret_cast<const mindspore::schema::v0::Cos *>(obj);
3996       return verifier.VerifyTable(ptr);
3997     }
3998     case PrimitiveType_Sin: {
3999       auto ptr = reinterpret_cast<const mindspore::schema::v0::Sin *>(obj);
4000       return verifier.VerifyTable(ptr);
4001     }
4002     case PrimitiveType_Sqrt: {
4003       auto ptr = reinterpret_cast<const mindspore::schema::v0::Sqrt *>(obj);
4004       return verifier.VerifyTable(ptr);
4005     }
4006     case PrimitiveType_Square: {
4007       auto ptr = reinterpret_cast<const mindspore::schema::v0::Square *>(obj);
4008       return verifier.VerifyTable(ptr);
4009     }
4010     case PrimitiveType_Constant: {
4011       auto ptr = reinterpret_cast<const mindspore::schema::v0::Constant *>(obj);
4012       return verifier.VerifyTable(ptr);
4013     }
4014     case PrimitiveType_Log: {
4015       auto ptr = reinterpret_cast<const mindspore::schema::v0::Log *>(obj);
4016       return verifier.VerifyTable(ptr);
4017     }
4018     case PrimitiveType_Tan: {
4019       auto ptr = reinterpret_cast<const mindspore::schema::v0::Tan *>(obj);
4020       return verifier.VerifyTable(ptr);
4021     }
4022     case PrimitiveType_Atan: {
4023       auto ptr = reinterpret_cast<const mindspore::schema::v0::Atan *>(obj);
4024       return verifier.VerifyTable(ptr);
4025     }
4026     case PrimitiveType_Asin: {
4027       auto ptr = reinterpret_cast<const mindspore::schema::v0::Asin *>(obj);
4028       return verifier.VerifyTable(ptr);
4029     }
4030     case PrimitiveType_Clip: {
4031       auto ptr = reinterpret_cast<const mindspore::schema::v0::Clip *>(obj);
4032       return verifier.VerifyTable(ptr);
4033     }
4034     case PrimitiveType_Transpose: {
4035       auto ptr = reinterpret_cast<const mindspore::schema::v0::Transpose *>(obj);
4036       return verifier.VerifyTable(ptr);
4037     }
4038     case PrimitiveType_Squeeze: {
4039       auto ptr = reinterpret_cast<const mindspore::schema::v0::Squeeze *>(obj);
4040       return verifier.VerifyTable(ptr);
4041     }
4042     case PrimitiveType_Unsqueeze: {
4043       auto ptr = reinterpret_cast<const mindspore::schema::v0::Unsqueeze *>(obj);
4044       return verifier.VerifyTable(ptr);
4045     }
4046     case PrimitiveType_Upsample: {
4047       auto ptr = reinterpret_cast<const mindspore::schema::v0::Upsample *>(obj);
4048       return verifier.VerifyTable(ptr);
4049     }
4050     case PrimitiveType_Dropout: {
4051       auto ptr = reinterpret_cast<const mindspore::schema::v0::Dropout *>(obj);
4052       return verifier.VerifyTable(ptr);
4053     }
4054     case PrimitiveType_Broadcast: {
4055       auto ptr = reinterpret_cast<const mindspore::schema::v0::Broadcast *>(obj);
4056       return verifier.VerifyTable(ptr);
4057     }
4058     case PrimitiveType_BroadcastTo: {
4059       auto ptr = reinterpret_cast<const mindspore::schema::v0::BroadcastTo *>(obj);
4060       return verifier.VerifyTable(ptr);
4061     }
4062     case PrimitiveType_Lrn: {
4063       auto ptr = reinterpret_cast<const mindspore::schema::v0::Lrn *>(obj);
4064       return verifier.VerifyTable(ptr);
4065     }
4066     case PrimitiveType_ZerosLike: {
4067       auto ptr = reinterpret_cast<const mindspore::schema::v0::ZerosLike *>(obj);
4068       return verifier.VerifyTable(ptr);
4069     }
4070     case PrimitiveType_TopK: {
4071       auto ptr = reinterpret_cast<const mindspore::schema::v0::TopK *>(obj);
4072       return verifier.VerifyTable(ptr);
4073     }
4074     case PrimitiveType_SpaceToDepth: {
4075       auto ptr = reinterpret_cast<const mindspore::schema::v0::SpaceToDepth *>(obj);
4076       return verifier.VerifyTable(ptr);
4077     }
4078     case PrimitiveType_SpaceToBatch: {
4079       auto ptr = reinterpret_cast<const mindspore::schema::v0::SpaceToBatch *>(obj);
4080       return verifier.VerifyTable(ptr);
4081     }
4082     case PrimitiveType_SparseToDense: {
4083       auto ptr = reinterpret_cast<const mindspore::schema::v0::SparseToDense *>(obj);
4084       return verifier.VerifyTable(ptr);
4085     }
4086     case PrimitiveType_ReverseSequence: {
4087       auto ptr = reinterpret_cast<const mindspore::schema::v0::ReverseSequence *>(obj);
4088       return verifier.VerifyTable(ptr);
4089     }
4090     case PrimitiveType_Rank: {
4091       auto ptr = reinterpret_cast<const mindspore::schema::v0::Rank *>(obj);
4092       return verifier.VerifyTable(ptr);
4093     }
4094     case PrimitiveType_Gather: {
4095       auto ptr = reinterpret_cast<const mindspore::schema::v0::Gather *>(obj);
4096       return verifier.VerifyTable(ptr);
4097     }
4098     case PrimitiveType_GatherNd: {
4099       auto ptr = reinterpret_cast<const mindspore::schema::v0::GatherNd *>(obj);
4100       return verifier.VerifyTable(ptr);
4101     }
4102     case PrimitiveType_Fill: {
4103       auto ptr = reinterpret_cast<const mindspore::schema::v0::Fill *>(obj);
4104       return verifier.VerifyTable(ptr);
4105     }
4106     case PrimitiveType_Elu: {
4107       auto ptr = reinterpret_cast<const mindspore::schema::v0::Elu *>(obj);
4108       return verifier.VerifyTable(ptr);
4109     }
4110     case PrimitiveType_DepthToSpace: {
4111       auto ptr = reinterpret_cast<const mindspore::schema::v0::DepthToSpace *>(obj);
4112       return verifier.VerifyTable(ptr);
4113     }
4114     case PrimitiveType_BatchToSpace: {
4115       auto ptr = reinterpret_cast<const mindspore::schema::v0::BatchToSpace *>(obj);
4116       return verifier.VerifyTable(ptr);
4117     }
4118     case PrimitiveType_AddN: {
4119       auto ptr = reinterpret_cast<const mindspore::schema::v0::AddN *>(obj);
4120       return verifier.VerifyTable(ptr);
4121     }
4122     case PrimitiveType_Ceil: {
4123       auto ptr = reinterpret_cast<const mindspore::schema::v0::Ceil *>(obj);
4124       return verifier.VerifyTable(ptr);
4125     }
4126     case PrimitiveType_EmbeddingLookup: {
4127       auto ptr = reinterpret_cast<const mindspore::schema::v0::EmbeddingLookup *>(obj);
4128       return verifier.VerifyTable(ptr);
4129     }
4130     case PrimitiveType_EmbeddingLookupSparse: {
4131       auto ptr = reinterpret_cast<const mindspore::schema::v0::EmbeddingLookupSparse *>(obj);
4132       return verifier.VerifyTable(ptr);
4133     }
4134     case PrimitiveType_FloorDiv: {
4135       auto ptr = reinterpret_cast<const mindspore::schema::v0::FloorDiv *>(obj);
4136       return verifier.VerifyTable(ptr);
4137     }
4138     case PrimitiveType_FloorMod: {
4139       auto ptr = reinterpret_cast<const mindspore::schema::v0::FloorMod *>(obj);
4140       return verifier.VerifyTable(ptr);
4141     }
4142     case PrimitiveType_L2Norm: {
4143       auto ptr = reinterpret_cast<const mindspore::schema::v0::L2Norm *>(obj);
4144       return verifier.VerifyTable(ptr);
4145     }
4146     case PrimitiveType_LocalResponseNormalization: {
4147       auto ptr = reinterpret_cast<const mindspore::schema::v0::LocalResponseNormalization *>(obj);
4148       return verifier.VerifyTable(ptr);
4149     }
4150     case PrimitiveType_MatrixDiag: {
4151       auto ptr = reinterpret_cast<const mindspore::schema::v0::MatrixDiag *>(obj);
4152       return verifier.VerifyTable(ptr);
4153     }
4154     case PrimitiveType_Reduce: {
4155       auto ptr = reinterpret_cast<const mindspore::schema::v0::Reduce *>(obj);
4156       return verifier.VerifyTable(ptr);
4157     }
4158     case PrimitiveType_Reverse: {
4159       auto ptr = reinterpret_cast<const mindspore::schema::v0::Reverse *>(obj);
4160       return verifier.VerifyTable(ptr);
4161     }
4162     case PrimitiveType_Round: {
4163       auto ptr = reinterpret_cast<const mindspore::schema::v0::Round *>(obj);
4164       return verifier.VerifyTable(ptr);
4165     }
4166     case PrimitiveType_Select: {
4167       auto ptr = reinterpret_cast<const mindspore::schema::v0::Select *>(obj);
4168       return verifier.VerifyTable(ptr);
4169     }
4170     case PrimitiveType_Scatter: {
4171       auto ptr = reinterpret_cast<const mindspore::schema::v0::Scatter *>(obj);
4172       return verifier.VerifyTable(ptr);
4173     }
4174     case PrimitiveType_ScatterND: {
4175       auto ptr = reinterpret_cast<const mindspore::schema::v0::ScatterND *>(obj);
4176       return verifier.VerifyTable(ptr);
4177     }
4178     case PrimitiveType_ConstantOfShape: {
4179       auto ptr = reinterpret_cast<const mindspore::schema::v0::ConstantOfShape *>(obj);
4180       return verifier.VerifyTable(ptr);
4181     }
4182     case PrimitiveType_Unique: {
4183       auto ptr = reinterpret_cast<const mindspore::schema::v0::Unique *>(obj);
4184       return verifier.VerifyTable(ptr);
4185     }
4186     case PrimitiveType_Unstack: {
4187       auto ptr = reinterpret_cast<const mindspore::schema::v0::Unstack *>(obj);
4188       return verifier.VerifyTable(ptr);
4189     }
4190     case PrimitiveType_LogicalAnd: {
4191       auto ptr = reinterpret_cast<const mindspore::schema::v0::LogicalAnd *>(obj);
4192       return verifier.VerifyTable(ptr);
4193     }
4194     case PrimitiveType_LogicalOr: {
4195       auto ptr = reinterpret_cast<const mindspore::schema::v0::LogicalOr *>(obj);
4196       return verifier.VerifyTable(ptr);
4197     }
4198     case PrimitiveType_LogicalXor: {
4199       auto ptr = reinterpret_cast<const mindspore::schema::v0::LogicalXor *>(obj);
4200       return verifier.VerifyTable(ptr);
4201     }
4202     case PrimitiveType_LogicalNot: {
4203       auto ptr = reinterpret_cast<const mindspore::schema::v0::LogicalNot *>(obj);
4204       return verifier.VerifyTable(ptr);
4205     }
4206     case PrimitiveType_OnnxInt8Quantize: {
4207       auto ptr = reinterpret_cast<const mindspore::schema::v0::OnnxInt8Quantize *>(obj);
4208       return verifier.VerifyTable(ptr);
4209     }
4210     case PrimitiveType_OnnxInt8Dequantize: {
4211       auto ptr = reinterpret_cast<const mindspore::schema::v0::OnnxInt8Dequantize *>(obj);
4212       return verifier.VerifyTable(ptr);
4213     }
4214     case PrimitiveType_FakeQuantWithMinMax: {
4215       auto ptr = reinterpret_cast<const mindspore::schema::v0::FakeQuantWithMinMax *>(obj);
4216       return verifier.VerifyTable(ptr);
4217     }
4218     case PrimitiveType_FakeQuantWithMinMaxPerChannel: {
4219       auto ptr = reinterpret_cast<const mindspore::schema::v0::FakeQuantWithMinMaxPerChannel *>(obj);
4220       return verifier.VerifyTable(ptr);
4221     }
4222     case PrimitiveType_BatchNormFold: {
4223       auto ptr = reinterpret_cast<const mindspore::schema::v0::BatchNormFold *>(obj);
4224       return verifier.VerifyTable(ptr);
4225     }
4226     case PrimitiveType_MulFold: {
4227       auto ptr = reinterpret_cast<const mindspore::schema::v0::MulFold *>(obj);
4228       return verifier.VerifyTable(ptr);
4229     }
4230     case PrimitiveType_AddFold: {
4231       auto ptr = reinterpret_cast<const mindspore::schema::v0::AddFold *>(obj);
4232       return verifier.VerifyTable(ptr);
4233     }
4234     case PrimitiveType_SquaredDifference: {
4235       auto ptr = reinterpret_cast<const mindspore::schema::v0::SquaredDifference *>(obj);
4236       return verifier.VerifyTable(ptr);
4237     }
4238     case PrimitiveType_Flatten: {
4239       auto ptr = reinterpret_cast<const mindspore::schema::v0::Flatten *>(obj);
4240       return verifier.VerifyTable(ptr);
4241     }
4242     case PrimitiveType_FlattenGrad: {
4243       auto ptr = reinterpret_cast<const mindspore::schema::v0::FlattenGrad *>(obj);
4244       return verifier.VerifyTable(ptr);
4245     }
4246     case PrimitiveType_TupleGetItem: {
4247       auto ptr = reinterpret_cast<const mindspore::schema::v0::TupleGetItem *>(obj);
4248       return verifier.VerifyTable(ptr);
4249     }
4250     case PrimitiveType_Div: {
4251       auto ptr = reinterpret_cast<const mindspore::schema::v0::Div *>(obj);
4252       return verifier.VerifyTable(ptr);
4253     }
4254     case PrimitiveType_Where: {
4255       auto ptr = reinterpret_cast<const mindspore::schema::v0::Where *>(obj);
4256       return verifier.VerifyTable(ptr);
4257     }
4258     case PrimitiveType_OneHot: {
4259       auto ptr = reinterpret_cast<const mindspore::schema::v0::OneHot *>(obj);
4260       return verifier.VerifyTable(ptr);
4261     }
4262     case PrimitiveType_Lstm: {
4263       auto ptr = reinterpret_cast<const mindspore::schema::v0::Lstm *>(obj);
4264       return verifier.VerifyTable(ptr);
4265     }
4266     case PrimitiveType_Conv2DGradFilter: {
4267       auto ptr = reinterpret_cast<const mindspore::schema::v0::Conv2DGradFilter *>(obj);
4268       return verifier.VerifyTable(ptr);
4269     }
4270     case PrimitiveType_Conv2DGradInput: {
4271       auto ptr = reinterpret_cast<const mindspore::schema::v0::Conv2DGradInput *>(obj);
4272       return verifier.VerifyTable(ptr);
4273     }
4274     case PrimitiveType_PoolingGrad: {
4275       auto ptr = reinterpret_cast<const mindspore::schema::v0::PoolingGrad *>(obj);
4276       return verifier.VerifyTable(ptr);
4277     }
4278     case PrimitiveType_BNGrad: {
4279       auto ptr = reinterpret_cast<const mindspore::schema::v0::BNGrad *>(obj);
4280       return verifier.VerifyTable(ptr);
4281     }
4282     case PrimitiveType_Assign: {
4283       auto ptr = reinterpret_cast<const mindspore::schema::v0::Assign *>(obj);
4284       return verifier.VerifyTable(ptr);
4285     }
4286     case PrimitiveType_ApplyMomentum: {
4287       auto ptr = reinterpret_cast<const mindspore::schema::v0::ApplyMomentum *>(obj);
4288       return verifier.VerifyTable(ptr);
4289     }
4290     case PrimitiveType_BiasGrad: {
4291       auto ptr = reinterpret_cast<const mindspore::schema::v0::BiasGrad *>(obj);
4292       return verifier.VerifyTable(ptr);
4293     }
4294     case PrimitiveType_SoftmaxCrossEntropy: {
4295       auto ptr = reinterpret_cast<const mindspore::schema::v0::SoftmaxCrossEntropy *>(obj);
4296       return verifier.VerifyTable(ptr);
4297     }
4298     case PrimitiveType_AddGrad: {
4299       auto ptr = reinterpret_cast<const mindspore::schema::v0::AddGrad *>(obj);
4300       return verifier.VerifyTable(ptr);
4301     }
4302     case PrimitiveType_SubGrad: {
4303       auto ptr = reinterpret_cast<const mindspore::schema::v0::SubGrad *>(obj);
4304       return verifier.VerifyTable(ptr);
4305     }
4306     case PrimitiveType_MulGrad: {
4307       auto ptr = reinterpret_cast<const mindspore::schema::v0::MulGrad *>(obj);
4308       return verifier.VerifyTable(ptr);
4309     }
4310     case PrimitiveType_DivGrad: {
4311       auto ptr = reinterpret_cast<const mindspore::schema::v0::DivGrad *>(obj);
4312       return verifier.VerifyTable(ptr);
4313     }
4314     case PrimitiveType_PowerGrad: {
4315       auto ptr = reinterpret_cast<const mindspore::schema::v0::PowerGrad *>(obj);
4316       return verifier.VerifyTable(ptr);
4317     }
4318     case PrimitiveType_ActivationGrad: {
4319       auto ptr = reinterpret_cast<const mindspore::schema::v0::ActivationGrad *>(obj);
4320       return verifier.VerifyTable(ptr);
4321     }
4322     case PrimitiveType_PriorBox: {
4323       auto ptr = reinterpret_cast<const mindspore::schema::v0::PriorBox *>(obj);
4324       return verifier.VerifyTable(ptr);
4325     }
4326     case PrimitiveType_SpaceToBatchND: {
4327       auto ptr = reinterpret_cast<const mindspore::schema::v0::SpaceToBatchND *>(obj);
4328       return verifier.VerifyTable(ptr);
4329     }
4330     case PrimitiveType_Depend: {
4331       auto ptr = reinterpret_cast<const mindspore::schema::v0::Depend *>(obj);
4332       return verifier.VerifyTable(ptr);
4333     }
4334     case PrimitiveType_Return: {
4335       auto ptr = reinterpret_cast<const mindspore::schema::v0::Return *>(obj);
4336       return verifier.VerifyTable(ptr);
4337     }
4338     case PrimitiveType_MakeTuple: {
4339       auto ptr = reinterpret_cast<const mindspore::schema::v0::MakeTuple *>(obj);
4340       return verifier.VerifyTable(ptr);
4341     }
4342     case PrimitiveType_ToFormat: {
4343       auto ptr = reinterpret_cast<const mindspore::schema::v0::ToFormat *>(obj);
4344       return verifier.VerifyTable(ptr);
4345     }
4346     case PrimitiveType_Proposal: {
4347       auto ptr = reinterpret_cast<const mindspore::schema::v0::Proposal *>(obj);
4348       return verifier.VerifyTable(ptr);
4349     }
4350     case PrimitiveType_Custom: {
4351       auto ptr = reinterpret_cast<const mindspore::schema::v0::Custom *>(obj);
4352       return verifier.VerifyTable(ptr);
4353     }
4354     case PrimitiveType_BlackBox: {
4355       auto ptr = reinterpret_cast<const mindspore::schema::v0::BlackBox *>(obj);
4356       return verifier.VerifyTable(ptr);
4357     }
4358     case PrimitiveType_NegGrad: {
4359       auto ptr = reinterpret_cast<const mindspore::schema::v0::NegGrad *>(obj);
4360       return verifier.VerifyTable(ptr);
4361     }
4362     case PrimitiveType_LogGrad: {
4363       auto ptr = reinterpret_cast<const mindspore::schema::v0::LogGrad *>(obj);
4364       return verifier.VerifyTable(ptr);
4365     }
4366     case PrimitiveType_BatchToSpaceND: {
4367       auto ptr = reinterpret_cast<const mindspore::schema::v0::BatchToSpaceND *>(obj);
4368       return verifier.VerifyTable(ptr);
4369     }
4370     case PrimitiveType_LshProjection: {
4371       auto ptr = reinterpret_cast<const mindspore::schema::v0::LshProjection *>(obj);
4372       return verifier.VerifyTable(ptr);
4373     }
4374     case PrimitiveType_HashtableLookup: {
4375       auto ptr = reinterpret_cast<const mindspore::schema::v0::HashtableLookup *>(obj);
4376       return verifier.VerifyTable(ptr);
4377     }
4378     case PrimitiveType_SkipGram: {
4379       auto ptr = reinterpret_cast<const mindspore::schema::v0::SkipGram *>(obj);
4380       return verifier.VerifyTable(ptr);
4381     }
4382     case PrimitiveType_DeConv2DGradFilter: {
4383       auto ptr = reinterpret_cast<const mindspore::schema::v0::DeConv2DGradFilter *>(obj);
4384       return verifier.VerifyTable(ptr);
4385     }
4386     case PrimitiveType_CustomPredict: {
4387       auto ptr = reinterpret_cast<const mindspore::schema::v0::CustomPredict *>(obj);
4388       return verifier.VerifyTable(ptr);
4389     }
4390     case PrimitiveType_CustomNormalize: {
4391       auto ptr = reinterpret_cast<const mindspore::schema::v0::CustomNormalize *>(obj);
4392       return verifier.VerifyTable(ptr);
4393     }
4394     case PrimitiveType_CustomExtractFeatures: {
4395       auto ptr = reinterpret_cast<const mindspore::schema::v0::CustomExtractFeatures *>(obj);
4396       return verifier.VerifyTable(ptr);
4397     }
4398     case PrimitiveType_AudioSpectrogram: {
4399       auto ptr = reinterpret_cast<const mindspore::schema::v0::AudioSpectrogram *>(obj);
4400       return verifier.VerifyTable(ptr);
4401     }
4402     case PrimitiveType_Mfcc: {
4403       auto ptr = reinterpret_cast<const mindspore::schema::v0::Mfcc *>(obj);
4404       return verifier.VerifyTable(ptr);
4405     }
4406     case PrimitiveType_Rfft: {
4407       auto ptr = reinterpret_cast<const mindspore::schema::v0::Rfft *>(obj);
4408       return verifier.VerifyTable(ptr);
4409     }
4410     case PrimitiveType_FftReal: {
4411       auto ptr = reinterpret_cast<const mindspore::schema::v0::FftReal *>(obj);
4412       return verifier.VerifyTable(ptr);
4413     }
4414     case PrimitiveType_FftImag: {
4415       auto ptr = reinterpret_cast<const mindspore::schema::v0::FftImag *>(obj);
4416       return verifier.VerifyTable(ptr);
4417     }
4418     case PrimitiveType_Sgd: {
4419       auto ptr = reinterpret_cast<const mindspore::schema::v0::Sgd *>(obj);
4420       return verifier.VerifyTable(ptr);
4421     }
4422     case PrimitiveType_Adam: {
4423       auto ptr = reinterpret_cast<const mindspore::schema::v0::Adam *>(obj);
4424       return verifier.VerifyTable(ptr);
4425     }
4426     case PrimitiveType_GroupConv2DGradInput: {
4427       auto ptr = reinterpret_cast<const mindspore::schema::v0::GroupConv2DGradInput *>(obj);
4428       return verifier.VerifyTable(ptr);
4429     }
4430     case PrimitiveType_Loop: {
4431       auto ptr = reinterpret_cast<const mindspore::schema::v0::Loop *>(obj);
4432       return verifier.VerifyTable(ptr);
4433     }
4434     case PrimitiveType_NonMaxSuppression: {
4435       auto ptr = reinterpret_cast<const mindspore::schema::v0::NonMaxSuppression *>(obj);
4436       return verifier.VerifyTable(ptr);
4437     }
4438     case PrimitiveType_InstanceNorm: {
4439       auto ptr = reinterpret_cast<const mindspore::schema::v0::InstanceNorm *>(obj);
4440       return verifier.VerifyTable(ptr);
4441     }
4442     case PrimitiveType_Identity: {
4443       auto ptr = reinterpret_cast<const mindspore::schema::v0::Identity *>(obj);
4444       return verifier.VerifyTable(ptr);
4445     }
4446     case PrimitiveType_LayerNorm: {
4447       auto ptr = reinterpret_cast<const mindspore::schema::v0::LayerNorm *>(obj);
4448       return verifier.VerifyTable(ptr);
4449     }
4450     case PrimitiveType_While: {
4451       auto ptr = reinterpret_cast<const mindspore::schema::v0::While *>(obj);
4452       return verifier.VerifyTable(ptr);
4453     }
4454     case PrimitiveType_ControlDepend: {
4455       auto ptr = reinterpret_cast<const mindspore::schema::v0::ControlDepend *>(obj);
4456       return verifier.VerifyTable(ptr);
4457     }
4458     case PrimitiveType_UnsortedSegmentSum: {
4459       auto ptr = reinterpret_cast<const mindspore::schema::v0::UnsortedSegmentSum *>(obj);
4460       return verifier.VerifyTable(ptr);
4461     }
4462     case PrimitiveType_AssignAdd: {
4463       auto ptr = reinterpret_cast<const mindspore::schema::v0::AssignAdd *>(obj);
4464       return verifier.VerifyTable(ptr);
4465     }
4466     case PrimitiveType_OnesLike: {
4467       auto ptr = reinterpret_cast<const mindspore::schema::v0::OnesLike *>(obj);
4468       return verifier.VerifyTable(ptr);
4469     }
4470     case PrimitiveType_BinaryCrossEntropyGrad: {
4471       auto ptr = reinterpret_cast<const mindspore::schema::v0::BinaryCrossEntropyGrad *>(obj);
4472       return verifier.VerifyTable(ptr);
4473     }
4474     case PrimitiveType_BinaryCrossEntropy: {
4475       auto ptr = reinterpret_cast<const mindspore::schema::v0::BinaryCrossEntropy *>(obj);
4476       return verifier.VerifyTable(ptr);
4477     }
4478     case PrimitiveType_LpNormalization: {
4479       auto ptr = reinterpret_cast<const mindspore::schema::v0::LpNormalization *>(obj);
4480       return verifier.VerifyTable(ptr);
4481     }
4482     case PrimitiveType_DropoutGrad: {
4483       auto ptr = reinterpret_cast<const mindspore::schema::v0::DropoutGrad *>(obj);
4484       return verifier.VerifyTable(ptr);
4485     }
4486     case PrimitiveType_MaximumGrad: {
4487       auto ptr = reinterpret_cast<const mindspore::schema::v0::MaximumGrad *>(obj);
4488       return verifier.VerifyTable(ptr);
4489     }
4490     case PrimitiveType_MinimumGrad: {
4491       auto ptr = reinterpret_cast<const mindspore::schema::v0::MinimumGrad *>(obj);
4492       return verifier.VerifyTable(ptr);
4493     }
4494     case PrimitiveType_Switch: {
4495       auto ptr = reinterpret_cast<const mindspore::schema::v0::Switch *>(obj);
4496       return verifier.VerifyTable(ptr);
4497     }
4498     case PrimitiveType_Partial: {
4499       auto ptr = reinterpret_cast<const mindspore::schema::v0::Partial *>(obj);
4500       return verifier.VerifyTable(ptr);
4501     }
4502     case PrimitiveType_TensorListFromTensor: {
4503       auto ptr = reinterpret_cast<const mindspore::schema::v0::TensorListFromTensor *>(obj);
4504       return verifier.VerifyTable(ptr);
4505     }
4506     case PrimitiveType_TensorListStack: {
4507       auto ptr = reinterpret_cast<const mindspore::schema::v0::TensorListStack *>(obj);
4508       return verifier.VerifyTable(ptr);
4509     }
4510     case PrimitiveType_TensorListGetItem: {
4511       auto ptr = reinterpret_cast<const mindspore::schema::v0::TensorListGetItem *>(obj);
4512       return verifier.VerifyTable(ptr);
4513     }
4514     case PrimitiveType_TensorListSetItem: {
4515       auto ptr = reinterpret_cast<const mindspore::schema::v0::TensorListSetItem *>(obj);
4516       return verifier.VerifyTable(ptr);
4517     }
4518     case PrimitiveType_TensorListReserve: {
4519       auto ptr = reinterpret_cast<const mindspore::schema::v0::TensorListReserve *>(obj);
4520       return verifier.VerifyTable(ptr);
4521     }
4522     case PrimitiveType_All: {
4523       auto ptr = reinterpret_cast<const mindspore::schema::v0::All *>(obj);
4524       return verifier.VerifyTable(ptr);
4525     }
4526     case PrimitiveType_Assert: {
4527       auto ptr = reinterpret_cast<const mindspore::schema::v0::Assert *>(obj);
4528       return verifier.VerifyTable(ptr);
4529     }
4530     case PrimitiveType_Adder: {
4531       auto ptr = reinterpret_cast<const mindspore::schema::v0::Adder *>(obj);
4532       return verifier.VerifyTable(ptr);
4533     }
4534     case PrimitiveType_SparseSoftmaxCrossEntropy: {
4535       auto ptr = reinterpret_cast<const mindspore::schema::v0::SparseSoftmaxCrossEntropy *>(obj);
4536       return verifier.VerifyTable(ptr);
4537     }
4538     case PrimitiveType_SmoothL1Loss: {
4539       auto ptr = reinterpret_cast<const mindspore::schema::v0::SmoothL1Loss *>(obj);
4540       return verifier.VerifyTable(ptr);
4541     }
4542     case PrimitiveType_SmoothL1LossGrad: {
4543       auto ptr = reinterpret_cast<const mindspore::schema::v0::SmoothL1LossGrad *>(obj);
4544       return verifier.VerifyTable(ptr);
4545     }
4546     case PrimitiveType_SigmoidCrossEntropyWithLogits: {
4547       auto ptr = reinterpret_cast<const mindspore::schema::v0::SigmoidCrossEntropyWithLogits *>(obj);
4548       return verifier.VerifyTable(ptr);
4549     }
4550     case PrimitiveType_SigmoidCrossEntropyWithLogitsGrad: {
4551       auto ptr = reinterpret_cast<const mindspore::schema::v0::SigmoidCrossEntropyWithLogitsGrad *>(obj);
4552       return verifier.VerifyTable(ptr);
4553     }
4554     case PrimitiveType_Reciprocal: {
4555       auto ptr = reinterpret_cast<const mindspore::schema::v0::Reciprocal *>(obj);
4556       return verifier.VerifyTable(ptr);
4557     }
4558     case PrimitiveType_Merge: {
4559       auto ptr = reinterpret_cast<const mindspore::schema::v0::Merge *>(obj);
4560       return verifier.VerifyTable(ptr);
4561     }
4562     case PrimitiveType_Mod: {
4563       auto ptr = reinterpret_cast<const mindspore::schema::v0::Mod *>(obj);
4564       return verifier.VerifyTable(ptr);
4565     }
4566     case PrimitiveType_GeLU: {
4567       auto ptr = reinterpret_cast<const mindspore::schema::v0::GeLU *>(obj);
4568       return verifier.VerifyTable(ptr);
4569     }
4570     default: return true;
4571   }
4572 }
4573 
4574 inline bool VerifyPrimitiveTypeVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types) {
4575   if (!values || !types) return !values && !types;
4576   if (values->size() != types->size()) return false;
4577   for (flatbuffers::uoffset_t i = 0; i < values->size(); ++i) {
4578     if (!VerifyPrimitiveType(
4579         verifier,  values->Get(i), types->GetEnum<PrimitiveType>(i))) {
4580       return false;
4581     }
4582   }
4583   return true;
4584 }
4585 
4586 inline const mindspore::schema::v0::MetaGraph *GetMetaGraph(const void *buf) {
4587   return flatbuffers::GetRoot<mindspore::schema::v0::MetaGraph>(buf);
4588 }
4589 
4590 inline const mindspore::schema::v0::MetaGraph *GetSizePrefixedMetaGraph(const void *buf) {
4591   return flatbuffers::GetSizePrefixedRoot<mindspore::schema::v0::MetaGraph>(buf);
4592 }
4593 
4594 inline bool VerifyMetaGraphBuffer(
4595     flatbuffers::Verifier &verifier) {
4596   return verifier.VerifyBuffer<mindspore::schema::v0::MetaGraph>(nullptr);
4597 }
4598 
4599 inline bool VerifySizePrefixedMetaGraphBuffer(
4600     flatbuffers::Verifier &verifier) {
4601   return verifier.VerifySizePrefixedBuffer<mindspore::schema::v0::MetaGraph>(nullptr);
4602 }
4603 
4604 inline void FinishMetaGraphBuffer(
4605     flatbuffers::FlatBufferBuilder &fbb,
4606     flatbuffers::Offset<mindspore::schema::v0::MetaGraph> root) {
4607   fbb.Finish(root);
4608 }
4609 
4610 inline void FinishSizePrefixedMetaGraphBuffer(
4611     flatbuffers::FlatBufferBuilder &fbb,
4612     flatbuffers::Offset<mindspore::schema::v0::MetaGraph> root) {
4613   fbb.FinishSizePrefixed(root);
4614 }
4615 
4616 }  // namespace v0
4617 }  // namespace schema
4618 }  // namespace mindspore
4619 
4620 #endif  // FLATBUFFERS_GENERATED_MODELV0_MINDSPORE_SCHEMA_V0_H_
4621