ArmNN
 22.02
ArmnnSchema_generated.h
Go to the documentation of this file.
1 //
2 // Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 // automatically generated by the FlatBuffers compiler, do not modify
6 
7 
8 #ifndef FLATBUFFERS_GENERATED_ARMNNSCHEMA_ARMNNSERIALIZER_H_
9 #define FLATBUFFERS_GENERATED_ARMNNSCHEMA_ARMNNSERIALIZER_H_
10 
11 #include "flatbuffers/flatbuffers.h"
12 
13 namespace armnnSerializer {
14 
15 struct TensorInfo;
16 struct TensorInfoBuilder;
17 
18 struct Connection;
19 
20 struct ByteData;
21 struct ByteDataBuilder;
22 
23 struct ShortData;
24 struct ShortDataBuilder;
25 
26 struct IntData;
27 struct IntDataBuilder;
28 
29 struct LongData;
30 struct LongDataBuilder;
31 
32 struct ConstTensor;
33 struct ConstTensorBuilder;
34 
35 struct InputSlot;
36 struct InputSlotBuilder;
37 
38 struct OutputSlot;
39 struct OutputSlotBuilder;
40 
41 struct LayerBase;
42 struct LayerBaseBuilder;
43 
44 struct BindableLayerBase;
45 struct BindableLayerBaseBuilder;
46 
47 struct AbsLayer;
48 struct AbsLayerBuilder;
49 
50 struct ActivationLayer;
51 struct ActivationLayerBuilder;
52 
53 struct ActivationDescriptor;
54 struct ActivationDescriptorBuilder;
55 
56 struct AdditionLayer;
57 struct AdditionLayerBuilder;
58 
59 struct ArgMinMaxLayer;
60 struct ArgMinMaxLayerBuilder;
61 
62 struct ArgMinMaxDescriptor;
63 struct ArgMinMaxDescriptorBuilder;
64 
65 struct CastLayer;
66 struct CastLayerBuilder;
67 
68 struct ChannelShuffleLayer;
69 struct ChannelShuffleLayerBuilder;
70 
71 struct ChannelShuffleDescriptor;
72 struct ChannelShuffleDescriptorBuilder;
73 
74 struct ComparisonDescriptor;
75 struct ComparisonDescriptorBuilder;
76 
77 struct ComparisonLayer;
78 struct ComparisonLayerBuilder;
79 
80 struct ConstantLayer;
81 struct ConstantLayerBuilder;
82 
83 struct Convolution2dLayer;
84 struct Convolution2dLayerBuilder;
85 
86 struct Convolution2dDescriptor;
87 struct Convolution2dDescriptorBuilder;
88 
89 struct Convolution3dLayer;
90 struct Convolution3dLayerBuilder;
91 
92 struct Convolution3dDescriptor;
93 struct Convolution3dDescriptorBuilder;
94 
95 struct DepthToSpaceLayer;
96 struct DepthToSpaceLayerBuilder;
97 
99 struct DepthToSpaceDescriptorBuilder;
100 
101 struct DivisionLayer;
102 struct DivisionLayerBuilder;
103 
104 struct ElementwiseUnaryDescriptor;
105 struct ElementwiseUnaryDescriptorBuilder;
106 
107 struct ElementwiseUnaryLayer;
108 struct ElementwiseUnaryLayerBuilder;
109 
110 struct EqualLayer;
111 struct EqualLayerBuilder;
112 
113 struct FillLayer;
114 struct FillLayerBuilder;
115 
116 struct FillDescriptor;
117 struct FillDescriptorBuilder;
118 
119 struct FloorLayer;
120 struct FloorLayerBuilder;
121 
122 struct FullyConnectedLayer;
123 struct FullyConnectedLayerBuilder;
124 
125 struct FullyConnectedDescriptor;
126 struct FullyConnectedDescriptorBuilder;
127 
128 struct GatherLayer;
129 struct GatherLayerBuilder;
130 
131 struct GatherDescriptor;
132 struct GatherDescriptorBuilder;
133 
134 struct GreaterLayer;
135 struct GreaterLayerBuilder;
136 
137 struct InputLayer;
138 struct InputLayerBuilder;
139 
140 struct InstanceNormalizationLayer;
141 struct InstanceNormalizationLayerBuilder;
142 
143 struct InstanceNormalizationDescriptor;
144 struct InstanceNormalizationDescriptorBuilder;
145 
146 struct LogSoftmaxLayer;
147 struct LogSoftmaxLayerBuilder;
148 
149 struct LogSoftmaxDescriptor;
150 struct LogSoftmaxDescriptorBuilder;
151 
152 struct L2NormalizationLayer;
153 struct L2NormalizationLayerBuilder;
154 
155 struct L2NormalizationDescriptor;
156 struct L2NormalizationDescriptorBuilder;
157 
158 struct LogicalBinaryDescriptor;
159 struct LogicalBinaryDescriptorBuilder;
160 
161 struct LogicalBinaryLayer;
162 struct LogicalBinaryLayerBuilder;
163 
164 struct MinimumLayer;
165 struct MinimumLayerBuilder;
166 
167 struct MaximumLayer;
168 struct MaximumLayerBuilder;
169 
170 struct MultiplicationLayer;
171 struct MultiplicationLayerBuilder;
172 
173 struct Pooling2dLayer;
174 struct Pooling2dLayerBuilder;
175 
176 struct Pooling3dLayer;
177 struct Pooling3dLayerBuilder;
178 
179 struct Pooling2dDescriptor;
180 struct Pooling2dDescriptorBuilder;
181 
182 struct Pooling3dDescriptor;
183 struct Pooling3dDescriptorBuilder;
184 
185 struct QuantizeLayer;
186 struct QuantizeLayerBuilder;
187 
188 struct SoftmaxLayer;
189 struct SoftmaxLayerBuilder;
190 
191 struct SoftmaxDescriptor;
192 struct SoftmaxDescriptorBuilder;
193 
194 struct DepthwiseConvolution2dLayer;
195 struct DepthwiseConvolution2dLayerBuilder;
196 
197 struct DepthwiseConvolution2dDescriptor;
198 struct DepthwiseConvolution2dDescriptorBuilder;
199 
200 struct OutputLayer;
201 struct OutputLayerBuilder;
202 
203 struct ReshapeLayer;
204 struct ReshapeLayerBuilder;
205 
206 struct ReshapeDescriptor;
207 struct ReshapeDescriptorBuilder;
208 
209 struct PermuteLayer;
210 struct PermuteLayerBuilder;
211 
212 struct PermuteDescriptor;
213 struct PermuteDescriptorBuilder;
214 
215 struct ShapeLayer;
216 struct ShapeLayerBuilder;
217 
218 struct SpaceToBatchNdLayer;
219 struct SpaceToBatchNdLayerBuilder;
220 
221 struct SpaceToBatchNdDescriptor;
222 struct SpaceToBatchNdDescriptorBuilder;
223 
224 struct SpaceToDepthLayer;
225 struct SpaceToDepthLayerBuilder;
226 
227 struct SpaceToDepthDescriptor;
228 struct SpaceToDepthDescriptorBuilder;
229 
230 struct SubtractionLayer;
231 struct SubtractionLayerBuilder;
232 
233 struct BatchToSpaceNdLayer;
234 struct BatchToSpaceNdLayerBuilder;
235 
236 struct BatchToSpaceNdDescriptor;
237 struct BatchToSpaceNdDescriptorBuilder;
238 
239 struct NormalizationLayer;
240 struct NormalizationLayerBuilder;
241 
242 struct NormalizationDescriptor;
243 struct NormalizationDescriptorBuilder;
244 
245 struct MeanLayer;
246 struct MeanLayerBuilder;
247 
248 struct MeanDescriptor;
249 struct MeanDescriptorBuilder;
250 
251 struct PadLayer;
252 struct PadLayerBuilder;
253 
254 struct PadDescriptor;
255 struct PadDescriptorBuilder;
256 
257 struct RsqrtLayer;
258 struct RsqrtLayerBuilder;
259 
260 struct BatchNormalizationLayer;
261 struct BatchNormalizationLayerBuilder;
262 
263 struct BatchNormalizationDescriptor;
264 struct BatchNormalizationDescriptorBuilder;
265 
266 struct ResizeBilinearLayer;
267 struct ResizeBilinearLayerBuilder;
268 
269 struct ResizeBilinearDescriptor;
270 struct ResizeBilinearDescriptorBuilder;
271 
272 struct SliceLayer;
273 struct SliceLayerBuilder;
274 
275 struct SliceDescriptor;
276 struct SliceDescriptorBuilder;
277 
278 struct StridedSliceLayer;
279 struct StridedSliceLayerBuilder;
280 
281 struct StridedSliceDescriptor;
282 struct StridedSliceDescriptorBuilder;
283 
284 struct ConcatLayer;
285 struct ConcatLayerBuilder;
286 
287 struct MergerLayer;
288 struct MergerLayerBuilder;
289 
290 struct UintVector;
291 struct UintVectorBuilder;
292 
293 struct OriginsDescriptor;
294 struct OriginsDescriptorBuilder;
295 
296 struct ViewsDescriptor;
297 struct ViewsDescriptorBuilder;
298 
299 struct SplitterLayer;
300 struct SplitterLayerBuilder;
301 
302 struct DetectionPostProcessLayer;
303 struct DetectionPostProcessLayerBuilder;
304 
305 struct DetectionPostProcessDescriptor;
306 struct DetectionPostProcessDescriptorBuilder;
307 
308 struct LstmInputParams;
309 struct LstmInputParamsBuilder;
310 
311 struct LstmDescriptor;
312 struct LstmDescriptorBuilder;
313 
314 struct LstmLayer;
315 struct LstmLayerBuilder;
316 
317 struct QLstmInputParams;
318 struct QLstmInputParamsBuilder;
319 
320 struct QLstmDescriptor;
321 struct QLstmDescriptorBuilder;
322 
323 struct QLstmLayer;
324 struct QLstmLayerBuilder;
325 
326 struct QuantizedLstmInputParams;
327 struct QuantizedLstmInputParamsBuilder;
328 
329 struct QuantizedLstmLayer;
330 struct QuantizedLstmLayerBuilder;
331 
332 struct DequantizeLayer;
333 struct DequantizeLayerBuilder;
334 
335 struct MergeLayer;
336 struct MergeLayerBuilder;
337 
338 struct SwitchLayer;
339 struct SwitchLayerBuilder;
340 
341 struct PreluLayer;
342 struct PreluLayerBuilder;
343 
344 struct TransposeConvolution2dLayer;
345 struct TransposeConvolution2dLayerBuilder;
346 
347 struct TransposeConvolution2dDescriptor;
348 struct TransposeConvolution2dDescriptorBuilder;
349 
350 struct TransposeLayer;
351 struct TransposeLayerBuilder;
352 
353 struct TransposeDescriptor;
354 struct TransposeDescriptorBuilder;
355 
356 struct ResizeLayer;
357 struct ResizeLayerBuilder;
358 
359 struct ResizeDescriptor;
360 struct ResizeDescriptorBuilder;
361 
362 struct StackLayer;
363 struct StackLayerBuilder;
364 
365 struct StackDescriptor;
366 struct StackDescriptorBuilder;
367 
368 struct StandInDescriptor;
369 struct StandInDescriptorBuilder;
370 
371 struct StandInLayer;
372 struct StandInLayerBuilder;
373 
374 struct RankLayer;
375 struct RankLayerBuilder;
376 
377 struct ReduceLayer;
378 struct ReduceLayerBuilder;
379 
380 struct ReduceDescriptor;
381 struct ReduceDescriptorBuilder;
382 
384 struct UnidirectionalSequenceLstmDescriptorBuilder;
385 
386 struct UnidirectionalSequenceLstmLayer;
387 struct UnidirectionalSequenceLstmLayerBuilder;
388 
389 struct AnyLayer;
390 struct AnyLayerBuilder;
391 
392 struct FeatureCompatibilityVersions;
393 struct FeatureCompatibilityVersionsBuilder;
394 
395 struct SerializedGraph;
396 struct SerializedGraphBuilder;
397 
413 };
414 
416  static const ActivationFunction values[] = {
429  };
430  return values;
431 }
432 
433 inline const char * const *EnumNamesActivationFunction() {
434  static const char * const names[13] = {
435  "Sigmoid",
436  "TanH",
437  "Linear",
438  "ReLu",
439  "BoundedReLu",
440  "SoftReLu",
441  "LeakyReLu",
442  "Abs",
443  "Sqrt",
444  "Square",
445  "Elu",
446  "HardSwish",
447  nullptr
448  };
449  return names;
450 }
451 
453  if (flatbuffers::IsOutRange(e, ActivationFunction_Sigmoid, ActivationFunction_HardSwish)) return "";
454  const size_t index = static_cast<size_t>(e);
455  return EnumNamesActivationFunction()[index];
456 }
457 
463 };
464 
466  static const ArgMinMaxFunction values[] = {
469  };
470  return values;
471 }
472 
473 inline const char * const *EnumNamesArgMinMaxFunction() {
474  static const char * const names[3] = {
475  "Min",
476  "Max",
477  nullptr
478  };
479  return names;
480 }
481 
483  if (flatbuffers::IsOutRange(e, ArgMinMaxFunction_Min, ArgMinMaxFunction_Max)) return "";
484  const size_t index = static_cast<size_t>(e);
485  return EnumNamesArgMinMaxFunction()[index];
486 }
487 
488 enum DataType {
502 };
503 
504 inline const DataType (&EnumValuesDataType())[11] {
505  static const DataType values[] = {
517  };
518  return values;
519 }
520 
521 inline const char * const *EnumNamesDataType() {
522  static const char * const names[12] = {
523  "Float16",
524  "Float32",
525  "QuantisedAsymm8",
526  "Signed32",
527  "Boolean",
528  "QuantisedSymm16",
529  "QAsymmU8",
530  "QSymmS16",
531  "QAsymmS8",
532  "QSymmS8",
533  "Signed64",
534  nullptr
535  };
536  return names;
537 }
538 
539 inline const char *EnumNameDataType(DataType e) {
540  if (flatbuffers::IsOutRange(e, DataType_Float16, DataType_Signed64)) return "";
541  const size_t index = static_cast<size_t>(e);
542  return EnumNamesDataType()[index];
543 }
544 
552 };
553 
554 inline const DataLayout (&EnumValuesDataLayout())[4] {
555  static const DataLayout values[] = {
560  };
561  return values;
562 }
563 
564 inline const char * const *EnumNamesDataLayout() {
565  static const char * const names[5] = {
566  "NHWC",
567  "NCHW",
568  "NDHWC",
569  "NCDHW",
570  nullptr
571  };
572  return names;
573 }
574 
575 inline const char *EnumNameDataLayout(DataLayout e) {
576  if (flatbuffers::IsOutRange(e, DataLayout_NHWC, DataLayout_NCDHW)) return "";
577  const size_t index = static_cast<size_t>(e);
578  return EnumNamesDataLayout()[index];
579 }
580 
589 };
590 
592  static const ReduceOperation values[] = {
598  };
599  return values;
600 }
601 
602 inline const char * const *EnumNamesReduceOperation() {
603  static const char * const names[6] = {
604  "Sum",
605  "Max",
606  "Mean",
607  "Min",
608  "Prod",
609  nullptr
610  };
611  return names;
612 }
613 
615  if (flatbuffers::IsOutRange(e, ReduceOperation_Sum, ReduceOperation_Prod)) return "";
616  const size_t index = static_cast<size_t>(e);
617  return EnumNamesReduceOperation()[index];
618 }
619 
625 };
626 
627 inline const ResizeMethod (&EnumValuesResizeMethod())[2] {
628  static const ResizeMethod values[] = {
631  };
632  return values;
633 }
634 
635 inline const char * const *EnumNamesResizeMethod() {
636  static const char * const names[3] = {
637  "NearestNeighbor",
638  "Bilinear",
639  nullptr
640  };
641  return names;
642 }
643 
644 inline const char *EnumNameResizeMethod(ResizeMethod e) {
645  if (flatbuffers::IsOutRange(e, ResizeMethod_NearestNeighbor, ResizeMethod_Bilinear)) return "";
646  const size_t index = static_cast<size_t>(e);
647  return EnumNamesResizeMethod()[index];
648 }
649 
658 };
659 
661  static const ConstTensorData values[] = {
667  };
668  return values;
669 }
670 
671 inline const char * const *EnumNamesConstTensorData() {
672  static const char * const names[6] = {
673  "NONE",
674  "ByteData",
675  "ShortData",
676  "IntData",
677  "LongData",
678  nullptr
679  };
680  return names;
681 }
682 
684  if (flatbuffers::IsOutRange(e, ConstTensorData_NONE, ConstTensorData_LongData)) return "";
685  const size_t index = static_cast<size_t>(e);
686  return EnumNamesConstTensorData()[index];
687 }
688 
689 template<typename T> struct ConstTensorDataTraits {
691 };
692 
693 template<> struct ConstTensorDataTraits<armnnSerializer::ByteData> {
695 };
696 
697 template<> struct ConstTensorDataTraits<armnnSerializer::ShortData> {
699 };
700 
701 template<> struct ConstTensorDataTraits<armnnSerializer::IntData> {
703 };
704 
705 template<> struct ConstTensorDataTraits<armnnSerializer::LongData> {
707 };
708 
709 bool VerifyConstTensorData(flatbuffers::Verifier &verifier, const void *obj, ConstTensorData type);
710 bool VerifyConstTensorDataVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types);
711 
712 enum LayerType {
782 };
783 
784 inline const LayerType (&EnumValuesLayerType())[67] {
785  static const LayerType values[] = {
853  };
854  return values;
855 }
856 
857 inline const char * const *EnumNamesLayerType() {
858  static const char * const names[68] = {
859  "Addition",
860  "Input",
861  "Multiplication",
862  "Output",
863  "Pooling2d",
864  "Reshape",
865  "Softmax",
866  "Convolution2d",
867  "DepthwiseConvolution2d",
868  "Activation",
869  "Permute",
870  "FullyConnected",
871  "Constant",
872  "SpaceToBatchNd",
873  "BatchToSpaceNd",
874  "Division",
875  "Minimum",
876  "Equal",
877  "Maximum",
878  "Normalization",
879  "Pad",
880  "Rsqrt",
881  "Floor",
882  "BatchNormalization",
883  "Greater",
884  "ResizeBilinear",
885  "Subtraction",
886  "StridedSlice",
887  "Gather",
888  "Mean",
889  "Merger",
890  "L2Normalization",
891  "Splitter",
892  "DetectionPostProcess",
893  "Lstm",
894  "Quantize",
895  "Dequantize",
896  "Merge",
897  "Switch",
898  "Concat",
899  "SpaceToDepth",
900  "Prelu",
901  "TransposeConvolution2d",
902  "Resize",
903  "Stack",
904  "QuantizedLstm",
905  "Abs",
906  "ArgMinMax",
907  "Slice",
908  "DepthToSpace",
909  "InstanceNormalization",
910  "LogSoftmax",
911  "Comparison",
912  "StandIn",
913  "ElementwiseUnary",
914  "Transpose",
915  "QLstm",
916  "Fill",
917  "Rank",
918  "LogicalBinary",
919  "Reduce",
920  "Cast",
921  "Shape",
922  "UnidirectionalSequenceLstm",
923  "ChannelShuffle",
924  "Convolution3d",
925  "Pooling3d",
926  nullptr
927  };
928  return names;
929 }
930 
931 inline const char *EnumNameLayerType(LayerType e) {
932  if (flatbuffers::IsOutRange(e, LayerType_Addition, LayerType_Pooling3d)) return "";
933  const size_t index = static_cast<size_t>(e);
934  return EnumNamesLayerType()[index];
935 }
936 
946 };
947 
949  static const ComparisonOperation values[] = {
956  };
957  return values;
958 }
959 
960 inline const char * const *EnumNamesComparisonOperation() {
961  static const char * const names[7] = {
962  "Equal",
963  "Greater",
964  "GreaterOrEqual",
965  "Less",
966  "LessOrEqual",
967  "NotEqual",
968  nullptr
969  };
970  return names;
971 }
972 
974  if (flatbuffers::IsOutRange(e, ComparisonOperation_Equal, ComparisonOperation_NotEqual)) return "";
975  const size_t index = static_cast<size_t>(e);
976  return EnumNamesComparisonOperation()[index];
977 }
978 
990 };
991 
993  static const UnaryOperation values[] = {
1002  };
1003  return values;
1004 }
1005 
1006 inline const char * const *EnumNamesUnaryOperation() {
1007  static const char * const names[9] = {
1008  "Abs",
1009  "Rsqrt",
1010  "Sqrt",
1011  "Exp",
1012  "Neg",
1013  "LogicalNot",
1014  "Log",
1015  "Sin",
1016  nullptr
1017  };
1018  return names;
1019 }
1020 
1022  if (flatbuffers::IsOutRange(e, UnaryOperation_Abs, UnaryOperation_Sin)) return "";
1023  const size_t index = static_cast<size_t>(e);
1024  return EnumNamesUnaryOperation()[index];
1025 }
1026 
1032 };
1033 
1035  static const LogicalBinaryOperation values[] = {
1038  };
1039  return values;
1040 }
1041 
1042 inline const char * const *EnumNamesLogicalBinaryOperation() {
1043  static const char * const names[3] = {
1044  "LogicalAnd",
1045  "LogicalOr",
1046  nullptr
1047  };
1048  return names;
1049 }
1050 
1052  if (flatbuffers::IsOutRange(e, LogicalBinaryOperation_LogicalAnd, LogicalBinaryOperation_LogicalOr)) return "";
1053  const size_t index = static_cast<size_t>(e);
1054  return EnumNamesLogicalBinaryOperation()[index];
1055 }
1056 
1063 };
1064 
1066  static const PoolingAlgorithm values[] = {
1070  };
1071  return values;
1072 }
1073 
1074 inline const char * const *EnumNamesPoolingAlgorithm() {
1075  static const char * const names[4] = {
1076  "Max",
1077  "Average",
1078  "L2",
1079  nullptr
1080  };
1081  return names;
1082 }
1083 
1085  if (flatbuffers::IsOutRange(e, PoolingAlgorithm_Max, PoolingAlgorithm_L2)) return "";
1086  const size_t index = static_cast<size_t>(e);
1087  return EnumNamesPoolingAlgorithm()[index];
1088 }
1089 
1095 };
1096 
1098  static const OutputShapeRounding values[] = {
1101  };
1102  return values;
1103 }
1104 
1105 inline const char * const *EnumNamesOutputShapeRounding() {
1106  static const char * const names[3] = {
1107  "Floor",
1108  "Ceiling",
1109  nullptr
1110  };
1111  return names;
1112 }
1113 
1115  if (flatbuffers::IsOutRange(e, OutputShapeRounding_Floor, OutputShapeRounding_Ceiling)) return "";
1116  const size_t index = static_cast<size_t>(e);
1117  return EnumNamesOutputShapeRounding()[index];
1118 }
1119 
1125 };
1126 
1128  static const PaddingMethod values[] = {
1131  };
1132  return values;
1133 }
1134 
1135 inline const char * const *EnumNamesPaddingMethod() {
1136  static const char * const names[3] = {
1137  "IgnoreValue",
1138  "Exclude",
1139  nullptr
1140  };
1141  return names;
1142 }
1143 
1144 inline const char *EnumNamePaddingMethod(PaddingMethod e) {
1145  if (flatbuffers::IsOutRange(e, PaddingMethod_IgnoreValue, PaddingMethod_Exclude)) return "";
1146  const size_t index = static_cast<size_t>(e);
1147  return EnumNamesPaddingMethod()[index];
1148 }
1149 
1155 };
1156 
1158  static const NormalizationAlgorithmChannel values[] = {
1161  };
1162  return values;
1163 }
1164 
1165 inline const char * const *EnumNamesNormalizationAlgorithmChannel() {
1166  static const char * const names[3] = {
1167  "Across",
1168  "Within",
1169  nullptr
1170  };
1171  return names;
1172 }
1173 
1175  if (flatbuffers::IsOutRange(e, NormalizationAlgorithmChannel_Across, NormalizationAlgorithmChannel_Within)) return "";
1176  const size_t index = static_cast<size_t>(e);
1178 }
1179 
1185 };
1186 
1188  static const NormalizationAlgorithmMethod values[] = {
1191  };
1192  return values;
1193 }
1194 
1195 inline const char * const *EnumNamesNormalizationAlgorithmMethod() {
1196  static const char * const names[3] = {
1197  "LocalBrightness",
1198  "LocalContrast",
1199  nullptr
1200  };
1201  return names;
1202 }
1203 
1206  const size_t index = static_cast<size_t>(e);
1207  return EnumNamesNormalizationAlgorithmMethod()[index];
1208 }
1209 
1216 };
1217 
1218 inline const PaddingMode (&EnumValuesPaddingMode())[3] {
1219  static const PaddingMode values[] = {
1223  };
1224  return values;
1225 }
1226 
1227 inline const char * const *EnumNamesPaddingMode() {
1228  static const char * const names[4] = {
1229  "Constant",
1230  "Reflect",
1231  "Symmetric",
1232  nullptr
1233  };
1234  return names;
1235 }
1236 
1237 inline const char *EnumNamePaddingMode(PaddingMode e) {
1238  if (flatbuffers::IsOutRange(e, PaddingMode_Constant, PaddingMode_Symmetric)) return "";
1239  const size_t index = static_cast<size_t>(e);
1240  return EnumNamesPaddingMode()[index];
1241 }
1242 
1243 enum Layer {
1314 };
1315 
1316 inline const Layer (&EnumValuesLayer())[68] {
1317  static const Layer values[] = {
1318  Layer_NONE,
1386  };
1387  return values;
1388 }
1389 
1390 inline const char * const *EnumNamesLayer() {
1391  static const char * const names[69] = {
1392  "NONE",
1393  "ActivationLayer",
1394  "AdditionLayer",
1395  "BatchToSpaceNdLayer",
1396  "BatchNormalizationLayer",
1397  "ConstantLayer",
1398  "Convolution2dLayer",
1399  "DepthwiseConvolution2dLayer",
1400  "FullyConnectedLayer",
1401  "InputLayer",
1402  "MultiplicationLayer",
1403  "OutputLayer",
1404  "PermuteLayer",
1405  "Pooling2dLayer",
1406  "ReshapeLayer",
1407  "SoftmaxLayer",
1408  "SpaceToBatchNdLayer",
1409  "DivisionLayer",
1410  "MinimumLayer",
1411  "EqualLayer",
1412  "MaximumLayer",
1413  "NormalizationLayer",
1414  "PadLayer",
1415  "RsqrtLayer",
1416  "FloorLayer",
1417  "GreaterLayer",
1418  "ResizeBilinearLayer",
1419  "SubtractionLayer",
1420  "StridedSliceLayer",
1421  "GatherLayer",
1422  "MeanLayer",
1423  "MergerLayer",
1424  "L2NormalizationLayer",
1425  "SplitterLayer",
1426  "DetectionPostProcessLayer",
1427  "LstmLayer",
1428  "QuantizedLstmLayer",
1429  "QuantizeLayer",
1430  "DequantizeLayer",
1431  "MergeLayer",
1432  "SwitchLayer",
1433  "ConcatLayer",
1434  "SpaceToDepthLayer",
1435  "PreluLayer",
1436  "TransposeConvolution2dLayer",
1437  "ResizeLayer",
1438  "StackLayer",
1439  "AbsLayer",
1440  "ArgMinMaxLayer",
1441  "SliceLayer",
1442  "DepthToSpaceLayer",
1443  "InstanceNormalizationLayer",
1444  "LogSoftmaxLayer",
1445  "ComparisonLayer",
1446  "StandInLayer",
1447  "ElementwiseUnaryLayer",
1448  "TransposeLayer",
1449  "QLstmLayer",
1450  "FillLayer",
1451  "RankLayer",
1452  "LogicalBinaryLayer",
1453  "ReduceLayer",
1454  "CastLayer",
1455  "ShapeLayer",
1456  "UnidirectionalSequenceLstmLayer",
1457  "ChannelShuffleLayer",
1458  "Convolution3dLayer",
1459  "Pooling3dLayer",
1460  nullptr
1461  };
1462  return names;
1463 }
1464 
1465 inline const char *EnumNameLayer(Layer e) {
1466  if (flatbuffers::IsOutRange(e, Layer_NONE, Layer_Pooling3dLayer)) return "";
1467  const size_t index = static_cast<size_t>(e);
1468  return EnumNamesLayer()[index];
1469 }
1470 
1471 template<typename T> struct LayerTraits {
1472  static const Layer enum_value = Layer_NONE;
1473 };
1474 
1475 template<> struct LayerTraits<armnnSerializer::ActivationLayer> {
1477 };
1478 
1479 template<> struct LayerTraits<armnnSerializer::AdditionLayer> {
1481 };
1482 
1483 template<> struct LayerTraits<armnnSerializer::BatchToSpaceNdLayer> {
1485 };
1486 
1487 template<> struct LayerTraits<armnnSerializer::BatchNormalizationLayer> {
1489 };
1490 
1491 template<> struct LayerTraits<armnnSerializer::ConstantLayer> {
1493 };
1494 
1495 template<> struct LayerTraits<armnnSerializer::Convolution2dLayer> {
1497 };
1498 
1499 template<> struct LayerTraits<armnnSerializer::DepthwiseConvolution2dLayer> {
1501 };
1502 
1503 template<> struct LayerTraits<armnnSerializer::FullyConnectedLayer> {
1505 };
1506 
1507 template<> struct LayerTraits<armnnSerializer::InputLayer> {
1509 };
1510 
1511 template<> struct LayerTraits<armnnSerializer::MultiplicationLayer> {
1513 };
1514 
1515 template<> struct LayerTraits<armnnSerializer::OutputLayer> {
1517 };
1518 
1519 template<> struct LayerTraits<armnnSerializer::PermuteLayer> {
1521 };
1522 
1523 template<> struct LayerTraits<armnnSerializer::Pooling2dLayer> {
1525 };
1526 
1527 template<> struct LayerTraits<armnnSerializer::ReshapeLayer> {
1529 };
1530 
1531 template<> struct LayerTraits<armnnSerializer::SoftmaxLayer> {
1533 };
1534 
1535 template<> struct LayerTraits<armnnSerializer::SpaceToBatchNdLayer> {
1537 };
1538 
1539 template<> struct LayerTraits<armnnSerializer::DivisionLayer> {
1541 };
1542 
1543 template<> struct LayerTraits<armnnSerializer::MinimumLayer> {
1545 };
1546 
1547 template<> struct LayerTraits<armnnSerializer::EqualLayer> {
1549 };
1550 
1551 template<> struct LayerTraits<armnnSerializer::MaximumLayer> {
1553 };
1554 
1555 template<> struct LayerTraits<armnnSerializer::NormalizationLayer> {
1557 };
1558 
1559 template<> struct LayerTraits<armnnSerializer::PadLayer> {
1561 };
1562 
1563 template<> struct LayerTraits<armnnSerializer::RsqrtLayer> {
1565 };
1566 
1567 template<> struct LayerTraits<armnnSerializer::FloorLayer> {
1569 };
1570 
1571 template<> struct LayerTraits<armnnSerializer::GreaterLayer> {
1573 };
1574 
1575 template<> struct LayerTraits<armnnSerializer::ResizeBilinearLayer> {
1577 };
1578 
1579 template<> struct LayerTraits<armnnSerializer::SubtractionLayer> {
1581 };
1582 
1583 template<> struct LayerTraits<armnnSerializer::StridedSliceLayer> {
1585 };
1586 
1587 template<> struct LayerTraits<armnnSerializer::GatherLayer> {
1589 };
1590 
1591 template<> struct LayerTraits<armnnSerializer::MeanLayer> {
1593 };
1594 
1597 };
1598 
1599 template<> struct LayerTraits<armnnSerializer::L2NormalizationLayer> {
1601 };
1602 
1603 template<> struct LayerTraits<armnnSerializer::SplitterLayer> {
1605 };
1606 
1607 template<> struct LayerTraits<armnnSerializer::DetectionPostProcessLayer> {
1609 };
1610 
1611 template<> struct LayerTraits<armnnSerializer::LstmLayer> {
1613 };
1614 
1615 template<> struct LayerTraits<armnnSerializer::QuantizedLstmLayer> {
1617 };
1618 
1619 template<> struct LayerTraits<armnnSerializer::QuantizeLayer> {
1621 };
1622 
1623 template<> struct LayerTraits<armnnSerializer::DequantizeLayer> {
1625 };
1626 
1627 template<> struct LayerTraits<armnnSerializer::MergeLayer> {
1629 };
1630 
1631 template<> struct LayerTraits<armnnSerializer::SwitchLayer> {
1633 };
1634 
1635 template<> struct LayerTraits<armnnSerializer::ConcatLayer> {
1637 };
1638 
1639 template<> struct LayerTraits<armnnSerializer::SpaceToDepthLayer> {
1641 };
1642 
1643 template<> struct LayerTraits<armnnSerializer::PreluLayer> {
1645 };
1646 
1647 template<> struct LayerTraits<armnnSerializer::TransposeConvolution2dLayer> {
1649 };
1650 
1651 template<> struct LayerTraits<armnnSerializer::ResizeLayer> {
1653 };
1654 
1655 template<> struct LayerTraits<armnnSerializer::StackLayer> {
1657 };
1658 
1659 template<> struct LayerTraits<armnnSerializer::AbsLayer> {
1661 };
1662 
1663 template<> struct LayerTraits<armnnSerializer::ArgMinMaxLayer> {
1665 };
1666 
1667 template<> struct LayerTraits<armnnSerializer::SliceLayer> {
1669 };
1670 
1671 template<> struct LayerTraits<armnnSerializer::DepthToSpaceLayer> {
1673 };
1674 
1675 template<> struct LayerTraits<armnnSerializer::InstanceNormalizationLayer> {
1677 };
1678 
1679 template<> struct LayerTraits<armnnSerializer::LogSoftmaxLayer> {
1681 };
1682 
1683 template<> struct LayerTraits<armnnSerializer::ComparisonLayer> {
1685 };
1686 
1687 template<> struct LayerTraits<armnnSerializer::StandInLayer> {
1689 };
1690 
1691 template<> struct LayerTraits<armnnSerializer::ElementwiseUnaryLayer> {
1693 };
1694 
1695 template<> struct LayerTraits<armnnSerializer::TransposeLayer> {
1697 };
1698 
1699 template<> struct LayerTraits<armnnSerializer::QLstmLayer> {
1701 };
1702 
1703 template<> struct LayerTraits<armnnSerializer::FillLayer> {
1705 };
1706 
1707 template<> struct LayerTraits<armnnSerializer::RankLayer> {
1709 };
1710 
1711 template<> struct LayerTraits<armnnSerializer::LogicalBinaryLayer> {
1713 };
1714 
1715 template<> struct LayerTraits<armnnSerializer::ReduceLayer> {
1717 };
1718 
1719 template<> struct LayerTraits<armnnSerializer::CastLayer> {
1721 };
1722 
1723 template<> struct LayerTraits<armnnSerializer::ShapeLayer> {
1725 };
1726 
1727 template<> struct LayerTraits<armnnSerializer::UnidirectionalSequenceLstmLayer> {
1729 };
1730 
1731 template<> struct LayerTraits<armnnSerializer::ChannelShuffleLayer> {
1733 };
1734 
1735 template<> struct LayerTraits<armnnSerializer::Convolution3dLayer> {
1737 };
1738 
1739 template<> struct LayerTraits<armnnSerializer::Pooling3dLayer> {
1741 };
1742 
1743 bool VerifyLayer(flatbuffers::Verifier &verifier, const void *obj, Layer type);
1744 bool VerifyLayerVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types);
1745 
1747  private:
1748  uint32_t sourceLayerIndex_;
1749  uint32_t outputSlotIndex_;
1750 
1751  public:
1752  Connection() {
1753  memset(static_cast<void *>(this), 0, sizeof(Connection));
1754  }
1755  Connection(uint32_t _sourceLayerIndex, uint32_t _outputSlotIndex)
1756  : sourceLayerIndex_(flatbuffers::EndianScalar(_sourceLayerIndex)),
1757  outputSlotIndex_(flatbuffers::EndianScalar(_outputSlotIndex)) {
1758  }
1759  uint32_t sourceLayerIndex() const {
1760  return flatbuffers::EndianScalar(sourceLayerIndex_);
1761  }
1762  uint32_t outputSlotIndex() const {
1763  return flatbuffers::EndianScalar(outputSlotIndex_);
1764  }
1765 };
1766 FLATBUFFERS_STRUCT_END(Connection, 8);
1767 
1768 struct TensorInfo FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1770  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1779  VT_ISCONSTANT = 20
1780  };
1781  const flatbuffers::Vector<uint32_t> *dimensions() const {
1782  return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_DIMENSIONS);
1783  }
1785  return static_cast<armnnSerializer::DataType>(GetField<int8_t>(VT_DATATYPE, 0));
1786  }
1787  float quantizationScale() const {
1788  return GetField<float>(VT_QUANTIZATIONSCALE, 1.0f);
1789  }
1790  int32_t quantizationOffset() const {
1791  return GetField<int32_t>(VT_QUANTIZATIONOFFSET, 0);
1792  }
1793  const flatbuffers::Vector<float> *quantizationScales() const {
1794  return GetPointer<const flatbuffers::Vector<float> *>(VT_QUANTIZATIONSCALES);
1795  }
1796  uint32_t quantizationDim() const {
1797  return GetField<uint32_t>(VT_QUANTIZATIONDIM, 0);
1798  }
1799  uint32_t dimensionality() const {
1800  return GetField<uint32_t>(VT_DIMENSIONALITY, 1);
1801  }
1802  const flatbuffers::Vector<uint8_t> *dimensionSpecificity() const {
1803  return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_DIMENSIONSPECIFICITY);
1804  }
1805  bool isConstant() const {
1806  return GetField<uint8_t>(VT_ISCONSTANT, 0) != 0;
1807  }
1808  bool Verify(flatbuffers::Verifier &verifier) const {
1809  return VerifyTableStart(verifier) &&
1810  VerifyOffset(verifier, VT_DIMENSIONS) &&
1811  verifier.VerifyVector(dimensions()) &&
1812  VerifyField<int8_t>(verifier, VT_DATATYPE) &&
1813  VerifyField<float>(verifier, VT_QUANTIZATIONSCALE) &&
1814  VerifyField<int32_t>(verifier, VT_QUANTIZATIONOFFSET) &&
1815  VerifyOffset(verifier, VT_QUANTIZATIONSCALES) &&
1816  verifier.VerifyVector(quantizationScales()) &&
1817  VerifyField<uint32_t>(verifier, VT_QUANTIZATIONDIM) &&
1818  VerifyField<uint32_t>(verifier, VT_DIMENSIONALITY) &&
1819  VerifyOffset(verifier, VT_DIMENSIONSPECIFICITY) &&
1820  verifier.VerifyVector(dimensionSpecificity()) &&
1821  VerifyField<uint8_t>(verifier, VT_ISCONSTANT) &&
1822  verifier.EndTable();
1823  }
1824 };
1825 
1827  typedef TensorInfo Table;
1828  flatbuffers::FlatBufferBuilder &fbb_;
1829  flatbuffers::uoffset_t start_;
1830  void add_dimensions(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> dimensions) {
1831  fbb_.AddOffset(TensorInfo::VT_DIMENSIONS, dimensions);
1832  }
1834  fbb_.AddElement<int8_t>(TensorInfo::VT_DATATYPE, static_cast<int8_t>(dataType), 0);
1835  }
1836  void add_quantizationScale(float quantizationScale) {
1837  fbb_.AddElement<float>(TensorInfo::VT_QUANTIZATIONSCALE, quantizationScale, 1.0f);
1838  }
1839  void add_quantizationOffset(int32_t quantizationOffset) {
1840  fbb_.AddElement<int32_t>(TensorInfo::VT_QUANTIZATIONOFFSET, quantizationOffset, 0);
1841  }
1842  void add_quantizationScales(flatbuffers::Offset<flatbuffers::Vector<float>> quantizationScales) {
1843  fbb_.AddOffset(TensorInfo::VT_QUANTIZATIONSCALES, quantizationScales);
1844  }
1845  void add_quantizationDim(uint32_t quantizationDim) {
1846  fbb_.AddElement<uint32_t>(TensorInfo::VT_QUANTIZATIONDIM, quantizationDim, 0);
1847  }
1848  void add_dimensionality(uint32_t dimensionality) {
1849  fbb_.AddElement<uint32_t>(TensorInfo::VT_DIMENSIONALITY, dimensionality, 1);
1850  }
1851  void add_dimensionSpecificity(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> dimensionSpecificity) {
1852  fbb_.AddOffset(TensorInfo::VT_DIMENSIONSPECIFICITY, dimensionSpecificity);
1853  }
1854  void add_isConstant(bool isConstant) {
1855  fbb_.AddElement<uint8_t>(TensorInfo::VT_ISCONSTANT, static_cast<uint8_t>(isConstant), 0);
1856  }
1857  explicit TensorInfoBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1858  : fbb_(_fbb) {
1859  start_ = fbb_.StartTable();
1860  }
1861  TensorInfoBuilder &operator=(const TensorInfoBuilder &);
1862  flatbuffers::Offset<TensorInfo> Finish() {
1863  const auto end = fbb_.EndTable(start_);
1864  auto o = flatbuffers::Offset<TensorInfo>(end);
1865  return o;
1866  }
1867 };
1868 
1869 inline flatbuffers::Offset<TensorInfo> CreateTensorInfo(
1870  flatbuffers::FlatBufferBuilder &_fbb,
1871  flatbuffers::Offset<flatbuffers::Vector<uint32_t>> dimensions = 0,
1873  float quantizationScale = 1.0f,
1874  int32_t quantizationOffset = 0,
1875  flatbuffers::Offset<flatbuffers::Vector<float>> quantizationScales = 0,
1876  uint32_t quantizationDim = 0,
1877  uint32_t dimensionality = 1,
1878  flatbuffers::Offset<flatbuffers::Vector<uint8_t>> dimensionSpecificity = 0,
1879  bool isConstant = false) {
1880  TensorInfoBuilder builder_(_fbb);
1881  builder_.add_dimensionSpecificity(dimensionSpecificity);
1882  builder_.add_dimensionality(dimensionality);
1883  builder_.add_quantizationDim(quantizationDim);
1884  builder_.add_quantizationScales(quantizationScales);
1885  builder_.add_quantizationOffset(quantizationOffset);
1886  builder_.add_quantizationScale(quantizationScale);
1887  builder_.add_dimensions(dimensions);
1888  builder_.add_isConstant(isConstant);
1889  builder_.add_dataType(dataType);
1890  return builder_.Finish();
1891 }
1892 
1893 inline flatbuffers::Offset<TensorInfo> CreateTensorInfoDirect(
1894  flatbuffers::FlatBufferBuilder &_fbb,
1895  const std::vector<uint32_t> *dimensions = nullptr,
1897  float quantizationScale = 1.0f,
1898  int32_t quantizationOffset = 0,
1899  const std::vector<float> *quantizationScales = nullptr,
1900  uint32_t quantizationDim = 0,
1901  uint32_t dimensionality = 1,
1902  const std::vector<uint8_t> *dimensionSpecificity = nullptr,
1903  bool isConstant = false) {
1904  auto dimensions__ = dimensions ? _fbb.CreateVector<uint32_t>(*dimensions) : 0;
1905  auto quantizationScales__ = quantizationScales ? _fbb.CreateVector<float>(*quantizationScales) : 0;
1906  auto dimensionSpecificity__ = dimensionSpecificity ? _fbb.CreateVector<uint8_t>(*dimensionSpecificity) : 0;
1908  _fbb,
1909  dimensions__,
1910  dataType,
1911  quantizationScale,
1912  quantizationOffset,
1913  quantizationScales__,
1914  quantizationDim,
1915  dimensionality,
1916  dimensionSpecificity__,
1917  isConstant);
1918 }
1919 
1920 struct ByteData FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1922  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1923  VT_DATA = 4
1924  };
1925  const flatbuffers::Vector<int8_t> *data() const {
1926  return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_DATA);
1927  }
1928  bool Verify(flatbuffers::Verifier &verifier) const {
1929  return VerifyTableStart(verifier) &&
1930  VerifyOffset(verifier, VT_DATA) &&
1931  verifier.VerifyVector(data()) &&
1932  verifier.EndTable();
1933  }
1934 };
1935 
1937  typedef ByteData Table;
1938  flatbuffers::FlatBufferBuilder &fbb_;
1939  flatbuffers::uoffset_t start_;
1940  void add_data(flatbuffers::Offset<flatbuffers::Vector<int8_t>> data) {
1941  fbb_.AddOffset(ByteData::VT_DATA, data);
1942  }
1943  explicit ByteDataBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1944  : fbb_(_fbb) {
1945  start_ = fbb_.StartTable();
1946  }
1947  ByteDataBuilder &operator=(const ByteDataBuilder &);
1948  flatbuffers::Offset<ByteData> Finish() {
1949  const auto end = fbb_.EndTable(start_);
1950  auto o = flatbuffers::Offset<ByteData>(end);
1951  return o;
1952  }
1953 };
1954 
1955 inline flatbuffers::Offset<ByteData> CreateByteData(
1956  flatbuffers::FlatBufferBuilder &_fbb,
1957  flatbuffers::Offset<flatbuffers::Vector<int8_t>> data = 0) {
1958  ByteDataBuilder builder_(_fbb);
1959  builder_.add_data(data);
1960  return builder_.Finish();
1961 }
1962 
1963 inline flatbuffers::Offset<ByteData> CreateByteDataDirect(
1964  flatbuffers::FlatBufferBuilder &_fbb,
1965  const std::vector<int8_t> *data = nullptr) {
1966  auto data__ = data ? _fbb.CreateVector<int8_t>(*data) : 0;
1968  _fbb,
1969  data__);
1970 }
1971 
1972 struct ShortData FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1974  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1975  VT_DATA = 4
1976  };
1977  const flatbuffers::Vector<int16_t> *data() const {
1978  return GetPointer<const flatbuffers::Vector<int16_t> *>(VT_DATA);
1979  }
1980  bool Verify(flatbuffers::Verifier &verifier) const {
1981  return VerifyTableStart(verifier) &&
1982  VerifyOffset(verifier, VT_DATA) &&
1983  verifier.VerifyVector(data()) &&
1984  verifier.EndTable();
1985  }
1986 };
1987 
1989  typedef ShortData Table;
1990  flatbuffers::FlatBufferBuilder &fbb_;
1991  flatbuffers::uoffset_t start_;
1992  void add_data(flatbuffers::Offset<flatbuffers::Vector<int16_t>> data) {
1993  fbb_.AddOffset(ShortData::VT_DATA, data);
1994  }
1995  explicit ShortDataBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1996  : fbb_(_fbb) {
1997  start_ = fbb_.StartTable();
1998  }
1999  ShortDataBuilder &operator=(const ShortDataBuilder &);
2000  flatbuffers::Offset<ShortData> Finish() {
2001  const auto end = fbb_.EndTable(start_);
2002  auto o = flatbuffers::Offset<ShortData>(end);
2003  return o;
2004  }
2005 };
2006 
2007 inline flatbuffers::Offset<ShortData> CreateShortData(
2008  flatbuffers::FlatBufferBuilder &_fbb,
2009  flatbuffers::Offset<flatbuffers::Vector<int16_t>> data = 0) {
2010  ShortDataBuilder builder_(_fbb);
2011  builder_.add_data(data);
2012  return builder_.Finish();
2013 }
2014 
2015 inline flatbuffers::Offset<ShortData> CreateShortDataDirect(
2016  flatbuffers::FlatBufferBuilder &_fbb,
2017  const std::vector<int16_t> *data = nullptr) {
2018  auto data__ = data ? _fbb.CreateVector<int16_t>(*data) : 0;
2020  _fbb,
2021  data__);
2022 }
2023 
2024 struct IntData FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2026  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2027  VT_DATA = 4
2028  };
2029  const flatbuffers::Vector<int32_t> *data() const {
2030  return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_DATA);
2031  }
2032  bool Verify(flatbuffers::Verifier &verifier) const {
2033  return VerifyTableStart(verifier) &&
2034  VerifyOffset(verifier, VT_DATA) &&
2035  verifier.VerifyVector(data()) &&
2036  verifier.EndTable();
2037  }
2038 };
2039 
2041  typedef IntData Table;
2042  flatbuffers::FlatBufferBuilder &fbb_;
2043  flatbuffers::uoffset_t start_;
2044  void add_data(flatbuffers::Offset<flatbuffers::Vector<int32_t>> data) {
2045  fbb_.AddOffset(IntData::VT_DATA, data);
2046  }
2047  explicit IntDataBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2048  : fbb_(_fbb) {
2049  start_ = fbb_.StartTable();
2050  }
2051  IntDataBuilder &operator=(const IntDataBuilder &);
2052  flatbuffers::Offset<IntData> Finish() {
2053  const auto end = fbb_.EndTable(start_);
2054  auto o = flatbuffers::Offset<IntData>(end);
2055  return o;
2056  }
2057 };
2058 
2059 inline flatbuffers::Offset<IntData> CreateIntData(
2060  flatbuffers::FlatBufferBuilder &_fbb,
2061  flatbuffers::Offset<flatbuffers::Vector<int32_t>> data = 0) {
2062  IntDataBuilder builder_(_fbb);
2063  builder_.add_data(data);
2064  return builder_.Finish();
2065 }
2066 
2067 inline flatbuffers::Offset<IntData> CreateIntDataDirect(
2068  flatbuffers::FlatBufferBuilder &_fbb,
2069  const std::vector<int32_t> *data = nullptr) {
2070  auto data__ = data ? _fbb.CreateVector<int32_t>(*data) : 0;
2072  _fbb,
2073  data__);
2074 }
2075 
2076 struct LongData FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2078  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2079  VT_DATA = 4
2080  };
2081  const flatbuffers::Vector<int64_t> *data() const {
2082  return GetPointer<const flatbuffers::Vector<int64_t> *>(VT_DATA);
2083  }
2084  bool Verify(flatbuffers::Verifier &verifier) const {
2085  return VerifyTableStart(verifier) &&
2086  VerifyOffset(verifier, VT_DATA) &&
2087  verifier.VerifyVector(data()) &&
2088  verifier.EndTable();
2089  }
2090 };
2091 
2093  typedef LongData Table;
2094  flatbuffers::FlatBufferBuilder &fbb_;
2095  flatbuffers::uoffset_t start_;
2096  void add_data(flatbuffers::Offset<flatbuffers::Vector<int64_t>> data) {
2097  fbb_.AddOffset(LongData::VT_DATA, data);
2098  }
2099  explicit LongDataBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2100  : fbb_(_fbb) {
2101  start_ = fbb_.StartTable();
2102  }
2103  LongDataBuilder &operator=(const LongDataBuilder &);
2104  flatbuffers::Offset<LongData> Finish() {
2105  const auto end = fbb_.EndTable(start_);
2106  auto o = flatbuffers::Offset<LongData>(end);
2107  return o;
2108  }
2109 };
2110 
2111 inline flatbuffers::Offset<LongData> CreateLongData(
2112  flatbuffers::FlatBufferBuilder &_fbb,
2113  flatbuffers::Offset<flatbuffers::Vector<int64_t>> data = 0) {
2114  LongDataBuilder builder_(_fbb);
2115  builder_.add_data(data);
2116  return builder_.Finish();
2117 }
2118 
2119 inline flatbuffers::Offset<LongData> CreateLongDataDirect(
2120  flatbuffers::FlatBufferBuilder &_fbb,
2121  const std::vector<int64_t> *data = nullptr) {
2122  auto data__ = data ? _fbb.CreateVector<int64_t>(*data) : 0;
2124  _fbb,
2125  data__);
2126 }
2127 
2128 struct ConstTensor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2130  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2131  VT_INFO = 4,
2133  VT_DATA = 8
2134  };
2135  const armnnSerializer::TensorInfo *info() const {
2136  return GetPointer<const armnnSerializer::TensorInfo *>(VT_INFO);
2137  }
2139  return static_cast<armnnSerializer::ConstTensorData>(GetField<uint8_t>(VT_DATA_TYPE, 0));
2140  }
2141  const void *data() const {
2142  return GetPointer<const void *>(VT_DATA);
2143  }
2144  template<typename T> const T *data_as() const;
2145  const armnnSerializer::ByteData *data_as_ByteData() const {
2146  return data_type() == armnnSerializer::ConstTensorData_ByteData ? static_cast<const armnnSerializer::ByteData *>(data()) : nullptr;
2147  }
2148  const armnnSerializer::ShortData *data_as_ShortData() const {
2149  return data_type() == armnnSerializer::ConstTensorData_ShortData ? static_cast<const armnnSerializer::ShortData *>(data()) : nullptr;
2150  }
2151  const armnnSerializer::IntData *data_as_IntData() const {
2152  return data_type() == armnnSerializer::ConstTensorData_IntData ? static_cast<const armnnSerializer::IntData *>(data()) : nullptr;
2153  }
2154  const armnnSerializer::LongData *data_as_LongData() const {
2155  return data_type() == armnnSerializer::ConstTensorData_LongData ? static_cast<const armnnSerializer::LongData *>(data()) : nullptr;
2156  }
2157  bool Verify(flatbuffers::Verifier &verifier) const {
2158  return VerifyTableStart(verifier) &&
2159  VerifyOffset(verifier, VT_INFO) &&
2160  verifier.VerifyTable(info()) &&
2161  VerifyField<uint8_t>(verifier, VT_DATA_TYPE) &&
2162  VerifyOffset(verifier, VT_DATA) &&
2163  VerifyConstTensorData(verifier, data(), data_type()) &&
2164  verifier.EndTable();
2165  }
2166 };
2167 
2168 template<> inline const armnnSerializer::ByteData *ConstTensor::data_as<armnnSerializer::ByteData>() const {
2169  return data_as_ByteData();
2170 }
2171 
2172 template<> inline const armnnSerializer::ShortData *ConstTensor::data_as<armnnSerializer::ShortData>() const {
2173  return data_as_ShortData();
2174 }
2175 
2176 template<> inline const armnnSerializer::IntData *ConstTensor::data_as<armnnSerializer::IntData>() const {
2177  return data_as_IntData();
2178 }
2179 
2180 template<> inline const armnnSerializer::LongData *ConstTensor::data_as<armnnSerializer::LongData>() const {
2181  return data_as_LongData();
2182 }
2183 
2185  typedef ConstTensor Table;
2186  flatbuffers::FlatBufferBuilder &fbb_;
2187  flatbuffers::uoffset_t start_;
2188  void add_info(flatbuffers::Offset<armnnSerializer::TensorInfo> info) {
2189  fbb_.AddOffset(ConstTensor::VT_INFO, info);
2190  }
2192  fbb_.AddElement<uint8_t>(ConstTensor::VT_DATA_TYPE, static_cast<uint8_t>(data_type), 0);
2193  }
2194  void add_data(flatbuffers::Offset<void> data) {
2195  fbb_.AddOffset(ConstTensor::VT_DATA, data);
2196  }
2197  explicit ConstTensorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2198  : fbb_(_fbb) {
2199  start_ = fbb_.StartTable();
2200  }
2201  ConstTensorBuilder &operator=(const ConstTensorBuilder &);
2202  flatbuffers::Offset<ConstTensor> Finish() {
2203  const auto end = fbb_.EndTable(start_);
2204  auto o = flatbuffers::Offset<ConstTensor>(end);
2205  return o;
2206  }
2207 };
2208 
2209 inline flatbuffers::Offset<ConstTensor> CreateConstTensor(
2210  flatbuffers::FlatBufferBuilder &_fbb,
2211  flatbuffers::Offset<armnnSerializer::TensorInfo> info = 0,
2213  flatbuffers::Offset<void> data = 0) {
2214  ConstTensorBuilder builder_(_fbb);
2215  builder_.add_data(data);
2216  builder_.add_info(info);
2217  builder_.add_data_type(data_type);
2218  return builder_.Finish();
2219 }
2220 
2221 struct InputSlot FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2223  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2225  VT_CONNECTION = 6
2226  };
2227  uint32_t index() const {
2228  return GetField<uint32_t>(VT_INDEX, 0);
2229  }
2230  const armnnSerializer::Connection *connection() const {
2231  return GetStruct<const armnnSerializer::Connection *>(VT_CONNECTION);
2232  }
2233  bool Verify(flatbuffers::Verifier &verifier) const {
2234  return VerifyTableStart(verifier) &&
2235  VerifyField<uint32_t>(verifier, VT_INDEX) &&
2236  VerifyField<armnnSerializer::Connection>(verifier, VT_CONNECTION) &&
2237  verifier.EndTable();
2238  }
2239 };
2240 
2242  typedef InputSlot Table;
2243  flatbuffers::FlatBufferBuilder &fbb_;
2244  flatbuffers::uoffset_t start_;
2245  void add_index(uint32_t index) {
2246  fbb_.AddElement<uint32_t>(InputSlot::VT_INDEX, index, 0);
2247  }
2248  void add_connection(const armnnSerializer::Connection *connection) {
2249  fbb_.AddStruct(InputSlot::VT_CONNECTION, connection);
2250  }
2251  explicit InputSlotBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2252  : fbb_(_fbb) {
2253  start_ = fbb_.StartTable();
2254  }
2255  InputSlotBuilder &operator=(const InputSlotBuilder &);
2256  flatbuffers::Offset<InputSlot> Finish() {
2257  const auto end = fbb_.EndTable(start_);
2258  auto o = flatbuffers::Offset<InputSlot>(end);
2259  return o;
2260  }
2261 };
2262 
2263 inline flatbuffers::Offset<InputSlot> CreateInputSlot(
2264  flatbuffers::FlatBufferBuilder &_fbb,
2265  uint32_t index = 0,
2266  const armnnSerializer::Connection *connection = 0) {
2267  InputSlotBuilder builder_(_fbb);
2268  builder_.add_connection(connection);
2269  builder_.add_index(index);
2270  return builder_.Finish();
2271 }
2272 
2273 struct OutputSlot FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2275  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2276  VT_INDEX = 4,
2277  VT_TENSORINFO = 6
2278  };
2279  uint32_t index() const {
2280  return GetField<uint32_t>(VT_INDEX, 0);
2281  }
2282  const armnnSerializer::TensorInfo *tensorInfo() const {
2283  return GetPointer<const armnnSerializer::TensorInfo *>(VT_TENSORINFO);
2284  }
2285  bool Verify(flatbuffers::Verifier &verifier) const {
2286  return VerifyTableStart(verifier) &&
2287  VerifyField<uint32_t>(verifier, VT_INDEX) &&
2288  VerifyOffset(verifier, VT_TENSORINFO) &&
2289  verifier.VerifyTable(tensorInfo()) &&
2290  verifier.EndTable();
2291  }
2292 };
2293 
2295  typedef OutputSlot Table;
2296  flatbuffers::FlatBufferBuilder &fbb_;
2297  flatbuffers::uoffset_t start_;
2298  void add_index(uint32_t index) {
2299  fbb_.AddElement<uint32_t>(OutputSlot::VT_INDEX, index, 0);
2300  }
2301  void add_tensorInfo(flatbuffers::Offset<armnnSerializer::TensorInfo> tensorInfo) {
2302  fbb_.AddOffset(OutputSlot::VT_TENSORINFO, tensorInfo);
2303  }
2304  explicit OutputSlotBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2305  : fbb_(_fbb) {
2306  start_ = fbb_.StartTable();
2307  }
2308  OutputSlotBuilder &operator=(const OutputSlotBuilder &);
2309  flatbuffers::Offset<OutputSlot> Finish() {
2310  const auto end = fbb_.EndTable(start_);
2311  auto o = flatbuffers::Offset<OutputSlot>(end);
2312  return o;
2313  }
2314 };
2315 
2316 inline flatbuffers::Offset<OutputSlot> CreateOutputSlot(
2317  flatbuffers::FlatBufferBuilder &_fbb,
2318  uint32_t index = 0,
2319  flatbuffers::Offset<armnnSerializer::TensorInfo> tensorInfo = 0) {
2320  OutputSlotBuilder builder_(_fbb);
2321  builder_.add_tensorInfo(tensorInfo);
2322  builder_.add_index(index);
2323  return builder_.Finish();
2324 }
2325 
2326 struct LayerBase FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2328  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2329  VT_INDEX = 4,
2333  VT_OUTPUTSLOTS = 12
2334  };
2335  uint32_t index() const {
2336  return GetField<uint32_t>(VT_INDEX, 0);
2337  }
2338  const flatbuffers::String *layerName() const {
2339  return GetPointer<const flatbuffers::String *>(VT_LAYERNAME);
2340  }
2342  return static_cast<armnnSerializer::LayerType>(GetField<uint32_t>(VT_LAYERTYPE, 0));
2343  }
2344  const flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::InputSlot>> *inputSlots() const {
2345  return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::InputSlot>> *>(VT_INPUTSLOTS);
2346  }
2347  const flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::OutputSlot>> *outputSlots() const {
2348  return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::OutputSlot>> *>(VT_OUTPUTSLOTS);
2349  }
2350  bool Verify(flatbuffers::Verifier &verifier) const {
2351  return VerifyTableStart(verifier) &&
2352  VerifyField<uint32_t>(verifier, VT_INDEX) &&
2353  VerifyOffset(verifier, VT_LAYERNAME) &&
2354  verifier.VerifyString(layerName()) &&
2355  VerifyField<uint32_t>(verifier, VT_LAYERTYPE) &&
2356  VerifyOffset(verifier, VT_INPUTSLOTS) &&
2357  verifier.VerifyVector(inputSlots()) &&
2358  verifier.VerifyVectorOfTables(inputSlots()) &&
2359  VerifyOffset(verifier, VT_OUTPUTSLOTS) &&
2360  verifier.VerifyVector(outputSlots()) &&
2361  verifier.VerifyVectorOfTables(outputSlots()) &&
2362  verifier.EndTable();
2363  }
2364 };
2365 
2367  typedef LayerBase Table;
2368  flatbuffers::FlatBufferBuilder &fbb_;
2369  flatbuffers::uoffset_t start_;
2370  void add_index(uint32_t index) {
2371  fbb_.AddElement<uint32_t>(LayerBase::VT_INDEX, index, 0);
2372  }
2373  void add_layerName(flatbuffers::Offset<flatbuffers::String> layerName) {
2374  fbb_.AddOffset(LayerBase::VT_LAYERNAME, layerName);
2375  }
2377  fbb_.AddElement<uint32_t>(LayerBase::VT_LAYERTYPE, static_cast<uint32_t>(layerType), 0);
2378  }
2379  void add_inputSlots(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::InputSlot>>> inputSlots) {
2380  fbb_.AddOffset(LayerBase::VT_INPUTSLOTS, inputSlots);
2381  }
2382  void add_outputSlots(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::OutputSlot>>> outputSlots) {
2383  fbb_.AddOffset(LayerBase::VT_OUTPUTSLOTS, outputSlots);
2384  }
2385  explicit LayerBaseBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2386  : fbb_(_fbb) {
2387  start_ = fbb_.StartTable();
2388  }
2389  LayerBaseBuilder &operator=(const LayerBaseBuilder &);
2390  flatbuffers::Offset<LayerBase> Finish() {
2391  const auto end = fbb_.EndTable(start_);
2392  auto o = flatbuffers::Offset<LayerBase>(end);
2393  return o;
2394  }
2395 };
2396 
2397 inline flatbuffers::Offset<LayerBase> CreateLayerBase(
2398  flatbuffers::FlatBufferBuilder &_fbb,
2399  uint32_t index = 0,
2400  flatbuffers::Offset<flatbuffers::String> layerName = 0,
2402  flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::InputSlot>>> inputSlots = 0,
2403  flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::OutputSlot>>> outputSlots = 0) {
2404  LayerBaseBuilder builder_(_fbb);
2405  builder_.add_outputSlots(outputSlots);
2406  builder_.add_inputSlots(inputSlots);
2407  builder_.add_layerType(layerType);
2408  builder_.add_layerName(layerName);
2409  builder_.add_index(index);
2410  return builder_.Finish();
2411 }
2412 
2413 inline flatbuffers::Offset<LayerBase> CreateLayerBaseDirect(
2414  flatbuffers::FlatBufferBuilder &_fbb,
2415  uint32_t index = 0,
2416  const char *layerName = nullptr,
2418  const std::vector<flatbuffers::Offset<armnnSerializer::InputSlot>> *inputSlots = nullptr,
2419  const std::vector<flatbuffers::Offset<armnnSerializer::OutputSlot>> *outputSlots = nullptr) {
2420  auto layerName__ = layerName ? _fbb.CreateString(layerName) : 0;
2421  auto inputSlots__ = inputSlots ? _fbb.CreateVector<flatbuffers::Offset<armnnSerializer::InputSlot>>(*inputSlots) : 0;
2422  auto outputSlots__ = outputSlots ? _fbb.CreateVector<flatbuffers::Offset<armnnSerializer::OutputSlot>>(*outputSlots) : 0;
2424  _fbb,
2425  index,
2426  layerName__,
2427  layerType,
2428  inputSlots__,
2429  outputSlots__);
2430 }
2431 
2432 struct BindableLayerBase FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2434  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2435  VT_BASE = 4,
2436  VT_LAYERBINDINGID = 6
2437  };
2438  const armnnSerializer::LayerBase *base() const {
2439  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
2440  }
2441  int32_t layerBindingId() const {
2442  return GetField<int32_t>(VT_LAYERBINDINGID, 0);
2443  }
2444  bool Verify(flatbuffers::Verifier &verifier) const {
2445  return VerifyTableStart(verifier) &&
2446  VerifyOffset(verifier, VT_BASE) &&
2447  verifier.VerifyTable(base()) &&
2448  VerifyField<int32_t>(verifier, VT_LAYERBINDINGID) &&
2449  verifier.EndTable();
2450  }
2451 };
2452 
2454  typedef BindableLayerBase Table;
2455  flatbuffers::FlatBufferBuilder &fbb_;
2456  flatbuffers::uoffset_t start_;
2457  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
2458  fbb_.AddOffset(BindableLayerBase::VT_BASE, base);
2459  }
2460  void add_layerBindingId(int32_t layerBindingId) {
2461  fbb_.AddElement<int32_t>(BindableLayerBase::VT_LAYERBINDINGID, layerBindingId, 0);
2462  }
2463  explicit BindableLayerBaseBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2464  : fbb_(_fbb) {
2465  start_ = fbb_.StartTable();
2466  }
2468  flatbuffers::Offset<BindableLayerBase> Finish() {
2469  const auto end = fbb_.EndTable(start_);
2470  auto o = flatbuffers::Offset<BindableLayerBase>(end);
2471  return o;
2472  }
2473 };
2474 
2475 inline flatbuffers::Offset<BindableLayerBase> CreateBindableLayerBase(
2476  flatbuffers::FlatBufferBuilder &_fbb,
2477  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
2478  int32_t layerBindingId = 0) {
2479  BindableLayerBaseBuilder builder_(_fbb);
2480  builder_.add_layerBindingId(layerBindingId);
2481  builder_.add_base(base);
2482  return builder_.Finish();
2483 }
2484 
2485 /// @deprecated Use ElementwiseUnaryLayer instead
2486 struct AbsLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2488  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2489  VT_BASE = 4
2490  };
2491  const armnnSerializer::LayerBase *base() const {
2492  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
2493  }
2494  bool Verify(flatbuffers::Verifier &verifier) const {
2495  return VerifyTableStart(verifier) &&
2496  VerifyOffset(verifier, VT_BASE) &&
2497  verifier.VerifyTable(base()) &&
2498  verifier.EndTable();
2499  }
2500 };
2501 
2503  typedef AbsLayer Table;
2504  flatbuffers::FlatBufferBuilder &fbb_;
2505  flatbuffers::uoffset_t start_;
2506  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
2507  fbb_.AddOffset(AbsLayer::VT_BASE, base);
2508  }
2509  explicit AbsLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2510  : fbb_(_fbb) {
2511  start_ = fbb_.StartTable();
2512  }
2513  AbsLayerBuilder &operator=(const AbsLayerBuilder &);
2514  flatbuffers::Offset<AbsLayer> Finish() {
2515  const auto end = fbb_.EndTable(start_);
2516  auto o = flatbuffers::Offset<AbsLayer>(end);
2517  return o;
2518  }
2519 };
2520 
2521 inline flatbuffers::Offset<AbsLayer> CreateAbsLayer(
2522  flatbuffers::FlatBufferBuilder &_fbb,
2523  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
2524  AbsLayerBuilder builder_(_fbb);
2525  builder_.add_base(base);
2526  return builder_.Finish();
2527 }
2528 
2529 struct ActivationLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2531  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2532  VT_BASE = 4,
2533  VT_DESCRIPTOR = 6
2534  };
2535  const armnnSerializer::LayerBase *base() const {
2536  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
2537  }
2538  const armnnSerializer::ActivationDescriptor *descriptor() const {
2539  return GetPointer<const armnnSerializer::ActivationDescriptor *>(VT_DESCRIPTOR);
2540  }
2541  bool Verify(flatbuffers::Verifier &verifier) const {
2542  return VerifyTableStart(verifier) &&
2543  VerifyOffset(verifier, VT_BASE) &&
2544  verifier.VerifyTable(base()) &&
2545  VerifyOffset(verifier, VT_DESCRIPTOR) &&
2546  verifier.VerifyTable(descriptor()) &&
2547  verifier.EndTable();
2548  }
2549 };
2550 
2552  typedef ActivationLayer Table;
2553  flatbuffers::FlatBufferBuilder &fbb_;
2554  flatbuffers::uoffset_t start_;
2555  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
2556  fbb_.AddOffset(ActivationLayer::VT_BASE, base);
2557  }
2558  void add_descriptor(flatbuffers::Offset<armnnSerializer::ActivationDescriptor> descriptor) {
2559  fbb_.AddOffset(ActivationLayer::VT_DESCRIPTOR, descriptor);
2560  }
2561  explicit ActivationLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2562  : fbb_(_fbb) {
2563  start_ = fbb_.StartTable();
2564  }
2565  ActivationLayerBuilder &operator=(const ActivationLayerBuilder &);
2566  flatbuffers::Offset<ActivationLayer> Finish() {
2567  const auto end = fbb_.EndTable(start_);
2568  auto o = flatbuffers::Offset<ActivationLayer>(end);
2569  return o;
2570  }
2571 };
2572 
2573 inline flatbuffers::Offset<ActivationLayer> CreateActivationLayer(
2574  flatbuffers::FlatBufferBuilder &_fbb,
2575  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
2576  flatbuffers::Offset<armnnSerializer::ActivationDescriptor> descriptor = 0) {
2577  ActivationLayerBuilder builder_(_fbb);
2578  builder_.add_descriptor(descriptor);
2579  builder_.add_base(base);
2580  return builder_.Finish();
2581 }
2582 
2583 struct ActivationDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2585  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2587  VT_A = 6,
2588  VT_B = 8
2589  };
2591  return static_cast<armnnSerializer::ActivationFunction>(GetField<int8_t>(VT_ACTIVATIONFUNCTION, 0));
2592  }
2593  float a() const {
2594  return GetField<float>(VT_A, 0.0f);
2595  }
2596  float b() const {
2597  return GetField<float>(VT_B, 0.0f);
2598  }
2599  bool Verify(flatbuffers::Verifier &verifier) const {
2600  return VerifyTableStart(verifier) &&
2601  VerifyField<int8_t>(verifier, VT_ACTIVATIONFUNCTION) &&
2602  VerifyField<float>(verifier, VT_A) &&
2603  VerifyField<float>(verifier, VT_B) &&
2604  verifier.EndTable();
2605  }
2606 };
2607 
2609  typedef ActivationDescriptor Table;
2610  flatbuffers::FlatBufferBuilder &fbb_;
2611  flatbuffers::uoffset_t start_;
2613  fbb_.AddElement<int8_t>(ActivationDescriptor::VT_ACTIVATIONFUNCTION, static_cast<int8_t>(activationFunction), 0);
2614  }
2615  void add_a(float a) {
2616  fbb_.AddElement<float>(ActivationDescriptor::VT_A, a, 0.0f);
2617  }
2618  void add_b(float b) {
2619  fbb_.AddElement<float>(ActivationDescriptor::VT_B, b, 0.0f);
2620  }
2621  explicit ActivationDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2622  : fbb_(_fbb) {
2623  start_ = fbb_.StartTable();
2624  }
2626  flatbuffers::Offset<ActivationDescriptor> Finish() {
2627  const auto end = fbb_.EndTable(start_);
2628  auto o = flatbuffers::Offset<ActivationDescriptor>(end);
2629  return o;
2630  }
2631 };
2632 
2633 inline flatbuffers::Offset<ActivationDescriptor> CreateActivationDescriptor(
2634  flatbuffers::FlatBufferBuilder &_fbb,
2636  float a = 0.0f,
2637  float b = 0.0f) {
2638  ActivationDescriptorBuilder builder_(_fbb);
2639  builder_.add_b(b);
2640  builder_.add_a(a);
2641  builder_.add_activationFunction(activationFunction);
2642  return builder_.Finish();
2643 }
2644 
2645 struct AdditionLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2647  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2648  VT_BASE = 4
2649  };
2650  const armnnSerializer::LayerBase *base() const {
2651  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
2652  }
2653  bool Verify(flatbuffers::Verifier &verifier) const {
2654  return VerifyTableStart(verifier) &&
2655  VerifyOffset(verifier, VT_BASE) &&
2656  verifier.VerifyTable(base()) &&
2657  verifier.EndTable();
2658  }
2659 };
2660 
2662  typedef AdditionLayer Table;
2663  flatbuffers::FlatBufferBuilder &fbb_;
2664  flatbuffers::uoffset_t start_;
2665  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
2666  fbb_.AddOffset(AdditionLayer::VT_BASE, base);
2667  }
2668  explicit AdditionLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2669  : fbb_(_fbb) {
2670  start_ = fbb_.StartTable();
2671  }
2672  AdditionLayerBuilder &operator=(const AdditionLayerBuilder &);
2673  flatbuffers::Offset<AdditionLayer> Finish() {
2674  const auto end = fbb_.EndTable(start_);
2675  auto o = flatbuffers::Offset<AdditionLayer>(end);
2676  return o;
2677  }
2678 };
2679 
2680 inline flatbuffers::Offset<AdditionLayer> CreateAdditionLayer(
2681  flatbuffers::FlatBufferBuilder &_fbb,
2682  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
2683  AdditionLayerBuilder builder_(_fbb);
2684  builder_.add_base(base);
2685  return builder_.Finish();
2686 }
2687 
2688 struct ArgMinMaxLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2690  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2691  VT_BASE = 4,
2692  VT_DESCRIPTOR = 6
2693  };
2694  const armnnSerializer::LayerBase *base() const {
2695  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
2696  }
2697  const armnnSerializer::ArgMinMaxDescriptor *descriptor() const {
2698  return GetPointer<const armnnSerializer::ArgMinMaxDescriptor *>(VT_DESCRIPTOR);
2699  }
2700  bool Verify(flatbuffers::Verifier &verifier) const {
2701  return VerifyTableStart(verifier) &&
2702  VerifyOffset(verifier, VT_BASE) &&
2703  verifier.VerifyTable(base()) &&
2704  VerifyOffset(verifier, VT_DESCRIPTOR) &&
2705  verifier.VerifyTable(descriptor()) &&
2706  verifier.EndTable();
2707  }
2708 };
2709 
2711  typedef ArgMinMaxLayer Table;
2712  flatbuffers::FlatBufferBuilder &fbb_;
2713  flatbuffers::uoffset_t start_;
2714  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
2715  fbb_.AddOffset(ArgMinMaxLayer::VT_BASE, base);
2716  }
2717  void add_descriptor(flatbuffers::Offset<armnnSerializer::ArgMinMaxDescriptor> descriptor) {
2718  fbb_.AddOffset(ArgMinMaxLayer::VT_DESCRIPTOR, descriptor);
2719  }
2720  explicit ArgMinMaxLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2721  : fbb_(_fbb) {
2722  start_ = fbb_.StartTable();
2723  }
2724  ArgMinMaxLayerBuilder &operator=(const ArgMinMaxLayerBuilder &);
2725  flatbuffers::Offset<ArgMinMaxLayer> Finish() {
2726  const auto end = fbb_.EndTable(start_);
2727  auto o = flatbuffers::Offset<ArgMinMaxLayer>(end);
2728  return o;
2729  }
2730 };
2731 
2732 inline flatbuffers::Offset<ArgMinMaxLayer> CreateArgMinMaxLayer(
2733  flatbuffers::FlatBufferBuilder &_fbb,
2734  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
2735  flatbuffers::Offset<armnnSerializer::ArgMinMaxDescriptor> descriptor = 0) {
2736  ArgMinMaxLayerBuilder builder_(_fbb);
2737  builder_.add_descriptor(descriptor);
2738  builder_.add_base(base);
2739  return builder_.Finish();
2740 }
2741 
2742 struct ArgMinMaxDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2744  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2746  VT_AXIS = 6
2747  };
2749  return static_cast<armnnSerializer::ArgMinMaxFunction>(GetField<int8_t>(VT_ARGMINMAXFUNCTION, 0));
2750  }
2751  int32_t axis() const {
2752  return GetField<int32_t>(VT_AXIS, 0);
2753  }
2754  bool Verify(flatbuffers::Verifier &verifier) const {
2755  return VerifyTableStart(verifier) &&
2756  VerifyField<int8_t>(verifier, VT_ARGMINMAXFUNCTION) &&
2757  VerifyField<int32_t>(verifier, VT_AXIS) &&
2758  verifier.EndTable();
2759  }
2760 };
2761 
2763  typedef ArgMinMaxDescriptor Table;
2764  flatbuffers::FlatBufferBuilder &fbb_;
2765  flatbuffers::uoffset_t start_;
2767  fbb_.AddElement<int8_t>(ArgMinMaxDescriptor::VT_ARGMINMAXFUNCTION, static_cast<int8_t>(argMinMaxFunction), 0);
2768  }
2769  void add_axis(int32_t axis) {
2770  fbb_.AddElement<int32_t>(ArgMinMaxDescriptor::VT_AXIS, axis, 0);
2771  }
2772  explicit ArgMinMaxDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2773  : fbb_(_fbb) {
2774  start_ = fbb_.StartTable();
2775  }
2777  flatbuffers::Offset<ArgMinMaxDescriptor> Finish() {
2778  const auto end = fbb_.EndTable(start_);
2779  auto o = flatbuffers::Offset<ArgMinMaxDescriptor>(end);
2780  return o;
2781  }
2782 };
2783 
2784 inline flatbuffers::Offset<ArgMinMaxDescriptor> CreateArgMinMaxDescriptor(
2785  flatbuffers::FlatBufferBuilder &_fbb,
2787  int32_t axis = 0) {
2788  ArgMinMaxDescriptorBuilder builder_(_fbb);
2789  builder_.add_axis(axis);
2790  builder_.add_argMinMaxFunction(argMinMaxFunction);
2791  return builder_.Finish();
2792 }
2793 
2794 struct CastLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2796  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2797  VT_BASE = 4
2798  };
2799  const armnnSerializer::LayerBase *base() const {
2800  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
2801  }
2802  bool Verify(flatbuffers::Verifier &verifier) const {
2803  return VerifyTableStart(verifier) &&
2804  VerifyOffset(verifier, VT_BASE) &&
2805  verifier.VerifyTable(base()) &&
2806  verifier.EndTable();
2807  }
2808 };
2809 
2811  typedef CastLayer Table;
2812  flatbuffers::FlatBufferBuilder &fbb_;
2813  flatbuffers::uoffset_t start_;
2814  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
2815  fbb_.AddOffset(CastLayer::VT_BASE, base);
2816  }
2817  explicit CastLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2818  : fbb_(_fbb) {
2819  start_ = fbb_.StartTable();
2820  }
2821  CastLayerBuilder &operator=(const CastLayerBuilder &);
2822  flatbuffers::Offset<CastLayer> Finish() {
2823  const auto end = fbb_.EndTable(start_);
2824  auto o = flatbuffers::Offset<CastLayer>(end);
2825  return o;
2826  }
2827 };
2828 
2829 inline flatbuffers::Offset<CastLayer> CreateCastLayer(
2830  flatbuffers::FlatBufferBuilder &_fbb,
2831  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
2832  CastLayerBuilder builder_(_fbb);
2833  builder_.add_base(base);
2834  return builder_.Finish();
2835 }
2836 
2837 struct ChannelShuffleLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2839  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2840  VT_BASE = 4,
2841  VT_DESCRIPTOR = 6
2842  };
2843  const armnnSerializer::LayerBase *base() const {
2844  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
2845  }
2846  const armnnSerializer::ChannelShuffleDescriptor *descriptor() const {
2847  return GetPointer<const armnnSerializer::ChannelShuffleDescriptor *>(VT_DESCRIPTOR);
2848  }
2849  bool Verify(flatbuffers::Verifier &verifier) const {
2850  return VerifyTableStart(verifier) &&
2851  VerifyOffset(verifier, VT_BASE) &&
2852  verifier.VerifyTable(base()) &&
2853  VerifyOffset(verifier, VT_DESCRIPTOR) &&
2854  verifier.VerifyTable(descriptor()) &&
2855  verifier.EndTable();
2856  }
2857 };
2858 
2860  typedef ChannelShuffleLayer Table;
2861  flatbuffers::FlatBufferBuilder &fbb_;
2862  flatbuffers::uoffset_t start_;
2863  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
2864  fbb_.AddOffset(ChannelShuffleLayer::VT_BASE, base);
2865  }
2866  void add_descriptor(flatbuffers::Offset<armnnSerializer::ChannelShuffleDescriptor> descriptor) {
2867  fbb_.AddOffset(ChannelShuffleLayer::VT_DESCRIPTOR, descriptor);
2868  }
2869  explicit ChannelShuffleLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2870  : fbb_(_fbb) {
2871  start_ = fbb_.StartTable();
2872  }
2874  flatbuffers::Offset<ChannelShuffleLayer> Finish() {
2875  const auto end = fbb_.EndTable(start_);
2876  auto o = flatbuffers::Offset<ChannelShuffleLayer>(end);
2877  return o;
2878  }
2879 };
2880 
2881 inline flatbuffers::Offset<ChannelShuffleLayer> CreateChannelShuffleLayer(
2882  flatbuffers::FlatBufferBuilder &_fbb,
2883  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
2884  flatbuffers::Offset<armnnSerializer::ChannelShuffleDescriptor> descriptor = 0) {
2885  ChannelShuffleLayerBuilder builder_(_fbb);
2886  builder_.add_descriptor(descriptor);
2887  builder_.add_base(base);
2888  return builder_.Finish();
2889 }
2890 
2891 struct ChannelShuffleDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2893  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2894  VT_AXIS = 4,
2895  VT_NUMGROUPS = 6
2896  };
2897  uint32_t axis() const {
2898  return GetField<uint32_t>(VT_AXIS, 0);
2899  }
2900  uint32_t numGroups() const {
2901  return GetField<uint32_t>(VT_NUMGROUPS, 0);
2902  }
2903  bool Verify(flatbuffers::Verifier &verifier) const {
2904  return VerifyTableStart(verifier) &&
2905  VerifyField<uint32_t>(verifier, VT_AXIS) &&
2906  VerifyField<uint32_t>(verifier, VT_NUMGROUPS) &&
2907  verifier.EndTable();
2908  }
2909 };
2910 
2912  typedef ChannelShuffleDescriptor Table;
2913  flatbuffers::FlatBufferBuilder &fbb_;
2914  flatbuffers::uoffset_t start_;
2915  void add_axis(uint32_t axis) {
2916  fbb_.AddElement<uint32_t>(ChannelShuffleDescriptor::VT_AXIS, axis, 0);
2917  }
2918  void add_numGroups(uint32_t numGroups) {
2919  fbb_.AddElement<uint32_t>(ChannelShuffleDescriptor::VT_NUMGROUPS, numGroups, 0);
2920  }
2921  explicit ChannelShuffleDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2922  : fbb_(_fbb) {
2923  start_ = fbb_.StartTable();
2924  }
2926  flatbuffers::Offset<ChannelShuffleDescriptor> Finish() {
2927  const auto end = fbb_.EndTable(start_);
2928  auto o = flatbuffers::Offset<ChannelShuffleDescriptor>(end);
2929  return o;
2930  }
2931 };
2932 
2933 inline flatbuffers::Offset<ChannelShuffleDescriptor> CreateChannelShuffleDescriptor(
2934  flatbuffers::FlatBufferBuilder &_fbb,
2935  uint32_t axis = 0,
2936  uint32_t numGroups = 0) {
2937  ChannelShuffleDescriptorBuilder builder_(_fbb);
2938  builder_.add_numGroups(numGroups);
2939  builder_.add_axis(axis);
2940  return builder_.Finish();
2941 }
2942 
2943 struct ComparisonDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2945  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2946  VT_OPERATION = 4
2947  };
2949  return static_cast<armnnSerializer::ComparisonOperation>(GetField<int8_t>(VT_OPERATION, 0));
2950  }
2951  bool Verify(flatbuffers::Verifier &verifier) const {
2952  return VerifyTableStart(verifier) &&
2953  VerifyField<int8_t>(verifier, VT_OPERATION) &&
2954  verifier.EndTable();
2955  }
2956 };
2957 
2959  typedef ComparisonDescriptor Table;
2960  flatbuffers::FlatBufferBuilder &fbb_;
2961  flatbuffers::uoffset_t start_;
2963  fbb_.AddElement<int8_t>(ComparisonDescriptor::VT_OPERATION, static_cast<int8_t>(operation), 0);
2964  }
2965  explicit ComparisonDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2966  : fbb_(_fbb) {
2967  start_ = fbb_.StartTable();
2968  }
2970  flatbuffers::Offset<ComparisonDescriptor> Finish() {
2971  const auto end = fbb_.EndTable(start_);
2972  auto o = flatbuffers::Offset<ComparisonDescriptor>(end);
2973  return o;
2974  }
2975 };
2976 
2977 inline flatbuffers::Offset<ComparisonDescriptor> CreateComparisonDescriptor(
2978  flatbuffers::FlatBufferBuilder &_fbb,
2980  ComparisonDescriptorBuilder builder_(_fbb);
2981  builder_.add_operation(operation);
2982  return builder_.Finish();
2983 }
2984 
2985 struct ComparisonLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2987  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2988  VT_BASE = 4,
2989  VT_DESCRIPTOR = 6
2990  };
2991  const armnnSerializer::LayerBase *base() const {
2992  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
2993  }
2994  const armnnSerializer::ComparisonDescriptor *descriptor() const {
2995  return GetPointer<const armnnSerializer::ComparisonDescriptor *>(VT_DESCRIPTOR);
2996  }
2997  bool Verify(flatbuffers::Verifier &verifier) const {
2998  return VerifyTableStart(verifier) &&
2999  VerifyOffset(verifier, VT_BASE) &&
3000  verifier.VerifyTable(base()) &&
3001  VerifyOffset(verifier, VT_DESCRIPTOR) &&
3002  verifier.VerifyTable(descriptor()) &&
3003  verifier.EndTable();
3004  }
3005 };
3006 
3008  typedef ComparisonLayer Table;
3009  flatbuffers::FlatBufferBuilder &fbb_;
3010  flatbuffers::uoffset_t start_;
3011  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
3012  fbb_.AddOffset(ComparisonLayer::VT_BASE, base);
3013  }
3014  void add_descriptor(flatbuffers::Offset<armnnSerializer::ComparisonDescriptor> descriptor) {
3015  fbb_.AddOffset(ComparisonLayer::VT_DESCRIPTOR, descriptor);
3016  }
3017  explicit ComparisonLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3018  : fbb_(_fbb) {
3019  start_ = fbb_.StartTable();
3020  }
3021  ComparisonLayerBuilder &operator=(const ComparisonLayerBuilder &);
3022  flatbuffers::Offset<ComparisonLayer> Finish() {
3023  const auto end = fbb_.EndTable(start_);
3024  auto o = flatbuffers::Offset<ComparisonLayer>(end);
3025  return o;
3026  }
3027 };
3028 
3029 inline flatbuffers::Offset<ComparisonLayer> CreateComparisonLayer(
3030  flatbuffers::FlatBufferBuilder &_fbb,
3031  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
3032  flatbuffers::Offset<armnnSerializer::ComparisonDescriptor> descriptor = 0) {
3033  ComparisonLayerBuilder builder_(_fbb);
3034  builder_.add_descriptor(descriptor);
3035  builder_.add_base(base);
3036  return builder_.Finish();
3037 }
3038 
3039 struct ConstantLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3041  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3042  VT_BASE = 4,
3043  VT_INPUT = 6
3044  };
3045  const armnnSerializer::LayerBase *base() const {
3046  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
3047  }
3048  const armnnSerializer::ConstTensor *input() const {
3049  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUT);
3050  }
3051  bool Verify(flatbuffers::Verifier &verifier) const {
3052  return VerifyTableStart(verifier) &&
3053  VerifyOffset(verifier, VT_BASE) &&
3054  verifier.VerifyTable(base()) &&
3055  VerifyOffset(verifier, VT_INPUT) &&
3056  verifier.VerifyTable(input()) &&
3057  verifier.EndTable();
3058  }
3059 };
3060 
3062  typedef ConstantLayer Table;
3063  flatbuffers::FlatBufferBuilder &fbb_;
3064  flatbuffers::uoffset_t start_;
3065  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
3066  fbb_.AddOffset(ConstantLayer::VT_BASE, base);
3067  }
3068  void add_input(flatbuffers::Offset<armnnSerializer::ConstTensor> input) {
3069  fbb_.AddOffset(ConstantLayer::VT_INPUT, input);
3070  }
3071  explicit ConstantLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3072  : fbb_(_fbb) {
3073  start_ = fbb_.StartTable();
3074  }
3075  ConstantLayerBuilder &operator=(const ConstantLayerBuilder &);
3076  flatbuffers::Offset<ConstantLayer> Finish() {
3077  const auto end = fbb_.EndTable(start_);
3078  auto o = flatbuffers::Offset<ConstantLayer>(end);
3079  return o;
3080  }
3081 };
3082 
3083 inline flatbuffers::Offset<ConstantLayer> CreateConstantLayer(
3084  flatbuffers::FlatBufferBuilder &_fbb,
3085  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
3086  flatbuffers::Offset<armnnSerializer::ConstTensor> input = 0) {
3087  ConstantLayerBuilder builder_(_fbb);
3088  builder_.add_input(input);
3089  builder_.add_base(base);
3090  return builder_.Finish();
3091 }
3092 
3093 struct Convolution2dLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3095  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3096  VT_BASE = 4,
3099  VT_BIASES = 10
3100  };
3101  const armnnSerializer::LayerBase *base() const {
3102  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
3103  }
3104  const armnnSerializer::Convolution2dDescriptor *descriptor() const {
3105  return GetPointer<const armnnSerializer::Convolution2dDescriptor *>(VT_DESCRIPTOR);
3106  }
3107  const armnnSerializer::ConstTensor *weights() const {
3108  return GetPointer<const armnnSerializer::ConstTensor *>(VT_WEIGHTS);
3109  }
3110  const armnnSerializer::ConstTensor *biases() const {
3111  return GetPointer<const armnnSerializer::ConstTensor *>(VT_BIASES);
3112  }
3113  bool Verify(flatbuffers::Verifier &verifier) const {
3114  return VerifyTableStart(verifier) &&
3115  VerifyOffset(verifier, VT_BASE) &&
3116  verifier.VerifyTable(base()) &&
3117  VerifyOffset(verifier, VT_DESCRIPTOR) &&
3118  verifier.VerifyTable(descriptor()) &&
3119  VerifyOffset(verifier, VT_WEIGHTS) &&
3120  verifier.VerifyTable(weights()) &&
3121  VerifyOffset(verifier, VT_BIASES) &&
3122  verifier.VerifyTable(biases()) &&
3123  verifier.EndTable();
3124  }
3125 };
3126 
3128  typedef Convolution2dLayer Table;
3129  flatbuffers::FlatBufferBuilder &fbb_;
3130  flatbuffers::uoffset_t start_;
3131  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
3132  fbb_.AddOffset(Convolution2dLayer::VT_BASE, base);
3133  }
3134  void add_descriptor(flatbuffers::Offset<armnnSerializer::Convolution2dDescriptor> descriptor) {
3135  fbb_.AddOffset(Convolution2dLayer::VT_DESCRIPTOR, descriptor);
3136  }
3137  void add_weights(flatbuffers::Offset<armnnSerializer::ConstTensor> weights) {
3138  fbb_.AddOffset(Convolution2dLayer::VT_WEIGHTS, weights);
3139  }
3140  void add_biases(flatbuffers::Offset<armnnSerializer::ConstTensor> biases) {
3141  fbb_.AddOffset(Convolution2dLayer::VT_BIASES, biases);
3142  }
3143  explicit Convolution2dLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3144  : fbb_(_fbb) {
3145  start_ = fbb_.StartTable();
3146  }
3148  flatbuffers::Offset<Convolution2dLayer> Finish() {
3149  const auto end = fbb_.EndTable(start_);
3150  auto o = flatbuffers::Offset<Convolution2dLayer>(end);
3151  return o;
3152  }
3153 };
3154 
3155 inline flatbuffers::Offset<Convolution2dLayer> CreateConvolution2dLayer(
3156  flatbuffers::FlatBufferBuilder &_fbb,
3157  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
3158  flatbuffers::Offset<armnnSerializer::Convolution2dDescriptor> descriptor = 0,
3159  flatbuffers::Offset<armnnSerializer::ConstTensor> weights = 0,
3160  flatbuffers::Offset<armnnSerializer::ConstTensor> biases = 0) {
3161  Convolution2dLayerBuilder builder_(_fbb);
3162  builder_.add_biases(biases);
3163  builder_.add_weights(weights);
3164  builder_.add_descriptor(descriptor);
3165  builder_.add_base(base);
3166  return builder_.Finish();
3167 }
3168 
3169 struct Convolution2dDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3171  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3181  VT_DATALAYOUT = 22
3182  };
3183  uint32_t padLeft() const {
3184  return GetField<uint32_t>(VT_PADLEFT, 0);
3185  }
3186  uint32_t padRight() const {
3187  return GetField<uint32_t>(VT_PADRIGHT, 0);
3188  }
3189  uint32_t padTop() const {
3190  return GetField<uint32_t>(VT_PADTOP, 0);
3191  }
3192  uint32_t padBottom() const {
3193  return GetField<uint32_t>(VT_PADBOTTOM, 0);
3194  }
3195  uint32_t strideX() const {
3196  return GetField<uint32_t>(VT_STRIDEX, 0);
3197  }
3198  uint32_t strideY() const {
3199  return GetField<uint32_t>(VT_STRIDEY, 0);
3200  }
3201  uint32_t dilationX() const {
3202  return GetField<uint32_t>(VT_DILATIONX, 1);
3203  }
3204  uint32_t dilationY() const {
3205  return GetField<uint32_t>(VT_DILATIONY, 1);
3206  }
3207  bool biasEnabled() const {
3208  return GetField<uint8_t>(VT_BIASENABLED, 0) != 0;
3209  }
3211  return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 1));
3212  }
3213  bool Verify(flatbuffers::Verifier &verifier) const {
3214  return VerifyTableStart(verifier) &&
3215  VerifyField<uint32_t>(verifier, VT_PADLEFT) &&
3216  VerifyField<uint32_t>(verifier, VT_PADRIGHT) &&
3217  VerifyField<uint32_t>(verifier, VT_PADTOP) &&
3218  VerifyField<uint32_t>(verifier, VT_PADBOTTOM) &&
3219  VerifyField<uint32_t>(verifier, VT_STRIDEX) &&
3220  VerifyField<uint32_t>(verifier, VT_STRIDEY) &&
3221  VerifyField<uint32_t>(verifier, VT_DILATIONX) &&
3222  VerifyField<uint32_t>(verifier, VT_DILATIONY) &&
3223  VerifyField<uint8_t>(verifier, VT_BIASENABLED) &&
3224  VerifyField<int8_t>(verifier, VT_DATALAYOUT) &&
3225  verifier.EndTable();
3226  }
3227 };
3228 
3230  typedef Convolution2dDescriptor Table;
3231  flatbuffers::FlatBufferBuilder &fbb_;
3232  flatbuffers::uoffset_t start_;
3233  void add_padLeft(uint32_t padLeft) {
3234  fbb_.AddElement<uint32_t>(Convolution2dDescriptor::VT_PADLEFT, padLeft, 0);
3235  }
3236  void add_padRight(uint32_t padRight) {
3237  fbb_.AddElement<uint32_t>(Convolution2dDescriptor::VT_PADRIGHT, padRight, 0);
3238  }
3239  void add_padTop(uint32_t padTop) {
3240  fbb_.AddElement<uint32_t>(Convolution2dDescriptor::VT_PADTOP, padTop, 0);
3241  }
3242  void add_padBottom(uint32_t padBottom) {
3243  fbb_.AddElement<uint32_t>(Convolution2dDescriptor::VT_PADBOTTOM, padBottom, 0);
3244  }
3245  void add_strideX(uint32_t strideX) {
3246  fbb_.AddElement<uint32_t>(Convolution2dDescriptor::VT_STRIDEX, strideX, 0);
3247  }
3248  void add_strideY(uint32_t strideY) {
3249  fbb_.AddElement<uint32_t>(Convolution2dDescriptor::VT_STRIDEY, strideY, 0);
3250  }
3251  void add_dilationX(uint32_t dilationX) {
3252  fbb_.AddElement<uint32_t>(Convolution2dDescriptor::VT_DILATIONX, dilationX, 1);
3253  }
3254  void add_dilationY(uint32_t dilationY) {
3255  fbb_.AddElement<uint32_t>(Convolution2dDescriptor::VT_DILATIONY, dilationY, 1);
3256  }
3257  void add_biasEnabled(bool biasEnabled) {
3258  fbb_.AddElement<uint8_t>(Convolution2dDescriptor::VT_BIASENABLED, static_cast<uint8_t>(biasEnabled), 0);
3259  }
3261  fbb_.AddElement<int8_t>(Convolution2dDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 1);
3262  }
3263  explicit Convolution2dDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3264  : fbb_(_fbb) {
3265  start_ = fbb_.StartTable();
3266  }
3268  flatbuffers::Offset<Convolution2dDescriptor> Finish() {
3269  const auto end = fbb_.EndTable(start_);
3270  auto o = flatbuffers::Offset<Convolution2dDescriptor>(end);
3271  return o;
3272  }
3273 };
3274 
3275 inline flatbuffers::Offset<Convolution2dDescriptor> CreateConvolution2dDescriptor(
3276  flatbuffers::FlatBufferBuilder &_fbb,
3277  uint32_t padLeft = 0,
3278  uint32_t padRight = 0,
3279  uint32_t padTop = 0,
3280  uint32_t padBottom = 0,
3281  uint32_t strideX = 0,
3282  uint32_t strideY = 0,
3283  uint32_t dilationX = 1,
3284  uint32_t dilationY = 1,
3285  bool biasEnabled = false,
3287  Convolution2dDescriptorBuilder builder_(_fbb);
3288  builder_.add_dilationY(dilationY);
3289  builder_.add_dilationX(dilationX);
3290  builder_.add_strideY(strideY);
3291  builder_.add_strideX(strideX);
3292  builder_.add_padBottom(padBottom);
3293  builder_.add_padTop(padTop);
3294  builder_.add_padRight(padRight);
3295  builder_.add_padLeft(padLeft);
3296  builder_.add_dataLayout(dataLayout);
3297  builder_.add_biasEnabled(biasEnabled);
3298  return builder_.Finish();
3299 }
3300 
3301 struct Convolution3dLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3303  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3304  VT_BASE = 4,
3305  VT_DESCRIPTOR = 6
3306  };
3307  const armnnSerializer::LayerBase *base() const {
3308  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
3309  }
3310  const armnnSerializer::Convolution3dDescriptor *descriptor() const {
3311  return GetPointer<const armnnSerializer::Convolution3dDescriptor *>(VT_DESCRIPTOR);
3312  }
3313  bool Verify(flatbuffers::Verifier &verifier) const {
3314  return VerifyTableStart(verifier) &&
3315  VerifyOffset(verifier, VT_BASE) &&
3316  verifier.VerifyTable(base()) &&
3317  VerifyOffset(verifier, VT_DESCRIPTOR) &&
3318  verifier.VerifyTable(descriptor()) &&
3319  verifier.EndTable();
3320  }
3321 };
3322 
3324  typedef Convolution3dLayer Table;
3325  flatbuffers::FlatBufferBuilder &fbb_;
3326  flatbuffers::uoffset_t start_;
3327  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
3328  fbb_.AddOffset(Convolution3dLayer::VT_BASE, base);
3329  }
3330  void add_descriptor(flatbuffers::Offset<armnnSerializer::Convolution3dDescriptor> descriptor) {
3331  fbb_.AddOffset(Convolution3dLayer::VT_DESCRIPTOR, descriptor);
3332  }
3333  explicit Convolution3dLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3334  : fbb_(_fbb) {
3335  start_ = fbb_.StartTable();
3336  }
3338  flatbuffers::Offset<Convolution3dLayer> Finish() {
3339  const auto end = fbb_.EndTable(start_);
3340  auto o = flatbuffers::Offset<Convolution3dLayer>(end);
3341  return o;
3342  }
3343 };
3344 
3345 inline flatbuffers::Offset<Convolution3dLayer> CreateConvolution3dLayer(
3346  flatbuffers::FlatBufferBuilder &_fbb,
3347  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
3348  flatbuffers::Offset<armnnSerializer::Convolution3dDescriptor> descriptor = 0) {
3349  Convolution3dLayerBuilder builder_(_fbb);
3350  builder_.add_descriptor(descriptor);
3351  builder_.add_base(base);
3352  return builder_.Finish();
3353 }
3354 
3355 struct Convolution3dDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3357  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3358  VT_PADLEFT = 4,
3359  VT_PADRIGHT = 6,
3360  VT_PADTOP = 8,
3361  VT_PADBOTTOM = 10,
3364  VT_STRIDEX = 16,
3365  VT_STRIDEY = 18,
3367  VT_DILATIONX = 22,
3368  VT_DILATIONY = 24,
3370  VT_BIASENABLED = 28,
3371  VT_DATALAYOUT = 30
3372  };
3373  uint32_t padLeft() const {
3374  return GetField<uint32_t>(VT_PADLEFT, 0);
3375  }
3376  uint32_t padRight() const {
3377  return GetField<uint32_t>(VT_PADRIGHT, 0);
3378  }
3379  uint32_t padTop() const {
3380  return GetField<uint32_t>(VT_PADTOP, 0);
3381  }
3382  uint32_t padBottom() const {
3383  return GetField<uint32_t>(VT_PADBOTTOM, 0);
3384  }
3385  uint32_t padFront() const {
3386  return GetField<uint32_t>(VT_PADFRONT, 0);
3387  }
3388  uint32_t padBack() const {
3389  return GetField<uint32_t>(VT_PADBACK, 0);
3390  }
3391  uint32_t strideX() const {
3392  return GetField<uint32_t>(VT_STRIDEX, 0);
3393  }
3394  uint32_t strideY() const {
3395  return GetField<uint32_t>(VT_STRIDEY, 0);
3396  }
3397  uint32_t strideZ() const {
3398  return GetField<uint32_t>(VT_STRIDEZ, 0);
3399  }
3400  uint32_t dilationX() const {
3401  return GetField<uint32_t>(VT_DILATIONX, 1);
3402  }
3403  uint32_t dilationY() const {
3404  return GetField<uint32_t>(VT_DILATIONY, 1);
3405  }
3406  uint32_t dilationZ() const {
3407  return GetField<uint32_t>(VT_DILATIONZ, 1);
3408  }
3409  bool biasEnabled() const {
3410  return GetField<uint8_t>(VT_BIASENABLED, 0) != 0;
3411  }
3413  return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 2));
3414  }
3415  bool Verify(flatbuffers::Verifier &verifier) const {
3416  return VerifyTableStart(verifier) &&
3417  VerifyField<uint32_t>(verifier, VT_PADLEFT) &&
3418  VerifyField<uint32_t>(verifier, VT_PADRIGHT) &&
3419  VerifyField<uint32_t>(verifier, VT_PADTOP) &&
3420  VerifyField<uint32_t>(verifier, VT_PADBOTTOM) &&
3421  VerifyField<uint32_t>(verifier, VT_PADFRONT) &&
3422  VerifyField<uint32_t>(verifier, VT_PADBACK) &&
3423  VerifyField<uint32_t>(verifier, VT_STRIDEX) &&
3424  VerifyField<uint32_t>(verifier, VT_STRIDEY) &&
3425  VerifyField<uint32_t>(verifier, VT_STRIDEZ) &&
3426  VerifyField<uint32_t>(verifier, VT_DILATIONX) &&
3427  VerifyField<uint32_t>(verifier, VT_DILATIONY) &&
3428  VerifyField<uint32_t>(verifier, VT_DILATIONZ) &&
3429  VerifyField<uint8_t>(verifier, VT_BIASENABLED) &&
3430  VerifyField<int8_t>(verifier, VT_DATALAYOUT) &&
3431  verifier.EndTable();
3432  }
3433 };
3434 
3436  typedef Convolution3dDescriptor Table;
3437  flatbuffers::FlatBufferBuilder &fbb_;
3438  flatbuffers::uoffset_t start_;
3439  void add_padLeft(uint32_t padLeft) {
3440  fbb_.AddElement<uint32_t>(Convolution3dDescriptor::VT_PADLEFT, padLeft, 0);
3441  }
3442  void add_padRight(uint32_t padRight) {
3443  fbb_.AddElement<uint32_t>(Convolution3dDescriptor::VT_PADRIGHT, padRight, 0);
3444  }
3445  void add_padTop(uint32_t padTop) {
3446  fbb_.AddElement<uint32_t>(Convolution3dDescriptor::VT_PADTOP, padTop, 0);
3447  }
3448  void add_padBottom(uint32_t padBottom) {
3449  fbb_.AddElement<uint32_t>(Convolution3dDescriptor::VT_PADBOTTOM, padBottom, 0);
3450  }
3451  void add_padFront(uint32_t padFront) {
3452  fbb_.AddElement<uint32_t>(Convolution3dDescriptor::VT_PADFRONT, padFront, 0);
3453  }
3454  void add_padBack(uint32_t padBack) {
3455  fbb_.AddElement<uint32_t>(Convolution3dDescriptor::VT_PADBACK, padBack, 0);
3456  }
3457  void add_strideX(uint32_t strideX) {
3458  fbb_.AddElement<uint32_t>(Convolution3dDescriptor::VT_STRIDEX, strideX, 0);
3459  }
3460  void add_strideY(uint32_t strideY) {
3461  fbb_.AddElement<uint32_t>(Convolution3dDescriptor::VT_STRIDEY, strideY, 0);
3462  }
3463  void add_strideZ(uint32_t strideZ) {
3464  fbb_.AddElement<uint32_t>(Convolution3dDescriptor::VT_STRIDEZ, strideZ, 0);
3465  }
3466  void add_dilationX(uint32_t dilationX) {
3467  fbb_.AddElement<uint32_t>(Convolution3dDescriptor::VT_DILATIONX, dilationX, 1);
3468  }
3469  void add_dilationY(uint32_t dilationY) {
3470  fbb_.AddElement<uint32_t>(Convolution3dDescriptor::VT_DILATIONY, dilationY, 1);
3471  }
3472  void add_dilationZ(uint32_t dilationZ) {
3473  fbb_.AddElement<uint32_t>(Convolution3dDescriptor::VT_DILATIONZ, dilationZ, 1);
3474  }
3475  void add_biasEnabled(bool biasEnabled) {
3476  fbb_.AddElement<uint8_t>(Convolution3dDescriptor::VT_BIASENABLED, static_cast<uint8_t>(biasEnabled), 0);
3477  }
3479  fbb_.AddElement<int8_t>(Convolution3dDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 2);
3480  }
3481  explicit Convolution3dDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3482  : fbb_(_fbb) {
3483  start_ = fbb_.StartTable();
3484  }
3486  flatbuffers::Offset<Convolution3dDescriptor> Finish() {
3487  const auto end = fbb_.EndTable(start_);
3488  auto o = flatbuffers::Offset<Convolution3dDescriptor>(end);
3489  return o;
3490  }
3491 };
3492 
3493 inline flatbuffers::Offset<Convolution3dDescriptor> CreateConvolution3dDescriptor(
3494  flatbuffers::FlatBufferBuilder &_fbb,
3495  uint32_t padLeft = 0,
3496  uint32_t padRight = 0,
3497  uint32_t padTop = 0,
3498  uint32_t padBottom = 0,
3499  uint32_t padFront = 0,
3500  uint32_t padBack = 0,
3501  uint32_t strideX = 0,
3502  uint32_t strideY = 0,
3503  uint32_t strideZ = 0,
3504  uint32_t dilationX = 1,
3505  uint32_t dilationY = 1,
3506  uint32_t dilationZ = 1,
3507  bool biasEnabled = false,
3509  Convolution3dDescriptorBuilder builder_(_fbb);
3510  builder_.add_dilationZ(dilationZ);
3511  builder_.add_dilationY(dilationY);
3512  builder_.add_dilationX(dilationX);
3513  builder_.add_strideZ(strideZ);
3514  builder_.add_strideY(strideY);
3515  builder_.add_strideX(strideX);
3516  builder_.add_padBack(padBack);
3517  builder_.add_padFront(padFront);
3518  builder_.add_padBottom(padBottom);
3519  builder_.add_padTop(padTop);
3520  builder_.add_padRight(padRight);
3521  builder_.add_padLeft(padLeft);
3522  builder_.add_dataLayout(dataLayout);
3523  builder_.add_biasEnabled(biasEnabled);
3524  return builder_.Finish();
3525 }
3526 
3527 struct DepthToSpaceLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3529  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3530  VT_BASE = 4,
3531  VT_DESCRIPTOR = 6
3532  };
3533  const armnnSerializer::LayerBase *base() const {
3534  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
3535  }
3537  return GetPointer<const armnnSerializer::DepthToSpaceDescriptor *>(VT_DESCRIPTOR);
3538  }
3539  bool Verify(flatbuffers::Verifier &verifier) const {
3540  return VerifyTableStart(verifier) &&
3541  VerifyOffset(verifier, VT_BASE) &&
3542  verifier.VerifyTable(base()) &&
3543  VerifyOffset(verifier, VT_DESCRIPTOR) &&
3544  verifier.VerifyTable(descriptor()) &&
3545  verifier.EndTable();
3546  }
3547 };
3548 
3550  typedef DepthToSpaceLayer Table;
3551  flatbuffers::FlatBufferBuilder &fbb_;
3552  flatbuffers::uoffset_t start_;
3553  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
3554  fbb_.AddOffset(DepthToSpaceLayer::VT_BASE, base);
3555  }
3556  void add_descriptor(flatbuffers::Offset<armnnSerializer::DepthToSpaceDescriptor> descriptor) {
3557  fbb_.AddOffset(DepthToSpaceLayer::VT_DESCRIPTOR, descriptor);
3558  }
3559  explicit DepthToSpaceLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3560  : fbb_(_fbb) {
3561  start_ = fbb_.StartTable();
3562  }
3564  flatbuffers::Offset<DepthToSpaceLayer> Finish() {
3565  const auto end = fbb_.EndTable(start_);
3566  auto o = flatbuffers::Offset<DepthToSpaceLayer>(end);
3567  return o;
3568  }
3569 };
3570 
3571 inline flatbuffers::Offset<DepthToSpaceLayer> CreateDepthToSpaceLayer(
3572  flatbuffers::FlatBufferBuilder &_fbb,
3573  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
3574  flatbuffers::Offset<armnnSerializer::DepthToSpaceDescriptor> descriptor = 0) {
3575  DepthToSpaceLayerBuilder builder_(_fbb);
3576  builder_.add_descriptor(descriptor);
3577  builder_.add_base(base);
3578  return builder_.Finish();
3579 }
3580 
3581 struct DepthToSpaceDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3583  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3585  VT_DATALAYOUT = 6
3586  };
3587  uint32_t blockSize() const {
3588  return GetField<uint32_t>(VT_BLOCKSIZE, 0);
3589  }
3591  return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 0));
3592  }
3593  bool Verify(flatbuffers::Verifier &verifier) const {
3594  return VerifyTableStart(verifier) &&
3595  VerifyField<uint32_t>(verifier, VT_BLOCKSIZE) &&
3596  VerifyField<int8_t>(verifier, VT_DATALAYOUT) &&
3597  verifier.EndTable();
3598  }
3599 };
3600 
3603  flatbuffers::FlatBufferBuilder &fbb_;
3604  flatbuffers::uoffset_t start_;
3605  void add_blockSize(uint32_t blockSize) {
3606  fbb_.AddElement<uint32_t>(DepthToSpaceDescriptor::VT_BLOCKSIZE, blockSize, 0);
3607  }
3609  fbb_.AddElement<int8_t>(DepthToSpaceDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 0);
3610  }
3611  explicit DepthToSpaceDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3612  : fbb_(_fbb) {
3613  start_ = fbb_.StartTable();
3614  }
3616  flatbuffers::Offset<DepthToSpaceDescriptor> Finish() {
3617  const auto end = fbb_.EndTable(start_);
3618  auto o = flatbuffers::Offset<DepthToSpaceDescriptor>(end);
3619  return o;
3620  }
3621 };
3622 
3623 inline flatbuffers::Offset<DepthToSpaceDescriptor> CreateDepthToSpaceDescriptor(
3624  flatbuffers::FlatBufferBuilder &_fbb,
3625  uint32_t blockSize = 0,
3627  DepthToSpaceDescriptorBuilder builder_(_fbb);
3628  builder_.add_blockSize(blockSize);
3629  builder_.add_dataLayout(dataLayout);
3630  return builder_.Finish();
3631 }
3632 
3633 struct DivisionLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3635  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3636  VT_BASE = 4
3637  };
3638  const armnnSerializer::LayerBase *base() const {
3639  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
3640  }
3641  bool Verify(flatbuffers::Verifier &verifier) const {
3642  return VerifyTableStart(verifier) &&
3643  VerifyOffset(verifier, VT_BASE) &&
3644  verifier.VerifyTable(base()) &&
3645  verifier.EndTable();
3646  }
3647 };
3648 
3650  typedef DivisionLayer Table;
3651  flatbuffers::FlatBufferBuilder &fbb_;
3652  flatbuffers::uoffset_t start_;
3653  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
3654  fbb_.AddOffset(DivisionLayer::VT_BASE, base);
3655  }
3656  explicit DivisionLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3657  : fbb_(_fbb) {
3658  start_ = fbb_.StartTable();
3659  }
3660  DivisionLayerBuilder &operator=(const DivisionLayerBuilder &);
3661  flatbuffers::Offset<DivisionLayer> Finish() {
3662  const auto end = fbb_.EndTable(start_);
3663  auto o = flatbuffers::Offset<DivisionLayer>(end);
3664  return o;
3665  }
3666 };
3667 
3668 inline flatbuffers::Offset<DivisionLayer> CreateDivisionLayer(
3669  flatbuffers::FlatBufferBuilder &_fbb,
3670  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
3671  DivisionLayerBuilder builder_(_fbb);
3672  builder_.add_base(base);
3673  return builder_.Finish();
3674 }
3675 
3676 struct ElementwiseUnaryDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3678  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3679  VT_OPERATION = 4
3680  };
3682  return static_cast<armnnSerializer::UnaryOperation>(GetField<int8_t>(VT_OPERATION, 0));
3683  }
3684  bool Verify(flatbuffers::Verifier &verifier) const {
3685  return VerifyTableStart(verifier) &&
3686  VerifyField<int8_t>(verifier, VT_OPERATION) &&
3687  verifier.EndTable();
3688  }
3689 };
3690 
3692  typedef ElementwiseUnaryDescriptor Table;
3693  flatbuffers::FlatBufferBuilder &fbb_;
3694  flatbuffers::uoffset_t start_;
3696  fbb_.AddElement<int8_t>(ElementwiseUnaryDescriptor::VT_OPERATION, static_cast<int8_t>(operation), 0);
3697  }
3698  explicit ElementwiseUnaryDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3699  : fbb_(_fbb) {
3700  start_ = fbb_.StartTable();
3701  }
3703  flatbuffers::Offset<ElementwiseUnaryDescriptor> Finish() {
3704  const auto end = fbb_.EndTable(start_);
3705  auto o = flatbuffers::Offset<ElementwiseUnaryDescriptor>(end);
3706  return o;
3707  }
3708 };
3709 
3710 inline flatbuffers::Offset<ElementwiseUnaryDescriptor> CreateElementwiseUnaryDescriptor(
3711  flatbuffers::FlatBufferBuilder &_fbb,
3713  ElementwiseUnaryDescriptorBuilder builder_(_fbb);
3714  builder_.add_operation(operation);
3715  return builder_.Finish();
3716 }
3717 
3718 struct ElementwiseUnaryLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3720  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3721  VT_BASE = 4,
3722  VT_DESCRIPTOR = 6
3723  };
3724  const armnnSerializer::LayerBase *base() const {
3725  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
3726  }
3727  const armnnSerializer::ElementwiseUnaryDescriptor *descriptor() const {
3728  return GetPointer<const armnnSerializer::ElementwiseUnaryDescriptor *>(VT_DESCRIPTOR);
3729  }
3730  bool Verify(flatbuffers::Verifier &verifier) const {
3731  return VerifyTableStart(verifier) &&
3732  VerifyOffset(verifier, VT_BASE) &&
3733  verifier.VerifyTable(base()) &&
3734  VerifyOffset(verifier, VT_DESCRIPTOR) &&
3735  verifier.VerifyTable(descriptor()) &&
3736  verifier.EndTable();
3737  }
3738 };
3739 
3741  typedef ElementwiseUnaryLayer Table;
3742  flatbuffers::FlatBufferBuilder &fbb_;
3743  flatbuffers::uoffset_t start_;
3744  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
3745  fbb_.AddOffset(ElementwiseUnaryLayer::VT_BASE, base);
3746  }
3747  void add_descriptor(flatbuffers::Offset<armnnSerializer::ElementwiseUnaryDescriptor> descriptor) {
3748  fbb_.AddOffset(ElementwiseUnaryLayer::VT_DESCRIPTOR, descriptor);
3749  }
3750  explicit ElementwiseUnaryLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3751  : fbb_(_fbb) {
3752  start_ = fbb_.StartTable();
3753  }
3755  flatbuffers::Offset<ElementwiseUnaryLayer> Finish() {
3756  const auto end = fbb_.EndTable(start_);
3757  auto o = flatbuffers::Offset<ElementwiseUnaryLayer>(end);
3758  return o;
3759  }
3760 };
3761 
3762 inline flatbuffers::Offset<ElementwiseUnaryLayer> CreateElementwiseUnaryLayer(
3763  flatbuffers::FlatBufferBuilder &_fbb,
3764  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
3765  flatbuffers::Offset<armnnSerializer::ElementwiseUnaryDescriptor> descriptor = 0) {
3766  ElementwiseUnaryLayerBuilder builder_(_fbb);
3767  builder_.add_descriptor(descriptor);
3768  builder_.add_base(base);
3769  return builder_.Finish();
3770 }
3771 
3772 /// @deprecated Use ComparisonLayer instead
3773 struct EqualLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3775  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3776  VT_BASE = 4
3777  };
3778  const armnnSerializer::LayerBase *base() const {
3779  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
3780  }
3781  bool Verify(flatbuffers::Verifier &verifier) const {
3782  return VerifyTableStart(verifier) &&
3783  VerifyOffset(verifier, VT_BASE) &&
3784  verifier.VerifyTable(base()) &&
3785  verifier.EndTable();
3786  }
3787 };
3788 
3790  typedef EqualLayer Table;
3791  flatbuffers::FlatBufferBuilder &fbb_;
3792  flatbuffers::uoffset_t start_;
3793  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
3794  fbb_.AddOffset(EqualLayer::VT_BASE, base);
3795  }
3796  explicit EqualLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3797  : fbb_(_fbb) {
3798  start_ = fbb_.StartTable();
3799  }
3800  EqualLayerBuilder &operator=(const EqualLayerBuilder &);
3801  flatbuffers::Offset<EqualLayer> Finish() {
3802  const auto end = fbb_.EndTable(start_);
3803  auto o = flatbuffers::Offset<EqualLayer>(end);
3804  return o;
3805  }
3806 };
3807 
3808 inline flatbuffers::Offset<EqualLayer> CreateEqualLayer(
3809  flatbuffers::FlatBufferBuilder &_fbb,
3810  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
3811  EqualLayerBuilder builder_(_fbb);
3812  builder_.add_base(base);
3813  return builder_.Finish();
3814 }
3815 
3816 struct FillLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3818  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3819  VT_BASE = 4,
3820  VT_DESCRIPTOR = 6
3821  };
3822  const armnnSerializer::LayerBase *base() const {
3823  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
3824  }
3825  const armnnSerializer::FillDescriptor *descriptor() const {
3826  return GetPointer<const armnnSerializer::FillDescriptor *>(VT_DESCRIPTOR);
3827  }
3828  bool Verify(flatbuffers::Verifier &verifier) const {
3829  return VerifyTableStart(verifier) &&
3830  VerifyOffset(verifier, VT_BASE) &&
3831  verifier.VerifyTable(base()) &&
3832  VerifyOffset(verifier, VT_DESCRIPTOR) &&
3833  verifier.VerifyTable(descriptor()) &&
3834  verifier.EndTable();
3835  }
3836 };
3837 
3839  typedef FillLayer Table;
3840  flatbuffers::FlatBufferBuilder &fbb_;
3841  flatbuffers::uoffset_t start_;
3842  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
3843  fbb_.AddOffset(FillLayer::VT_BASE, base);
3844  }
3845  void add_descriptor(flatbuffers::Offset<armnnSerializer::FillDescriptor> descriptor) {
3846  fbb_.AddOffset(FillLayer::VT_DESCRIPTOR, descriptor);
3847  }
3848  explicit FillLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3849  : fbb_(_fbb) {
3850  start_ = fbb_.StartTable();
3851  }
3852  FillLayerBuilder &operator=(const FillLayerBuilder &);
3853  flatbuffers::Offset<FillLayer> Finish() {
3854  const auto end = fbb_.EndTable(start_);
3855  auto o = flatbuffers::Offset<FillLayer>(end);
3856  return o;
3857  }
3858 };
3859 
3860 inline flatbuffers::Offset<FillLayer> CreateFillLayer(
3861  flatbuffers::FlatBufferBuilder &_fbb,
3862  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
3863  flatbuffers::Offset<armnnSerializer::FillDescriptor> descriptor = 0) {
3864  FillLayerBuilder builder_(_fbb);
3865  builder_.add_descriptor(descriptor);
3866  builder_.add_base(base);
3867  return builder_.Finish();
3868 }
3869 
3870 struct FillDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3872  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3873  VT_VALUE = 4
3874  };
3875  float value() const {
3876  return GetField<float>(VT_VALUE, 0.0f);
3877  }
3878  bool Verify(flatbuffers::Verifier &verifier) const {
3879  return VerifyTableStart(verifier) &&
3880  VerifyField<float>(verifier, VT_VALUE) &&
3881  verifier.EndTable();
3882  }
3883 };
3884 
3886  typedef FillDescriptor Table;
3887  flatbuffers::FlatBufferBuilder &fbb_;
3888  flatbuffers::uoffset_t start_;
3889  void add_value(float value) {
3890  fbb_.AddElement<float>(FillDescriptor::VT_VALUE, value, 0.0f);
3891  }
3892  explicit FillDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3893  : fbb_(_fbb) {
3894  start_ = fbb_.StartTable();
3895  }
3896  FillDescriptorBuilder &operator=(const FillDescriptorBuilder &);
3897  flatbuffers::Offset<FillDescriptor> Finish() {
3898  const auto end = fbb_.EndTable(start_);
3899  auto o = flatbuffers::Offset<FillDescriptor>(end);
3900  return o;
3901  }
3902 };
3903 
3904 inline flatbuffers::Offset<FillDescriptor> CreateFillDescriptor(
3905  flatbuffers::FlatBufferBuilder &_fbb,
3906  float value = 0.0f) {
3907  FillDescriptorBuilder builder_(_fbb);
3908  builder_.add_value(value);
3909  return builder_.Finish();
3910 }
3911 
3912 struct FloorLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3914  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3915  VT_BASE = 4
3916  };
3917  const armnnSerializer::LayerBase *base() const {
3918  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
3919  }
3920  bool Verify(flatbuffers::Verifier &verifier) const {
3921  return VerifyTableStart(verifier) &&
3922  VerifyOffset(verifier, VT_BASE) &&
3923  verifier.VerifyTable(base()) &&
3924  verifier.EndTable();
3925  }
3926 };
3927 
3929  typedef FloorLayer Table;
3930  flatbuffers::FlatBufferBuilder &fbb_;
3931  flatbuffers::uoffset_t start_;
3932  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
3933  fbb_.AddOffset(FloorLayer::VT_BASE, base);
3934  }
3935  explicit FloorLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3936  : fbb_(_fbb) {
3937  start_ = fbb_.StartTable();
3938  }
3939  FloorLayerBuilder &operator=(const FloorLayerBuilder &);
3940  flatbuffers::Offset<FloorLayer> Finish() {
3941  const auto end = fbb_.EndTable(start_);
3942  auto o = flatbuffers::Offset<FloorLayer>(end);
3943  return o;
3944  }
3945 };
3946 
3947 inline flatbuffers::Offset<FloorLayer> CreateFloorLayer(
3948  flatbuffers::FlatBufferBuilder &_fbb,
3949  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
3950  FloorLayerBuilder builder_(_fbb);
3951  builder_.add_base(base);
3952  return builder_.Finish();
3953 }
3954 
3955 struct FullyConnectedLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3957  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3958  VT_BASE = 4,
3959  VT_DESCRIPTOR = 6,
3960  VT_WEIGHTS = 8,
3961  VT_BIASES = 10
3962  };
3963  const armnnSerializer::LayerBase *base() const {
3964  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
3965  }
3966  const armnnSerializer::FullyConnectedDescriptor *descriptor() const {
3967  return GetPointer<const armnnSerializer::FullyConnectedDescriptor *>(VT_DESCRIPTOR);
3968  }
3969  const armnnSerializer::ConstTensor *weights() const {
3970  return GetPointer<const armnnSerializer::ConstTensor *>(VT_WEIGHTS);
3971  }
3972  const armnnSerializer::ConstTensor *biases() const {
3973  return GetPointer<const armnnSerializer::ConstTensor *>(VT_BIASES);
3974  }
3975  bool Verify(flatbuffers::Verifier &verifier) const {
3976  return VerifyTableStart(verifier) &&
3977  VerifyOffset(verifier, VT_BASE) &&
3978  verifier.VerifyTable(base()) &&
3979  VerifyOffset(verifier, VT_DESCRIPTOR) &&
3980  verifier.VerifyTable(descriptor()) &&
3981  VerifyOffset(verifier, VT_WEIGHTS) &&
3982  verifier.VerifyTable(weights()) &&
3983  VerifyOffset(verifier, VT_BIASES) &&
3984  verifier.VerifyTable(biases()) &&
3985  verifier.EndTable();
3986  }
3987 };
3988 
3990  typedef FullyConnectedLayer Table;
3991  flatbuffers::FlatBufferBuilder &fbb_;
3992  flatbuffers::uoffset_t start_;
3993  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
3994  fbb_.AddOffset(FullyConnectedLayer::VT_BASE, base);
3995  }
3996  void add_descriptor(flatbuffers::Offset<armnnSerializer::FullyConnectedDescriptor> descriptor) {
3997  fbb_.AddOffset(FullyConnectedLayer::VT_DESCRIPTOR, descriptor);
3998  }
3999  void add_weights(flatbuffers::Offset<armnnSerializer::ConstTensor> weights) {
4000  fbb_.AddOffset(FullyConnectedLayer::VT_WEIGHTS, weights);
4001  }
4002  void add_biases(flatbuffers::Offset<armnnSerializer::ConstTensor> biases) {
4003  fbb_.AddOffset(FullyConnectedLayer::VT_BIASES, biases);
4004  }
4005  explicit FullyConnectedLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4006  : fbb_(_fbb) {
4007  start_ = fbb_.StartTable();
4008  }
4010  flatbuffers::Offset<FullyConnectedLayer> Finish() {
4011  const auto end = fbb_.EndTable(start_);
4012  auto o = flatbuffers::Offset<FullyConnectedLayer>(end);
4013  return o;
4014  }
4015 };
4016 
4017 inline flatbuffers::Offset<FullyConnectedLayer> CreateFullyConnectedLayer(
4018  flatbuffers::FlatBufferBuilder &_fbb,
4019  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
4020  flatbuffers::Offset<armnnSerializer::FullyConnectedDescriptor> descriptor = 0,
4021  flatbuffers::Offset<armnnSerializer::ConstTensor> weights = 0,
4022  flatbuffers::Offset<armnnSerializer::ConstTensor> biases = 0) {
4023  FullyConnectedLayerBuilder builder_(_fbb);
4024  builder_.add_biases(biases);
4025  builder_.add_weights(weights);
4026  builder_.add_descriptor(descriptor);
4027  builder_.add_base(base);
4028  return builder_.Finish();
4029 }
4030 
4031 struct FullyConnectedDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4033  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4034  VT_BIASENABLED = 4,
4036  VT_CONSTANTWEIGHTS = 8
4037  };
4038  bool biasEnabled() const {
4039  return GetField<uint8_t>(VT_BIASENABLED, 0) != 0;
4040  }
4041  bool transposeWeightsMatrix() const {
4042  return GetField<uint8_t>(VT_TRANSPOSEWEIGHTSMATRIX, 0) != 0;
4043  }
4044  bool constantWeights() const {
4045  return GetField<uint8_t>(VT_CONSTANTWEIGHTS, 1) != 0;
4046  }
4047  bool Verify(flatbuffers::Verifier &verifier) const {
4048  return VerifyTableStart(verifier) &&
4049  VerifyField<uint8_t>(verifier, VT_BIASENABLED) &&
4050  VerifyField<uint8_t>(verifier, VT_TRANSPOSEWEIGHTSMATRIX) &&
4051  VerifyField<uint8_t>(verifier, VT_CONSTANTWEIGHTS) &&
4052  verifier.EndTable();
4053  }
4054 };
4055 
4057  typedef FullyConnectedDescriptor Table;
4058  flatbuffers::FlatBufferBuilder &fbb_;
4059  flatbuffers::uoffset_t start_;
4060  void add_biasEnabled(bool biasEnabled) {
4061  fbb_.AddElement<uint8_t>(FullyConnectedDescriptor::VT_BIASENABLED, static_cast<uint8_t>(biasEnabled), 0);
4062  }
4063  void add_transposeWeightsMatrix(bool transposeWeightsMatrix) {
4064  fbb_.AddElement<uint8_t>(FullyConnectedDescriptor::VT_TRANSPOSEWEIGHTSMATRIX, static_cast<uint8_t>(transposeWeightsMatrix), 0);
4065  }
4066  void add_constantWeights(bool constantWeights) {
4067  fbb_.AddElement<uint8_t>(FullyConnectedDescriptor::VT_CONSTANTWEIGHTS, static_cast<uint8_t>(constantWeights), 1);
4068  }
4069  explicit FullyConnectedDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4070  : fbb_(_fbb) {
4071  start_ = fbb_.StartTable();
4072  }
4074  flatbuffers::Offset<FullyConnectedDescriptor> Finish() {
4075  const auto end = fbb_.EndTable(start_);
4076  auto o = flatbuffers::Offset<FullyConnectedDescriptor>(end);
4077  return o;
4078  }
4079 };
4080 
4081 inline flatbuffers::Offset<FullyConnectedDescriptor> CreateFullyConnectedDescriptor(
4082  flatbuffers::FlatBufferBuilder &_fbb,
4083  bool biasEnabled = false,
4084  bool transposeWeightsMatrix = false,
4085  bool constantWeights = true) {
4086  FullyConnectedDescriptorBuilder builder_(_fbb);
4087  builder_.add_constantWeights(constantWeights);
4088  builder_.add_transposeWeightsMatrix(transposeWeightsMatrix);
4089  builder_.add_biasEnabled(biasEnabled);
4090  return builder_.Finish();
4091 }
4092 
4093 struct GatherLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4095  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4096  VT_BASE = 4,
4097  VT_DESCRIPTOR = 6
4098  };
4099  const armnnSerializer::LayerBase *base() const {
4100  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
4101  }
4102  const armnnSerializer::GatherDescriptor *descriptor() const {
4103  return GetPointer<const armnnSerializer::GatherDescriptor *>(VT_DESCRIPTOR);
4104  }
4105  bool Verify(flatbuffers::Verifier &verifier) const {
4106  return VerifyTableStart(verifier) &&
4107  VerifyOffset(verifier, VT_BASE) &&
4108  verifier.VerifyTable(base()) &&
4109  VerifyOffset(verifier, VT_DESCRIPTOR) &&
4110  verifier.VerifyTable(descriptor()) &&
4111  verifier.EndTable();
4112  }
4113 };
4114 
4116  typedef GatherLayer Table;
4117  flatbuffers::FlatBufferBuilder &fbb_;
4118  flatbuffers::uoffset_t start_;
4119  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4120  fbb_.AddOffset(GatherLayer::VT_BASE, base);
4121  }
4122  void add_descriptor(flatbuffers::Offset<armnnSerializer::GatherDescriptor> descriptor) {
4123  fbb_.AddOffset(GatherLayer::VT_DESCRIPTOR, descriptor);
4124  }
4125  explicit GatherLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4126  : fbb_(_fbb) {
4127  start_ = fbb_.StartTable();
4128  }
4129  GatherLayerBuilder &operator=(const GatherLayerBuilder &);
4130  flatbuffers::Offset<GatherLayer> Finish() {
4131  const auto end = fbb_.EndTable(start_);
4132  auto o = flatbuffers::Offset<GatherLayer>(end);
4133  return o;
4134  }
4135 };
4136 
4137 inline flatbuffers::Offset<GatherLayer> CreateGatherLayer(
4138  flatbuffers::FlatBufferBuilder &_fbb,
4139  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
4140  flatbuffers::Offset<armnnSerializer::GatherDescriptor> descriptor = 0) {
4141  GatherLayerBuilder builder_(_fbb);
4142  builder_.add_descriptor(descriptor);
4143  builder_.add_base(base);
4144  return builder_.Finish();
4145 }
4146 
4147 struct GatherDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4149  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4150  VT_AXIS = 4
4151  };
4152  int32_t axis() const {
4153  return GetField<int32_t>(VT_AXIS, 0);
4154  }
4155  bool Verify(flatbuffers::Verifier &verifier) const {
4156  return VerifyTableStart(verifier) &&
4157  VerifyField<int32_t>(verifier, VT_AXIS) &&
4158  verifier.EndTable();
4159  }
4160 };
4161 
4163  typedef GatherDescriptor Table;
4164  flatbuffers::FlatBufferBuilder &fbb_;
4165  flatbuffers::uoffset_t start_;
4166  void add_axis(int32_t axis) {
4167  fbb_.AddElement<int32_t>(GatherDescriptor::VT_AXIS, axis, 0);
4168  }
4169  explicit GatherDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4170  : fbb_(_fbb) {
4171  start_ = fbb_.StartTable();
4172  }
4174  flatbuffers::Offset<GatherDescriptor> Finish() {
4175  const auto end = fbb_.EndTable(start_);
4176  auto o = flatbuffers::Offset<GatherDescriptor>(end);
4177  return o;
4178  }
4179 };
4180 
4181 inline flatbuffers::Offset<GatherDescriptor> CreateGatherDescriptor(
4182  flatbuffers::FlatBufferBuilder &_fbb,
4183  int32_t axis = 0) {
4184  GatherDescriptorBuilder builder_(_fbb);
4185  builder_.add_axis(axis);
4186  return builder_.Finish();
4187 }
4188 
4189 /// @deprecated Use ComparisonLayer instead
4190 struct GreaterLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4192  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4193  VT_BASE = 4
4194  };
4195  const armnnSerializer::LayerBase *base() const {
4196  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
4197  }
4198  bool Verify(flatbuffers::Verifier &verifier) const {
4199  return VerifyTableStart(verifier) &&
4200  VerifyOffset(verifier, VT_BASE) &&
4201  verifier.VerifyTable(base()) &&
4202  verifier.EndTable();
4203  }
4204 };
4205 
4207  typedef GreaterLayer Table;
4208  flatbuffers::FlatBufferBuilder &fbb_;
4209  flatbuffers::uoffset_t start_;
4210  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4211  fbb_.AddOffset(GreaterLayer::VT_BASE, base);
4212  }
4213  explicit GreaterLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4214  : fbb_(_fbb) {
4215  start_ = fbb_.StartTable();
4216  }
4217  GreaterLayerBuilder &operator=(const GreaterLayerBuilder &);
4218  flatbuffers::Offset<GreaterLayer> Finish() {
4219  const auto end = fbb_.EndTable(start_);
4220  auto o = flatbuffers::Offset<GreaterLayer>(end);
4221  return o;
4222  }
4223 };
4224 
4225 inline flatbuffers::Offset<GreaterLayer> CreateGreaterLayer(
4226  flatbuffers::FlatBufferBuilder &_fbb,
4227  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
4228  GreaterLayerBuilder builder_(_fbb);
4229  builder_.add_base(base);
4230  return builder_.Finish();
4231 }
4232 
4233 struct InputLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4235  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4236  VT_BASE = 4
4237  };
4238  const armnnSerializer::BindableLayerBase *base() const {
4239  return GetPointer<const armnnSerializer::BindableLayerBase *>(VT_BASE);
4240  }
4241  bool Verify(flatbuffers::Verifier &verifier) const {
4242  return VerifyTableStart(verifier) &&
4243  VerifyOffset(verifier, VT_BASE) &&
4244  verifier.VerifyTable(base()) &&
4245  verifier.EndTable();
4246  }
4247 };
4248 
4250  typedef InputLayer Table;
4251  flatbuffers::FlatBufferBuilder &fbb_;
4252  flatbuffers::uoffset_t start_;
4253  void add_base(flatbuffers::Offset<armnnSerializer::BindableLayerBase> base) {
4254  fbb_.AddOffset(InputLayer::VT_BASE, base);
4255  }
4256  explicit InputLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4257  : fbb_(_fbb) {
4258  start_ = fbb_.StartTable();
4259  }
4260  InputLayerBuilder &operator=(const InputLayerBuilder &);
4261  flatbuffers::Offset<InputLayer> Finish() {
4262  const auto end = fbb_.EndTable(start_);
4263  auto o = flatbuffers::Offset<InputLayer>(end);
4264  return o;
4265  }
4266 };
4267 
4268 inline flatbuffers::Offset<InputLayer> CreateInputLayer(
4269  flatbuffers::FlatBufferBuilder &_fbb,
4270  flatbuffers::Offset<armnnSerializer::BindableLayerBase> base = 0) {
4271  InputLayerBuilder builder_(_fbb);
4272  builder_.add_base(base);
4273  return builder_.Finish();
4274 }
4275 
4276 struct InstanceNormalizationLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4278  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4279  VT_BASE = 4,
4280  VT_DESCRIPTOR = 6
4281  };
4282  const armnnSerializer::LayerBase *base() const {
4283  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
4284  }
4285  const armnnSerializer::InstanceNormalizationDescriptor *descriptor() const {
4286  return GetPointer<const armnnSerializer::InstanceNormalizationDescriptor *>(VT_DESCRIPTOR);
4287  }
4288  bool Verify(flatbuffers::Verifier &verifier) const {
4289  return VerifyTableStart(verifier) &&
4290  VerifyOffset(verifier, VT_BASE) &&
4291  verifier.VerifyTable(base()) &&
4292  VerifyOffset(verifier, VT_DESCRIPTOR) &&
4293  verifier.VerifyTable(descriptor()) &&
4294  verifier.EndTable();
4295  }
4296 };
4297 
4299  typedef InstanceNormalizationLayer Table;
4300  flatbuffers::FlatBufferBuilder &fbb_;
4301  flatbuffers::uoffset_t start_;
4302  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4303  fbb_.AddOffset(InstanceNormalizationLayer::VT_BASE, base);
4304  }
4305  void add_descriptor(flatbuffers::Offset<armnnSerializer::InstanceNormalizationDescriptor> descriptor) {
4306  fbb_.AddOffset(InstanceNormalizationLayer::VT_DESCRIPTOR, descriptor);
4307  }
4308  explicit InstanceNormalizationLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4309  : fbb_(_fbb) {
4310  start_ = fbb_.StartTable();
4311  }
4313  flatbuffers::Offset<InstanceNormalizationLayer> Finish() {
4314  const auto end = fbb_.EndTable(start_);
4315  auto o = flatbuffers::Offset<InstanceNormalizationLayer>(end);
4316  return o;
4317  }
4318 };
4319 
4320 inline flatbuffers::Offset<InstanceNormalizationLayer> CreateInstanceNormalizationLayer(
4321  flatbuffers::FlatBufferBuilder &_fbb,
4322  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
4323  flatbuffers::Offset<armnnSerializer::InstanceNormalizationDescriptor> descriptor = 0) {
4324  InstanceNormalizationLayerBuilder builder_(_fbb);
4325  builder_.add_descriptor(descriptor);
4326  builder_.add_base(base);
4327  return builder_.Finish();
4328 }
4329 
4330 struct InstanceNormalizationDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4332  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4334  VT_BETA = 6,
4335  VT_EPS = 8,
4336  VT_DATALAYOUT = 10
4337  };
4338  float gamma() const {
4339  return GetField<float>(VT_GAMMA, 0.0f);
4340  }
4341  float beta() const {
4342  return GetField<float>(VT_BETA, 0.0f);
4343  }
4344  float eps() const {
4345  return GetField<float>(VT_EPS, 0.0f);
4346  }
4348  return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 0));
4349  }
4350  bool Verify(flatbuffers::Verifier &verifier) const {
4351  return VerifyTableStart(verifier) &&
4352  VerifyField<float>(verifier, VT_GAMMA) &&
4353  VerifyField<float>(verifier, VT_BETA) &&
4354  VerifyField<float>(verifier, VT_EPS) &&
4355  VerifyField<int8_t>(verifier, VT_DATALAYOUT) &&
4356  verifier.EndTable();
4357  }
4358 };
4359 
4361  typedef InstanceNormalizationDescriptor Table;
4362  flatbuffers::FlatBufferBuilder &fbb_;
4363  flatbuffers::uoffset_t start_;
4364  void add_gamma(float gamma) {
4365  fbb_.AddElement<float>(InstanceNormalizationDescriptor::VT_GAMMA, gamma, 0.0f);
4366  }
4367  void add_beta(float beta) {
4368  fbb_.AddElement<float>(InstanceNormalizationDescriptor::VT_BETA, beta, 0.0f);
4369  }
4370  void add_eps(float eps) {
4371  fbb_.AddElement<float>(InstanceNormalizationDescriptor::VT_EPS, eps, 0.0f);
4372  }
4374  fbb_.AddElement<int8_t>(InstanceNormalizationDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 0);
4375  }
4376  explicit InstanceNormalizationDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4377  : fbb_(_fbb) {
4378  start_ = fbb_.StartTable();
4379  }
4381  flatbuffers::Offset<InstanceNormalizationDescriptor> Finish() {
4382  const auto end = fbb_.EndTable(start_);
4383  auto o = flatbuffers::Offset<InstanceNormalizationDescriptor>(end);
4384  return o;
4385  }
4386 };
4387 
4388 inline flatbuffers::Offset<InstanceNormalizationDescriptor> CreateInstanceNormalizationDescriptor(
4389  flatbuffers::FlatBufferBuilder &_fbb,
4390  float gamma = 0.0f,
4391  float beta = 0.0f,
4392  float eps = 0.0f,
4395  builder_.add_eps(eps);
4396  builder_.add_beta(beta);
4397  builder_.add_gamma(gamma);
4398  builder_.add_dataLayout(dataLayout);
4399  return builder_.Finish();
4400 }
4401 
4402 struct LogSoftmaxLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4404  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4405  VT_BASE = 4,
4406  VT_DESCRIPTOR = 6
4407  };
4408  const armnnSerializer::LayerBase *base() const {
4409  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
4410  }
4412  return GetPointer<const armnnSerializer::LogSoftmaxDescriptor *>(VT_DESCRIPTOR);
4413  }
4414  bool Verify(flatbuffers::Verifier &verifier) const {
4415  return VerifyTableStart(verifier) &&
4416  VerifyOffset(verifier, VT_BASE) &&
4417  verifier.VerifyTable(base()) &&
4418  VerifyOffset(verifier, VT_DESCRIPTOR) &&
4419  verifier.VerifyTable(descriptor()) &&
4420  verifier.EndTable();
4421  }
4422 };
4423 
4425  typedef LogSoftmaxLayer Table;
4426  flatbuffers::FlatBufferBuilder &fbb_;
4427  flatbuffers::uoffset_t start_;
4428  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4429  fbb_.AddOffset(LogSoftmaxLayer::VT_BASE, base);
4430  }
4431  void add_descriptor(flatbuffers::Offset<armnnSerializer::LogSoftmaxDescriptor> descriptor) {
4432  fbb_.AddOffset(LogSoftmaxLayer::VT_DESCRIPTOR, descriptor);
4433  }
4434  explicit LogSoftmaxLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4435  : fbb_(_fbb) {
4436  start_ = fbb_.StartTable();
4437  }
4438  LogSoftmaxLayerBuilder &operator=(const LogSoftmaxLayerBuilder &);
4439  flatbuffers::Offset<LogSoftmaxLayer> Finish() {
4440  const auto end = fbb_.EndTable(start_);
4441  auto o = flatbuffers::Offset<LogSoftmaxLayer>(end);
4442  return o;
4443  }
4444 };
4445 
4446 inline flatbuffers::Offset<LogSoftmaxLayer> CreateLogSoftmaxLayer(
4447  flatbuffers::FlatBufferBuilder &_fbb,
4448  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
4449  flatbuffers::Offset<armnnSerializer::LogSoftmaxDescriptor> descriptor = 0) {
4450  LogSoftmaxLayerBuilder builder_(_fbb);
4451  builder_.add_descriptor(descriptor);
4452  builder_.add_base(base);
4453  return builder_.Finish();
4454 }
4455 
4456 struct LogSoftmaxDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4458  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4459  VT_BETA = 4,
4460  VT_AXIS = 6
4461  };
4462  float beta() const {
4463  return GetField<float>(VT_BETA, 1.0f);
4464  }
4465  int32_t axis() const {
4466  return GetField<int32_t>(VT_AXIS, -1);
4467  }
4468  bool Verify(flatbuffers::Verifier &verifier) const {
4469  return VerifyTableStart(verifier) &&
4470  VerifyField<float>(verifier, VT_BETA) &&
4471  VerifyField<int32_t>(verifier, VT_AXIS) &&
4472  verifier.EndTable();
4473  }
4474 };
4475 
4478  flatbuffers::FlatBufferBuilder &fbb_;
4479  flatbuffers::uoffset_t start_;
4480  void add_beta(float beta) {
4481  fbb_.AddElement<float>(LogSoftmaxDescriptor::VT_BETA, beta, 1.0f);
4482  }
4483  void add_axis(int32_t axis) {
4484  fbb_.AddElement<int32_t>(LogSoftmaxDescriptor::VT_AXIS, axis, -1);
4485  }
4486  explicit LogSoftmaxDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4487  : fbb_(_fbb) {
4488  start_ = fbb_.StartTable();
4489  }
4491  flatbuffers::Offset<LogSoftmaxDescriptor> Finish() {
4492  const auto end = fbb_.EndTable(start_);
4493  auto o = flatbuffers::Offset<LogSoftmaxDescriptor>(end);
4494  return o;
4495  }
4496 };
4497 
4498 inline flatbuffers::Offset<LogSoftmaxDescriptor> CreateLogSoftmaxDescriptor(
4499  flatbuffers::FlatBufferBuilder &_fbb,
4500  float beta = 1.0f,
4501  int32_t axis = -1) {
4502  LogSoftmaxDescriptorBuilder builder_(_fbb);
4503  builder_.add_axis(axis);
4504  builder_.add_beta(beta);
4505  return builder_.Finish();
4506 }
4507 
4508 struct L2NormalizationLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4510  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4511  VT_BASE = 4,
4512  VT_DESCRIPTOR = 6
4513  };
4514  const armnnSerializer::LayerBase *base() const {
4515  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
4516  }
4517  const armnnSerializer::L2NormalizationDescriptor *descriptor() const {
4518  return GetPointer<const armnnSerializer::L2NormalizationDescriptor *>(VT_DESCRIPTOR);
4519  }
4520  bool Verify(flatbuffers::Verifier &verifier) const {
4521  return VerifyTableStart(verifier) &&
4522  VerifyOffset(verifier, VT_BASE) &&
4523  verifier.VerifyTable(base()) &&
4524  VerifyOffset(verifier, VT_DESCRIPTOR) &&
4525  verifier.VerifyTable(descriptor()) &&
4526  verifier.EndTable();
4527  }
4528 };
4529 
4531  typedef L2NormalizationLayer Table;
4532  flatbuffers::FlatBufferBuilder &fbb_;
4533  flatbuffers::uoffset_t start_;
4534  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4535  fbb_.AddOffset(L2NormalizationLayer::VT_BASE, base);
4536  }
4537  void add_descriptor(flatbuffers::Offset<armnnSerializer::L2NormalizationDescriptor> descriptor) {
4538  fbb_.AddOffset(L2NormalizationLayer::VT_DESCRIPTOR, descriptor);
4539  }
4540  explicit L2NormalizationLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4541  : fbb_(_fbb) {
4542  start_ = fbb_.StartTable();
4543  }
4545  flatbuffers::Offset<L2NormalizationLayer> Finish() {
4546  const auto end = fbb_.EndTable(start_);
4547  auto o = flatbuffers::Offset<L2NormalizationLayer>(end);
4548  return o;
4549  }
4550 };
4551 
4552 inline flatbuffers::Offset<L2NormalizationLayer> CreateL2NormalizationLayer(
4553  flatbuffers::FlatBufferBuilder &_fbb,
4554  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
4555  flatbuffers::Offset<armnnSerializer::L2NormalizationDescriptor> descriptor = 0) {
4556  L2NormalizationLayerBuilder builder_(_fbb);
4557  builder_.add_descriptor(descriptor);
4558  builder_.add_base(base);
4559  return builder_.Finish();
4560 }
4561 
4562 struct L2NormalizationDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4564  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4566  VT_EPS = 6
4567  };
4569  return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 1));
4570  }
4571  float eps() const {
4572  return GetField<float>(VT_EPS, 1e-12f);
4573  }
4574  bool Verify(flatbuffers::Verifier &verifier) const {
4575  return VerifyTableStart(verifier) &&
4576  VerifyField<int8_t>(verifier, VT_DATALAYOUT) &&
4577  VerifyField<float>(verifier, VT_EPS) &&
4578  verifier.EndTable();
4579  }
4580 };
4581 
4583  typedef L2NormalizationDescriptor Table;
4584  flatbuffers::FlatBufferBuilder &fbb_;
4585  flatbuffers::uoffset_t start_;
4587  fbb_.AddElement<int8_t>(L2NormalizationDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 1);
4588  }
4589  void add_eps(float eps) {
4590  fbb_.AddElement<float>(L2NormalizationDescriptor::VT_EPS, eps, 1e-12f);
4591  }
4592  explicit L2NormalizationDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4593  : fbb_(_fbb) {
4594  start_ = fbb_.StartTable();
4595  }
4597  flatbuffers::Offset<L2NormalizationDescriptor> Finish() {
4598  const auto end = fbb_.EndTable(start_);
4599  auto o = flatbuffers::Offset<L2NormalizationDescriptor>(end);
4600  return o;
4601  }
4602 };
4603 
4604 inline flatbuffers::Offset<L2NormalizationDescriptor> CreateL2NormalizationDescriptor(
4605  flatbuffers::FlatBufferBuilder &_fbb,
4607  float eps = 1e-12f) {
4608  L2NormalizationDescriptorBuilder builder_(_fbb);
4609  builder_.add_eps(eps);
4610  builder_.add_dataLayout(dataLayout);
4611  return builder_.Finish();
4612 }
4613 
4614 struct LogicalBinaryDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4616  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4617  VT_OPERATION = 4
4618  };
4620  return static_cast<armnnSerializer::LogicalBinaryOperation>(GetField<int8_t>(VT_OPERATION, 0));
4621  }
4622  bool Verify(flatbuffers::Verifier &verifier) const {
4623  return VerifyTableStart(verifier) &&
4624  VerifyField<int8_t>(verifier, VT_OPERATION) &&
4625  verifier.EndTable();
4626  }
4627 };
4628 
4630  typedef LogicalBinaryDescriptor Table;
4631  flatbuffers::FlatBufferBuilder &fbb_;
4632  flatbuffers::uoffset_t start_;
4634  fbb_.AddElement<int8_t>(LogicalBinaryDescriptor::VT_OPERATION, static_cast<int8_t>(operation), 0);
4635  }
4636  explicit LogicalBinaryDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4637  : fbb_(_fbb) {
4638  start_ = fbb_.StartTable();
4639  }
4641  flatbuffers::Offset<LogicalBinaryDescriptor> Finish() {
4642  const auto end = fbb_.EndTable(start_);
4643  auto o = flatbuffers::Offset<LogicalBinaryDescriptor>(end);
4644  return o;
4645  }
4646 };
4647 
4648 inline flatbuffers::Offset<LogicalBinaryDescriptor> CreateLogicalBinaryDescriptor(
4649  flatbuffers::FlatBufferBuilder &_fbb,
4651  LogicalBinaryDescriptorBuilder builder_(_fbb);
4652  builder_.add_operation(operation);
4653  return builder_.Finish();
4654 }
4655 
4656 struct LogicalBinaryLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4658  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4659  VT_BASE = 4,
4660  VT_DESCRIPTOR = 6
4661  };
4662  const armnnSerializer::LayerBase *base() const {
4663  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
4664  }
4665  const armnnSerializer::LogicalBinaryDescriptor *descriptor() const {
4666  return GetPointer<const armnnSerializer::LogicalBinaryDescriptor *>(VT_DESCRIPTOR);
4667  }
4668  bool Verify(flatbuffers::Verifier &verifier) const {
4669  return VerifyTableStart(verifier) &&
4670  VerifyOffset(verifier, VT_BASE) &&
4671  verifier.VerifyTable(base()) &&
4672  VerifyOffset(verifier, VT_DESCRIPTOR) &&
4673  verifier.VerifyTable(descriptor()) &&
4674  verifier.EndTable();
4675  }
4676 };
4677 
4679  typedef LogicalBinaryLayer Table;
4680  flatbuffers::FlatBufferBuilder &fbb_;
4681  flatbuffers::uoffset_t start_;
4682  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4683  fbb_.AddOffset(LogicalBinaryLayer::VT_BASE, base);
4684  }
4685  void add_descriptor(flatbuffers::Offset<armnnSerializer::LogicalBinaryDescriptor> descriptor) {
4686  fbb_.AddOffset(LogicalBinaryLayer::VT_DESCRIPTOR, descriptor);
4687  }
4688  explicit LogicalBinaryLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4689  : fbb_(_fbb) {
4690  start_ = fbb_.StartTable();
4691  }
4693  flatbuffers::Offset<LogicalBinaryLayer> Finish() {
4694  const auto end = fbb_.EndTable(start_);
4695  auto o = flatbuffers::Offset<LogicalBinaryLayer>(end);
4696  return o;
4697  }
4698 };
4699 
4700 inline flatbuffers::Offset<LogicalBinaryLayer> CreateLogicalBinaryLayer(
4701  flatbuffers::FlatBufferBuilder &_fbb,
4702  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
4703  flatbuffers::Offset<armnnSerializer::LogicalBinaryDescriptor> descriptor = 0) {
4704  LogicalBinaryLayerBuilder builder_(_fbb);
4705  builder_.add_descriptor(descriptor);
4706  builder_.add_base(base);
4707  return builder_.Finish();
4708 }
4709 
4710 struct MinimumLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4712  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4713  VT_BASE = 4
4714  };
4715  const armnnSerializer::LayerBase *base() const {
4716  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
4717  }
4718  bool Verify(flatbuffers::Verifier &verifier) const {
4719  return VerifyTableStart(verifier) &&
4720  VerifyOffset(verifier, VT_BASE) &&
4721  verifier.VerifyTable(base()) &&
4722  verifier.EndTable();
4723  }
4724 };
4725 
4727  typedef MinimumLayer Table;
4728  flatbuffers::FlatBufferBuilder &fbb_;
4729  flatbuffers::uoffset_t start_;
4730  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4731  fbb_.AddOffset(MinimumLayer::VT_BASE, base);
4732  }
4733  explicit MinimumLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4734  : fbb_(_fbb) {
4735  start_ = fbb_.StartTable();
4736  }
4737  MinimumLayerBuilder &operator=(const MinimumLayerBuilder &);
4738  flatbuffers::Offset<MinimumLayer> Finish() {
4739  const auto end = fbb_.EndTable(start_);
4740  auto o = flatbuffers::Offset<MinimumLayer>(end);
4741  return o;
4742  }
4743 };
4744 
4745 inline flatbuffers::Offset<MinimumLayer> CreateMinimumLayer(
4746  flatbuffers::FlatBufferBuilder &_fbb,
4747  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
4748  MinimumLayerBuilder builder_(_fbb);
4749  builder_.add_base(base);
4750  return builder_.Finish();
4751 }
4752 
4753 struct MaximumLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4755  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4756  VT_BASE = 4
4757  };
4758  const armnnSerializer::LayerBase *base() const {
4759  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
4760  }
4761  bool Verify(flatbuffers::Verifier &verifier) const {
4762  return VerifyTableStart(verifier) &&
4763  VerifyOffset(verifier, VT_BASE) &&
4764  verifier.VerifyTable(base()) &&
4765  verifier.EndTable();
4766  }
4767 };
4768 
4770  typedef MaximumLayer Table;
4771  flatbuffers::FlatBufferBuilder &fbb_;
4772  flatbuffers::uoffset_t start_;
4773  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4774  fbb_.AddOffset(MaximumLayer::VT_BASE, base);
4775  }
4776  explicit MaximumLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4777  : fbb_(_fbb) {
4778  start_ = fbb_.StartTable();
4779  }
4780  MaximumLayerBuilder &operator=(const MaximumLayerBuilder &);
4781  flatbuffers::Offset<MaximumLayer> Finish() {
4782  const auto end = fbb_.EndTable(start_);
4783  auto o = flatbuffers::Offset<MaximumLayer>(end);
4784  return o;
4785  }
4786 };
4787 
4788 inline flatbuffers::Offset<MaximumLayer> CreateMaximumLayer(
4789  flatbuffers::FlatBufferBuilder &_fbb,
4790  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
4791  MaximumLayerBuilder builder_(_fbb);
4792  builder_.add_base(base);
4793  return builder_.Finish();
4794 }
4795 
4796 struct MultiplicationLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4798  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4799  VT_BASE = 4
4800  };
4801  const armnnSerializer::LayerBase *base() const {
4802  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
4803  }
4804  bool Verify(flatbuffers::Verifier &verifier) const {
4805  return VerifyTableStart(verifier) &&
4806  VerifyOffset(verifier, VT_BASE) &&
4807  verifier.VerifyTable(base()) &&
4808  verifier.EndTable();
4809  }
4810 };
4811 
4813  typedef MultiplicationLayer Table;
4814  flatbuffers::FlatBufferBuilder &fbb_;
4815  flatbuffers::uoffset_t start_;
4816  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4817  fbb_.AddOffset(MultiplicationLayer::VT_BASE, base);
4818  }
4819  explicit MultiplicationLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4820  : fbb_(_fbb) {
4821  start_ = fbb_.StartTable();
4822  }
4824  flatbuffers::Offset<MultiplicationLayer> Finish() {
4825  const auto end = fbb_.EndTable(start_);
4826  auto o = flatbuffers::Offset<MultiplicationLayer>(end);
4827  return o;
4828  }
4829 };
4830 
4831 inline flatbuffers::Offset<MultiplicationLayer> CreateMultiplicationLayer(
4832  flatbuffers::FlatBufferBuilder &_fbb,
4833  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
4834  MultiplicationLayerBuilder builder_(_fbb);
4835  builder_.add_base(base);
4836  return builder_.Finish();
4837 }
4838 
4839 struct Pooling2dLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4841  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4842  VT_BASE = 4,
4843  VT_DESCRIPTOR = 6
4844  };
4845  const armnnSerializer::LayerBase *base() const {
4846  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
4847  }
4849  return GetPointer<const armnnSerializer::Pooling2dDescriptor *>(VT_DESCRIPTOR);
4850  }
4851  bool Verify(flatbuffers::Verifier &verifier) const {
4852  return VerifyTableStart(verifier) &&
4853  VerifyOffset(verifier, VT_BASE) &&
4854  verifier.VerifyTable(base()) &&
4855  VerifyOffset(verifier, VT_DESCRIPTOR) &&
4856  verifier.VerifyTable(descriptor()) &&
4857  verifier.EndTable();
4858  }
4859 };
4860 
4862  typedef Pooling2dLayer Table;
4863  flatbuffers::FlatBufferBuilder &fbb_;
4864  flatbuffers::uoffset_t start_;
4865  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4866  fbb_.AddOffset(Pooling2dLayer::VT_BASE, base);
4867  }
4868  void add_descriptor(flatbuffers::Offset<armnnSerializer::Pooling2dDescriptor> descriptor) {
4869  fbb_.AddOffset(Pooling2dLayer::VT_DESCRIPTOR, descriptor);
4870  }
4871  explicit Pooling2dLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4872  : fbb_(_fbb) {
4873  start_ = fbb_.StartTable();
4874  }
4875  Pooling2dLayerBuilder &operator=(const Pooling2dLayerBuilder &);
4876  flatbuffers::Offset<Pooling2dLayer> Finish() {
4877  const auto end = fbb_.EndTable(start_);
4878  auto o = flatbuffers::Offset<Pooling2dLayer>(end);
4879  return o;
4880  }
4881 };
4882 
4883 inline flatbuffers::Offset<Pooling2dLayer> CreatePooling2dLayer(
4884  flatbuffers::FlatBufferBuilder &_fbb,
4885  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
4886  flatbuffers::Offset<armnnSerializer::Pooling2dDescriptor> descriptor = 0) {
4887  Pooling2dLayerBuilder builder_(_fbb);
4888  builder_.add_descriptor(descriptor);
4889  builder_.add_base(base);
4890  return builder_.Finish();
4891 }
4892 
4893 struct Pooling3dLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4895  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4896  VT_BASE = 4,
4897  VT_DESCRIPTOR = 6
4898  };
4899  const armnnSerializer::LayerBase *base() const {
4900  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
4901  }
4903  return GetPointer<const armnnSerializer::Pooling3dDescriptor *>(VT_DESCRIPTOR);
4904  }
4905  bool Verify(flatbuffers::Verifier &verifier) const {
4906  return VerifyTableStart(verifier) &&
4907  VerifyOffset(verifier, VT_BASE) &&
4908  verifier.VerifyTable(base()) &&
4909  VerifyOffset(verifier, VT_DESCRIPTOR) &&
4910  verifier.VerifyTable(descriptor()) &&
4911  verifier.EndTable();
4912  }
4913 };
4914 
4916  typedef Pooling3dLayer Table;
4917  flatbuffers::FlatBufferBuilder &fbb_;
4918  flatbuffers::uoffset_t start_;
4919  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4920  fbb_.AddOffset(Pooling3dLayer::VT_BASE, base);
4921  }
4922  void add_descriptor(flatbuffers::Offset<armnnSerializer::Pooling3dDescriptor> descriptor) {
4923  fbb_.AddOffset(Pooling3dLayer::VT_DESCRIPTOR, descriptor);
4924  }
4925  explicit Pooling3dLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4926  : fbb_(_fbb) {
4927  start_ = fbb_.StartTable();
4928  }
4929  Pooling3dLayerBuilder &operator=(const Pooling3dLayerBuilder &);
4930  flatbuffers::Offset<Pooling3dLayer> Finish() {
4931  const auto end = fbb_.EndTable(start_);
4932  auto o = flatbuffers::Offset<Pooling3dLayer>(end);
4933  return o;
4934  }
4935 };
4936 
4937 inline flatbuffers::Offset<Pooling3dLayer> CreatePooling3dLayer(
4938  flatbuffers::FlatBufferBuilder &_fbb,
4939  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
4940  flatbuffers::Offset<armnnSerializer::Pooling3dDescriptor> descriptor = 0) {
4941  Pooling3dLayerBuilder builder_(_fbb);
4942  builder_.add_descriptor(descriptor);
4943  builder_.add_base(base);
4944  return builder_.Finish();
4945 }
4946 
4947 struct Pooling2dDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4949  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4951  VT_PADLEFT = 6,
4952  VT_PADRIGHT = 8,
4953  VT_PADTOP = 10,
4954  VT_PADBOTTOM = 12,
4957  VT_STRIDEX = 18,
4958  VT_STRIDEY = 20,
4961  VT_DATALAYOUT = 26
4962  };
4964  return static_cast<armnnSerializer::PoolingAlgorithm>(GetField<int8_t>(VT_POOLTYPE, 0));
4965  }
4966  uint32_t padLeft() const {
4967  return GetField<uint32_t>(VT_PADLEFT, 0);
4968  }
4969  uint32_t padRight() const {
4970  return GetField<uint32_t>(VT_PADRIGHT, 0);
4971  }
4972  uint32_t padTop() const {
4973  return GetField<uint32_t>(VT_PADTOP, 0);
4974  }
4975  uint32_t padBottom() const {
4976  return GetField<uint32_t>(VT_PADBOTTOM, 0);
4977  }
4978  uint32_t poolWidth() const {
4979  return GetField<uint32_t>(VT_POOLWIDTH, 0);
4980  }
4981  uint32_t poolHeight() const {
4982  return GetField<uint32_t>(VT_POOLHEIGHT, 0);
4983  }
4984  uint32_t strideX() const {
4985  return GetField<uint32_t>(VT_STRIDEX, 0);
4986  }
4987  uint32_t strideY() const {
4988  return GetField<uint32_t>(VT_STRIDEY, 0);
4989  }
4991  return static_cast<armnnSerializer::OutputShapeRounding>(GetField<int8_t>(VT_OUTPUTSHAPEROUNDING, 0));
4992  }
4994  return static_cast<armnnSerializer::PaddingMethod>(GetField<int8_t>(VT_PADDINGMETHOD, 0));
4995  }
4997  return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 0));
4998  }
4999  bool Verify(flatbuffers::Verifier &verifier) const {
5000  return VerifyTableStart(verifier) &&
5001  VerifyField<int8_t>(verifier, VT_POOLTYPE) &&
5002  VerifyField<uint32_t>(verifier, VT_PADLEFT) &&
5003  VerifyField<uint32_t>(verifier, VT_PADRIGHT) &&
5004  VerifyField<uint32_t>(verifier, VT_PADTOP) &&
5005  VerifyField<uint32_t>(verifier, VT_PADBOTTOM) &&
5006  VerifyField<uint32_t>(verifier, VT_POOLWIDTH) &&
5007  VerifyField<uint32_t>(verifier, VT_POOLHEIGHT) &&
5008  VerifyField<uint32_t>(verifier, VT_STRIDEX) &&
5009  VerifyField<uint32_t>(verifier, VT_STRIDEY) &&
5010  VerifyField<int8_t>(verifier, VT_OUTPUTSHAPEROUNDING) &&
5011  VerifyField<int8_t>(verifier, VT_PADDINGMETHOD) &&
5012  VerifyField<int8_t>(verifier, VT_DATALAYOUT) &&
5013  verifier.EndTable();
5014  }
5015 };
5016 
5019  flatbuffers::FlatBufferBuilder &fbb_;
5020  flatbuffers::uoffset_t start_;
5022  fbb_.AddElement<int8_t>(Pooling2dDescriptor::VT_POOLTYPE, static_cast<int8_t>(poolType), 0);
5023  }
5024  void add_padLeft(uint32_t padLeft) {
5025  fbb_.AddElement<uint32_t>(Pooling2dDescriptor::VT_PADLEFT, padLeft, 0);
5026  }
5027  void add_padRight(uint32_t padRight) {
5028  fbb_.AddElement<uint32_t>(Pooling2dDescriptor::VT_PADRIGHT, padRight, 0);
5029  }
5030  void add_padTop(uint32_t padTop) {
5031  fbb_.AddElement<uint32_t>(Pooling2dDescriptor::VT_PADTOP, padTop, 0);
5032  }
5033  void add_padBottom(uint32_t padBottom) {
5034  fbb_.AddElement<uint32_t>(Pooling2dDescriptor::VT_PADBOTTOM, padBottom, 0);
5035  }
5036  void add_poolWidth(uint32_t poolWidth) {
5037  fbb_.AddElement<uint32_t>(Pooling2dDescriptor::VT_POOLWIDTH, poolWidth, 0);
5038  }
5039  void add_poolHeight(uint32_t poolHeight) {
5040  fbb_.AddElement<uint32_t>(Pooling2dDescriptor::VT_POOLHEIGHT, poolHeight, 0);
5041  }
5042  void add_strideX(uint32_t strideX) {
5043  fbb_.AddElement<uint32_t>(Pooling2dDescriptor::VT_STRIDEX, strideX, 0);
5044  }
5045  void add_strideY(uint32_t strideY) {
5046  fbb_.AddElement<uint32_t>(Pooling2dDescriptor::VT_STRIDEY, strideY, 0);
5047  }
5049  fbb_.AddElement<int8_t>(Pooling2dDescriptor::VT_OUTPUTSHAPEROUNDING, static_cast<int8_t>(outputShapeRounding), 0);
5050  }
5052  fbb_.AddElement<int8_t>(Pooling2dDescriptor::VT_PADDINGMETHOD, static_cast<int8_t>(paddingMethod), 0);
5053  }
5055  fbb_.AddElement<int8_t>(Pooling2dDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 0);
5056  }
5057  explicit Pooling2dDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5058  : fbb_(_fbb) {
5059  start_ = fbb_.StartTable();
5060  }
5062  flatbuffers::Offset<Pooling2dDescriptor> Finish() {
5063  const auto end = fbb_.EndTable(start_);
5064  auto o = flatbuffers::Offset<Pooling2dDescriptor>(end);
5065  return o;
5066  }
5067 };
5068 
5069 inline flatbuffers::Offset<Pooling2dDescriptor> CreatePooling2dDescriptor(
5070  flatbuffers::FlatBufferBuilder &_fbb,
5072  uint32_t padLeft = 0,
5073  uint32_t padRight = 0,
5074  uint32_t padTop = 0,
5075  uint32_t padBottom = 0,
5076  uint32_t poolWidth = 0,
5077  uint32_t poolHeight = 0,
5078  uint32_t strideX = 0,
5079  uint32_t strideY = 0,
5083  Pooling2dDescriptorBuilder builder_(_fbb);
5084  builder_.add_strideY(strideY);
5085  builder_.add_strideX(strideX);
5086  builder_.add_poolHeight(poolHeight);
5087  builder_.add_poolWidth(poolWidth);
5088  builder_.add_padBottom(padBottom);
5089  builder_.add_padTop(padTop);
5090  builder_.add_padRight(padRight);
5091  builder_.add_padLeft(padLeft);
5092  builder_.add_dataLayout(dataLayout);
5093  builder_.add_paddingMethod(paddingMethod);
5094  builder_.add_outputShapeRounding(outputShapeRounding);
5095  builder_.add_poolType(poolType);
5096  return builder_.Finish();
5097 }
5098 
5099 struct Pooling3dDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5101  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5102  VT_POOLTYPE = 4,
5103  VT_PADLEFT = 6,
5104  VT_PADRIGHT = 8,
5105  VT_PADTOP = 10,
5106  VT_PADBOTTOM = 12,
5107  VT_PADFRONT = 14,
5108  VT_PADBACK = 16,
5109  VT_POOLWIDTH = 18,
5110  VT_POOLHEIGHT = 20,
5112  VT_STRIDEX = 24,
5113  VT_STRIDEY = 26,
5114  VT_STRIDEZ = 28,
5116  VT_PADDINGMETHOD = 32,
5117  VT_DATALAYOUT = 34
5118  };
5120  return static_cast<armnnSerializer::PoolingAlgorithm>(GetField<int8_t>(VT_POOLTYPE, 0));
5121  }
5122  uint32_t padLeft() const {
5123  return GetField<uint32_t>(VT_PADLEFT, 0);
5124  }
5125  uint32_t padRight() const {
5126  return GetField<uint32_t>(VT_PADRIGHT, 0);
5127  }
5128  uint32_t padTop() const {
5129  return GetField<uint32_t>(VT_PADTOP, 0);
5130  }
5131  uint32_t padBottom() const {
5132  return GetField<uint32_t>(VT_PADBOTTOM, 0);
5133  }
5134  uint32_t padFront() const {
5135  return GetField<uint32_t>(VT_PADFRONT, 0);
5136  }
5137  uint32_t padBack() const {
5138  return GetField<uint32_t>(VT_PADBACK, 0);
5139  }
5140  uint32_t poolWidth() const {
5141  return GetField<uint32_t>(VT_POOLWIDTH, 0);
5142  }
5143  uint32_t poolHeight() const {
5144  return GetField<uint32_t>(VT_POOLHEIGHT, 0);
5145  }
5146  uint32_t poolDepth() const {
5147  return GetField<uint32_t>(VT_POOLDEPTH, 0);
5148  }
5149  uint32_t strideX() const {
5150  return GetField<uint32_t>(VT_STRIDEX, 0);
5151  }
5152  uint32_t strideY() const {
5153  return GetField<uint32_t>(VT_STRIDEY, 0);
5154  }
5155  uint32_t strideZ() const {
5156  return GetField<uint32_t>(VT_STRIDEZ, 0);
5157  }
5159  return static_cast<armnnSerializer::OutputShapeRounding>(GetField<int8_t>(VT_OUTPUTSHAPEROUNDING, 0));
5160  }
5162  return static_cast<armnnSerializer::PaddingMethod>(GetField<int8_t>(VT_PADDINGMETHOD, 0));
5163  }
5165  return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 0));
5166  }
5167  bool Verify(flatbuffers::Verifier &verifier) const {
5168  return VerifyTableStart(verifier) &&
5169  VerifyField<int8_t>(verifier, VT_POOLTYPE) &&
5170  VerifyField<uint32_t>(verifier, VT_PADLEFT) &&
5171  VerifyField<uint32_t>(verifier, VT_PADRIGHT) &&
5172  VerifyField<uint32_t>(verifier, VT_PADTOP) &&
5173  VerifyField<uint32_t>(verifier, VT_PADBOTTOM) &&
5174  VerifyField<uint32_t>(verifier, VT_PADFRONT) &&
5175  VerifyField<uint32_t>(verifier, VT_PADBACK) &&
5176  VerifyField<uint32_t>(verifier, VT_POOLWIDTH) &&
5177  VerifyField<uint32_t>(verifier, VT_POOLHEIGHT) &&
5178  VerifyField<uint32_t>(verifier, VT_POOLDEPTH) &&
5179  VerifyField<uint32_t>(verifier, VT_STRIDEX) &&
5180  VerifyField<uint32_t>(verifier, VT_STRIDEY) &&
5181  VerifyField<uint32_t>(verifier, VT_STRIDEZ) &&
5182  VerifyField<int8_t>(verifier, VT_OUTPUTSHAPEROUNDING) &&
5183  VerifyField<int8_t>(verifier, VT_PADDINGMETHOD) &&
5184  VerifyField<int8_t>(verifier, VT_DATALAYOUT) &&
5185  verifier.EndTable();
5186  }
5187 };
5188 
5191  flatbuffers::FlatBufferBuilder &fbb_;
5192  flatbuffers::uoffset_t start_;
5194  fbb_.AddElement<int8_t>(Pooling3dDescriptor::VT_POOLTYPE, static_cast<int8_t>(poolType), 0);
5195  }
5196  void add_padLeft(uint32_t padLeft) {
5197  fbb_.AddElement<uint32_t>(Pooling3dDescriptor::VT_PADLEFT, padLeft, 0);
5198  }
5199  void add_padRight(uint32_t padRight) {
5200  fbb_.AddElement<uint32_t>(Pooling3dDescriptor::VT_PADRIGHT, padRight, 0);
5201  }
5202  void add_padTop(uint32_t padTop) {
5203  fbb_.AddElement<uint32_t>(Pooling3dDescriptor::VT_PADTOP, padTop, 0);
5204  }
5205  void add_padBottom(uint32_t padBottom) {
5206  fbb_.AddElement<uint32_t>(Pooling3dDescriptor::VT_PADBOTTOM, padBottom, 0);
5207  }
5208  void add_padFront(uint32_t padFront) {
5209  fbb_.AddElement<uint32_t>(Pooling3dDescriptor::VT_PADFRONT, padFront, 0);
5210  }
5211  void add_padBack(uint32_t padBack) {
5212  fbb_.AddElement<uint32_t>(Pooling3dDescriptor::VT_PADBACK, padBack, 0);
5213  }
5214  void add_poolWidth(uint32_t poolWidth) {
5215  fbb_.AddElement<uint32_t>(Pooling3dDescriptor::VT_POOLWIDTH, poolWidth, 0);
5216  }
5217  void add_poolHeight(uint32_t poolHeight) {
5218  fbb_.AddElement<uint32_t>(Pooling3dDescriptor::VT_POOLHEIGHT, poolHeight, 0);
5219  }
5220  void add_poolDepth(uint32_t poolDepth) {
5221  fbb_.AddElement<uint32_t>(Pooling3dDescriptor::VT_POOLDEPTH, poolDepth, 0);
5222  }
5223  void add_strideX(uint32_t strideX) {
5224  fbb_.AddElement<uint32_t>(Pooling3dDescriptor::VT_STRIDEX, strideX, 0);
5225  }
5226  void add_strideY(uint32_t strideY) {
5227  fbb_.AddElement<uint32_t>(Pooling3dDescriptor::VT_STRIDEY, strideY, 0);
5228  }
5229  void add_strideZ(uint32_t strideZ) {
5230  fbb_.AddElement<uint32_t>(Pooling3dDescriptor::VT_STRIDEZ, strideZ, 0);
5231  }
5233  fbb_.AddElement<int8_t>(Pooling3dDescriptor::VT_OUTPUTSHAPEROUNDING, static_cast<int8_t>(outputShapeRounding), 0);
5234  }
5236  fbb_.AddElement<int8_t>(Pooling3dDescriptor::VT_PADDINGMETHOD, static_cast<int8_t>(paddingMethod), 0);
5237  }
5239  fbb_.AddElement<int8_t>(Pooling3dDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 0);
5240  }
5241  explicit Pooling3dDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5242  : fbb_(_fbb) {
5243  start_ = fbb_.StartTable();
5244  }
5246  flatbuffers::Offset<Pooling3dDescriptor> Finish() {
5247  const auto end = fbb_.EndTable(start_);
5248  auto o = flatbuffers::Offset<Pooling3dDescriptor>(end);
5249  return o;
5250  }
5251 };
5252 
5253 inline flatbuffers::Offset<Pooling3dDescriptor> CreatePooling3dDescriptor(
5254  flatbuffers::FlatBufferBuilder &_fbb,
5256  uint32_t padLeft = 0,
5257  uint32_t padRight = 0,
5258  uint32_t padTop = 0,
5259  uint32_t padBottom = 0,
5260  uint32_t padFront = 0,
5261  uint32_t padBack = 0,
5262  uint32_t poolWidth = 0,
5263  uint32_t poolHeight = 0,
5264  uint32_t poolDepth = 0,
5265  uint32_t strideX = 0,
5266  uint32_t strideY = 0,
5267  uint32_t strideZ = 0,
5271  Pooling3dDescriptorBuilder builder_(_fbb);
5272  builder_.add_strideZ(strideZ);
5273  builder_.add_strideY(strideY);
5274  builder_.add_strideX(strideX);
5275  builder_.add_poolDepth(poolDepth);
5276  builder_.add_poolHeight(poolHeight);
5277  builder_.add_poolWidth(poolWidth);
5278  builder_.add_padBack(padBack);
5279  builder_.add_padFront(padFront);
5280  builder_.add_padBottom(padBottom);
5281  builder_.add_padTop(padTop);
5282  builder_.add_padRight(padRight);
5283  builder_.add_padLeft(padLeft);
5284  builder_.add_dataLayout(dataLayout);
5285  builder_.add_paddingMethod(paddingMethod);
5286  builder_.add_outputShapeRounding(outputShapeRounding);
5287  builder_.add_poolType(poolType);
5288  return builder_.Finish();
5289 }
5290 
5291 struct QuantizeLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5293  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5294  VT_BASE = 4
5295  };
5296  const armnnSerializer::LayerBase *base() const {
5297  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
5298  }
5299  bool Verify(flatbuffers::Verifier &verifier) const {
5300  return VerifyTableStart(verifier) &&
5301  VerifyOffset(verifier, VT_BASE) &&
5302  verifier.VerifyTable(base()) &&
5303  verifier.EndTable();
5304  }
5305 };
5306 
5308  typedef QuantizeLayer Table;
5309  flatbuffers::FlatBufferBuilder &fbb_;
5310  flatbuffers::uoffset_t start_;
5311  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
5312  fbb_.AddOffset(QuantizeLayer::VT_BASE, base);
5313  }
5314  explicit QuantizeLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5315  : fbb_(_fbb) {
5316  start_ = fbb_.StartTable();
5317  }
5318  QuantizeLayerBuilder &operator=(const QuantizeLayerBuilder &);
5319  flatbuffers::Offset<QuantizeLayer> Finish() {
5320  const auto end = fbb_.EndTable(start_);
5321  auto o = flatbuffers::Offset<QuantizeLayer>(end);
5322  return o;
5323  }
5324 };
5325 
5326 inline flatbuffers::Offset<QuantizeLayer> CreateQuantizeLayer(
5327  flatbuffers::FlatBufferBuilder &_fbb,
5328  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
5329  QuantizeLayerBuilder builder_(_fbb);
5330  builder_.add_base(base);
5331  return builder_.Finish();
5332 }
5333 
5334 struct SoftmaxLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5336  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5337  VT_BASE = 4,
5338  VT_DESCRIPTOR = 6
5339  };
5340  const armnnSerializer::LayerBase *base() const {
5341  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
5342  }
5343  const armnnSerializer::SoftmaxDescriptor *descriptor() const {
5344  return GetPointer<const armnnSerializer::SoftmaxDescriptor *>(VT_DESCRIPTOR);
5345  }
5346  bool Verify(flatbuffers::Verifier &verifier) const {
5347  return VerifyTableStart(verifier) &&
5348  VerifyOffset(verifier, VT_BASE) &&
5349  verifier.VerifyTable(base()) &&
5350  VerifyOffset(verifier, VT_DESCRIPTOR) &&
5351  verifier.VerifyTable(descriptor()) &&
5352  verifier.EndTable();
5353  }
5354 };
5355 
5357  typedef SoftmaxLayer Table;
5358  flatbuffers::FlatBufferBuilder &fbb_;
5359  flatbuffers::uoffset_t start_;
5360  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
5361  fbb_.AddOffset(SoftmaxLayer::VT_BASE, base);
5362  }
5363  void add_descriptor(flatbuffers::Offset<armnnSerializer::SoftmaxDescriptor> descriptor) {
5364  fbb_.AddOffset(SoftmaxLayer::VT_DESCRIPTOR, descriptor);
5365  }
5366  explicit SoftmaxLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5367  : fbb_(_fbb) {
5368  start_ = fbb_.StartTable();
5369  }
5370  SoftmaxLayerBuilder &operator=(const SoftmaxLayerBuilder &);
5371  flatbuffers::Offset<SoftmaxLayer> Finish() {
5372  const auto end = fbb_.EndTable(start_);
5373  auto o = flatbuffers::Offset<SoftmaxLayer>(end);
5374  return o;
5375  }
5376 };
5377 
5378 inline flatbuffers::Offset<SoftmaxLayer> CreateSoftmaxLayer(
5379  flatbuffers::FlatBufferBuilder &_fbb,
5380  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
5381  flatbuffers::Offset<armnnSerializer::SoftmaxDescriptor> descriptor = 0) {
5382  SoftmaxLayerBuilder builder_(_fbb);
5383  builder_.add_descriptor(descriptor);
5384  builder_.add_base(base);
5385  return builder_.Finish();
5386 }
5387 
5388 struct SoftmaxDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5390  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5391  VT_BETA = 4,
5392  VT_AXIS = 6
5393  };
5394  float beta() const {
5395  return GetField<float>(VT_BETA, 0.0f);
5396  }
5397  int32_t axis() const {
5398  return GetField<int32_t>(VT_AXIS, -1);
5399  }
5400  bool Verify(flatbuffers::Verifier &verifier) const {
5401  return VerifyTableStart(verifier) &&
5402  VerifyField<float>(verifier, VT_BETA) &&
5403  VerifyField<int32_t>(verifier, VT_AXIS) &&
5404  verifier.EndTable();
5405  }
5406 };
5407 
5409  typedef SoftmaxDescriptor Table;
5410  flatbuffers::FlatBufferBuilder &fbb_;
5411  flatbuffers::uoffset_t start_;
5412  void add_beta(float beta) {
5413  fbb_.AddElement<float>(SoftmaxDescriptor::VT_BETA, beta, 0.0f);
5414  }
5415  void add_axis(int32_t axis) {
5416  fbb_.AddElement<int32_t>(SoftmaxDescriptor::VT_AXIS, axis, -1);
5417  }
5418  explicit SoftmaxDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5419  : fbb_(_fbb) {
5420  start_ = fbb_.StartTable();
5421  }
5423  flatbuffers::Offset<SoftmaxDescriptor> Finish() {
5424  const auto end = fbb_.EndTable(start_);
5425  auto o = flatbuffers::Offset<SoftmaxDescriptor>(end);
5426  return o;
5427  }
5428 };
5429 
5430 inline flatbuffers::Offset<SoftmaxDescriptor> CreateSoftmaxDescriptor(
5431  flatbuffers::FlatBufferBuilder &_fbb,
5432  float beta = 0.0f,
5433  int32_t axis = -1) {
5434  SoftmaxDescriptorBuilder builder_(_fbb);
5435  builder_.add_axis(axis);
5436  builder_.add_beta(beta);
5437  return builder_.Finish();
5438 }
5439 
5440 struct DepthwiseConvolution2dLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5442  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5443  VT_BASE = 4,
5444  VT_DESCRIPTOR = 6,
5445  VT_WEIGHTS = 8,
5446  VT_BIASES = 10
5447  };
5448  const armnnSerializer::LayerBase *base() const {
5449  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
5450  }
5451  const armnnSerializer::DepthwiseConvolution2dDescriptor *descriptor() const {
5452  return GetPointer<const armnnSerializer::DepthwiseConvolution2dDescriptor *>(VT_DESCRIPTOR);
5453  }
5454  const armnnSerializer::ConstTensor *weights() const {
5455  return GetPointer<const armnnSerializer::ConstTensor *>(VT_WEIGHTS);
5456  }
5457  const armnnSerializer::ConstTensor *biases() const {
5458  return GetPointer<const armnnSerializer::ConstTensor *>(VT_BIASES);
5459  }
5460  bool Verify(flatbuffers::Verifier &verifier) const {
5461  return VerifyTableStart(verifier) &&
5462  VerifyOffset(verifier, VT_BASE) &&
5463  verifier.VerifyTable(base()) &&
5464  VerifyOffset(verifier, VT_DESCRIPTOR) &&
5465  verifier.VerifyTable(descriptor()) &&
5466  VerifyOffset(verifier, VT_WEIGHTS) &&
5467  verifier.VerifyTable(weights()) &&
5468  VerifyOffset(verifier, VT_BIASES) &&
5469  verifier.VerifyTable(biases()) &&
5470  verifier.EndTable();
5471  }
5472 };
5473 
5475  typedef DepthwiseConvolution2dLayer Table;
5476  flatbuffers::FlatBufferBuilder &fbb_;
5477  flatbuffers::uoffset_t start_;
5478  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
5479  fbb_.AddOffset(DepthwiseConvolution2dLayer::VT_BASE, base);
5480  }
5481  void add_descriptor(flatbuffers::Offset<armnnSerializer::DepthwiseConvolution2dDescriptor> descriptor) {
5482  fbb_.AddOffset(DepthwiseConvolution2dLayer::VT_DESCRIPTOR, descriptor);
5483  }
5484  void add_weights(flatbuffers::Offset<armnnSerializer::ConstTensor> weights) {
5485  fbb_.AddOffset(DepthwiseConvolution2dLayer::VT_WEIGHTS, weights);
5486  }
5487  void add_biases(flatbuffers::Offset<armnnSerializer::ConstTensor> biases) {
5488  fbb_.AddOffset(DepthwiseConvolution2dLayer::VT_BIASES, biases);
5489  }
5490  explicit DepthwiseConvolution2dLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5491  : fbb_(_fbb) {
5492  start_ = fbb_.StartTable();
5493  }
5495  flatbuffers::Offset<DepthwiseConvolution2dLayer> Finish() {
5496  const auto end = fbb_.EndTable(start_);
5497  auto o = flatbuffers::Offset<DepthwiseConvolution2dLayer>(end);
5498  return o;
5499  }
5500 };
5501 
5502 inline flatbuffers::Offset<DepthwiseConvolution2dLayer> CreateDepthwiseConvolution2dLayer(
5503  flatbuffers::FlatBufferBuilder &_fbb,
5504  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
5505  flatbuffers::Offset<armnnSerializer::DepthwiseConvolution2dDescriptor> descriptor = 0,
5506  flatbuffers::Offset<armnnSerializer::ConstTensor> weights = 0,
5507  flatbuffers::Offset<armnnSerializer::ConstTensor> biases = 0) {
5508  DepthwiseConvolution2dLayerBuilder builder_(_fbb);
5509  builder_.add_biases(biases);
5510  builder_.add_weights(weights);
5511  builder_.add_descriptor(descriptor);
5512  builder_.add_base(base);
5513  return builder_.Finish();
5514 }
5515 
5516 struct DepthwiseConvolution2dDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5518  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5519  VT_PADLEFT = 4,
5520  VT_PADRIGHT = 6,
5521  VT_PADTOP = 8,
5522  VT_PADBOTTOM = 10,
5523  VT_STRIDEX = 12,
5524  VT_STRIDEY = 14,
5525  VT_DILATIONX = 16,
5526  VT_DILATIONY = 18,
5527  VT_BIASENABLED = 20,
5528  VT_DATALAYOUT = 22
5529  };
5530  uint32_t padLeft() const {
5531  return GetField<uint32_t>(VT_PADLEFT, 0);
5532  }
5533  uint32_t padRight() const {
5534  return GetField<uint32_t>(VT_PADRIGHT, 0);
5535  }
5536  uint32_t padTop() const {
5537  return GetField<uint32_t>(VT_PADTOP, 0);
5538  }
5539  uint32_t padBottom() const {
5540  return GetField<uint32_t>(VT_PADBOTTOM, 0);
5541  }
5542  uint32_t strideX() const {
5543  return GetField<uint32_t>(VT_STRIDEX, 0);
5544  }
5545  uint32_t strideY() const {
5546  return GetField<uint32_t>(VT_STRIDEY, 0);
5547  }
5548  uint32_t dilationX() const {
5549  return GetField<uint32_t>(VT_DILATIONX, 1);
5550  }
5551  uint32_t dilationY() const {
5552  return GetField<uint32_t>(VT_DILATIONY, 1);
5553  }
5554  bool biasEnabled() const {
5555  return GetField<uint8_t>(VT_BIASENABLED, 0) != 0;
5556  }
5558  return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 1));
5559  }
5560  bool Verify(flatbuffers::Verifier &verifier) const {
5561  return VerifyTableStart(verifier) &&
5562  VerifyField<uint32_t>(verifier, VT_PADLEFT) &&
5563  VerifyField<uint32_t>(verifier, VT_PADRIGHT) &&
5564  VerifyField<uint32_t>(verifier, VT_PADTOP) &&
5565  VerifyField<uint32_t>(verifier, VT_PADBOTTOM) &&
5566  VerifyField<uint32_t>(verifier, VT_STRIDEX) &&
5567  VerifyField<uint32_t>(verifier, VT_STRIDEY) &&
5568  VerifyField<uint32_t>(verifier, VT_DILATIONX) &&
5569  VerifyField<uint32_t>(verifier, VT_DILATIONY) &&
5570  VerifyField<uint8_t>(verifier, VT_BIASENABLED) &&
5571  VerifyField<int8_t>(verifier, VT_DATALAYOUT) &&
5572  verifier.EndTable();
5573  }
5574 };
5575 
5577  typedef DepthwiseConvolution2dDescriptor Table;
5578  flatbuffers::FlatBufferBuilder &fbb_;
5579  flatbuffers::uoffset_t start_;
5580  void add_padLeft(uint32_t padLeft) {
5581  fbb_.AddElement<uint32_t>(DepthwiseConvolution2dDescriptor::VT_PADLEFT, padLeft, 0);
5582  }
5583  void add_padRight(uint32_t padRight) {
5584  fbb_.AddElement<uint32_t>(DepthwiseConvolution2dDescriptor::VT_PADRIGHT, padRight, 0);
5585  }
5586  void add_padTop(uint32_t padTop) {
5587  fbb_.AddElement<uint32_t>(DepthwiseConvolution2dDescriptor::VT_PADTOP, padTop, 0);
5588  }
5589  void add_padBottom(uint32_t padBottom) {
5590  fbb_.AddElement<uint32_t>(DepthwiseConvolution2dDescriptor::VT_PADBOTTOM, padBottom, 0);
5591  }
5592  void add_strideX(uint32_t strideX) {
5593  fbb_.AddElement<uint32_t>(DepthwiseConvolution2dDescriptor::VT_STRIDEX, strideX, 0);
5594  }
5595  void add_strideY(uint32_t strideY) {
5596  fbb_.AddElement<uint32_t>(DepthwiseConvolution2dDescriptor::VT_STRIDEY, strideY, 0);
5597  }
5598  void add_dilationX(uint32_t dilationX) {
5599  fbb_.AddElement<uint32_t>(DepthwiseConvolution2dDescriptor::VT_DILATIONX, dilationX, 1);
5600  }
5601  void add_dilationY(uint32_t dilationY) {
5602  fbb_.AddElement<uint32_t>(DepthwiseConvolution2dDescriptor::VT_DILATIONY, dilationY, 1);
5603  }
5604  void add_biasEnabled(bool biasEnabled) {
5605  fbb_.AddElement<uint8_t>(DepthwiseConvolution2dDescriptor::VT_BIASENABLED, static_cast<uint8_t>(biasEnabled), 0);
5606  }
5608  fbb_.AddElement<int8_t>(DepthwiseConvolution2dDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 1);
5609  }
5610  explicit DepthwiseConvolution2dDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5611  : fbb_(_fbb) {
5612  start_ = fbb_.StartTable();
5613  }
5615  flatbuffers::Offset<DepthwiseConvolution2dDescriptor> Finish() {
5616  const auto end = fbb_.EndTable(start_);
5617  auto o = flatbuffers::Offset<DepthwiseConvolution2dDescriptor>(end);
5618  return o;
5619  }
5620 };
5621 
5622 inline flatbuffers::Offset<DepthwiseConvolution2dDescriptor> CreateDepthwiseConvolution2dDescriptor(
5623  flatbuffers::FlatBufferBuilder &_fbb,
5624  uint32_t padLeft = 0,
5625  uint32_t padRight = 0,
5626  uint32_t padTop = 0,
5627  uint32_t padBottom = 0,
5628  uint32_t strideX = 0,
5629  uint32_t strideY = 0,
5630  uint32_t dilationX = 1,
5631  uint32_t dilationY = 1,
5632  bool biasEnabled = false,
5635  builder_.add_dilationY(dilationY);
5636  builder_.add_dilationX(dilationX);
5637  builder_.add_strideY(strideY);
5638  builder_.add_strideX(strideX);
5639  builder_.add_padBottom(padBottom);
5640  builder_.add_padTop(padTop);
5641  builder_.add_padRight(padRight);
5642  builder_.add_padLeft(padLeft);
5643  builder_.add_dataLayout(dataLayout);
5644  builder_.add_biasEnabled(biasEnabled);
5645  return builder_.Finish();
5646 }
5647 
5648 struct OutputLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5650  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5651  VT_BASE = 4
5652  };
5653  const armnnSerializer::BindableLayerBase *base() const {
5654  return GetPointer<const armnnSerializer::BindableLayerBase *>(VT_BASE);
5655  }
5656  bool Verify(flatbuffers::Verifier &verifier) const {
5657  return VerifyTableStart(verifier) &&
5658  VerifyOffset(verifier, VT_BASE) &&
5659  verifier.VerifyTable(base()) &&
5660  verifier.EndTable();
5661  }
5662 };
5663 
5665  typedef OutputLayer Table;
5666  flatbuffers::FlatBufferBuilder &fbb_;
5667  flatbuffers::uoffset_t start_;
5668  void add_base(flatbuffers::Offset<armnnSerializer::BindableLayerBase> base) {
5669  fbb_.AddOffset(OutputLayer::VT_BASE, base);
5670  }
5671  explicit OutputLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5672  : fbb_(_fbb) {
5673  start_ = fbb_.StartTable();
5674  }
5675  OutputLayerBuilder &operator=(const OutputLayerBuilder &);
5676  flatbuffers::Offset<OutputLayer> Finish() {
5677  const auto end = fbb_.EndTable(start_);
5678  auto o = flatbuffers::Offset<OutputLayer>(end);
5679  return o;
5680  }
5681 };
5682 
5683 inline flatbuffers::Offset<OutputLayer> CreateOutputLayer(
5684  flatbuffers::FlatBufferBuilder &_fbb,
5685  flatbuffers::Offset<armnnSerializer::BindableLayerBase> base = 0) {
5686  OutputLayerBuilder builder_(_fbb);
5687  builder_.add_base(base);
5688  return builder_.Finish();
5689 }
5690 
5691 struct ReshapeLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5693  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5694  VT_BASE = 4,
5695  VT_DESCRIPTOR = 6
5696  };
5697  const armnnSerializer::LayerBase *base() const {
5698  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
5699  }
5700  const armnnSerializer::ReshapeDescriptor *descriptor() const {
5701  return GetPointer<const armnnSerializer::ReshapeDescriptor *>(VT_DESCRIPTOR);
5702  }
5703  bool Verify(flatbuffers::Verifier &verifier) const {
5704  return VerifyTableStart(verifier) &&
5705  VerifyOffset(verifier, VT_BASE) &&
5706  verifier.VerifyTable(base()) &&
5707  VerifyOffset(verifier, VT_DESCRIPTOR) &&
5708  verifier.VerifyTable(descriptor()) &&
5709  verifier.EndTable();
5710  }
5711 };
5712 
5714  typedef ReshapeLayer Table;
5715  flatbuffers::FlatBufferBuilder &fbb_;
5716  flatbuffers::uoffset_t start_;
5717  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
5718  fbb_.AddOffset(ReshapeLayer::VT_BASE, base);
5719  }
5720  void add_descriptor(flatbuffers::Offset<armnnSerializer::ReshapeDescriptor> descriptor) {
5721  fbb_.AddOffset(ReshapeLayer::VT_DESCRIPTOR, descriptor);
5722  }
5723  explicit ReshapeLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5724  : fbb_(_fbb) {
5725  start_ = fbb_.StartTable();
5726  }
5727  ReshapeLayerBuilder &operator=(const ReshapeLayerBuilder &);
5728  flatbuffers::Offset<ReshapeLayer> Finish() {
5729  const auto end = fbb_.EndTable(start_);
5730  auto o = flatbuffers::Offset<ReshapeLayer>(end);
5731  return o;
5732  }
5733 };
5734 
5735 inline flatbuffers::Offset<ReshapeLayer> CreateReshapeLayer(
5736  flatbuffers::FlatBufferBuilder &_fbb,
5737  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
5738  flatbuffers::Offset<armnnSerializer::ReshapeDescriptor> descriptor = 0) {
5739  ReshapeLayerBuilder builder_(_fbb);
5740  builder_.add_descriptor(descriptor);
5741  builder_.add_base(base);
5742  return builder_.Finish();
5743 }
5744 
5745 struct ReshapeDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5747  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5748  VT_TARGETSHAPE = 4
5749  };
5750  const flatbuffers::Vector<uint32_t> *targetShape() const {
5751  return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_TARGETSHAPE);
5752  }
5753  bool Verify(flatbuffers::Verifier &verifier) const {
5754  return VerifyTableStart(verifier) &&
5755  VerifyOffset(verifier, VT_TARGETSHAPE) &&
5756  verifier.VerifyVector(targetShape()) &&
5757  verifier.EndTable();
5758  }
5759 };
5760 
5762  typedef ReshapeDescriptor Table;
5763  flatbuffers::FlatBufferBuilder &fbb_;
5764  flatbuffers::uoffset_t start_;
5765  void add_targetShape(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> targetShape) {
5766  fbb_.AddOffset(ReshapeDescriptor::VT_TARGETSHAPE, targetShape);
5767  }
5768  explicit ReshapeDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5769  : fbb_(_fbb) {
5770  start_ = fbb_.StartTable();
5771  }
5773  flatbuffers::Offset<ReshapeDescriptor> Finish() {
5774  const auto end = fbb_.EndTable(start_);
5775  auto o = flatbuffers::Offset<ReshapeDescriptor>(end);
5776  return o;
5777  }
5778 };
5779 
5780 inline flatbuffers::Offset<ReshapeDescriptor> CreateReshapeDescriptor(
5781  flatbuffers::FlatBufferBuilder &_fbb,
5782  flatbuffers::Offset<flatbuffers::Vector<uint32_t>> targetShape = 0) {
5783  ReshapeDescriptorBuilder builder_(_fbb);
5784  builder_.add_targetShape(targetShape);
5785  return builder_.Finish();
5786 }
5787 
5788 inline flatbuffers::Offset<ReshapeDescriptor> CreateReshapeDescriptorDirect(
5789  flatbuffers::FlatBufferBuilder &_fbb,
5790  const std::vector<uint32_t> *targetShape = nullptr) {
5791  auto targetShape__ = targetShape ? _fbb.CreateVector<uint32_t>(*targetShape) : 0;
5793  _fbb,
5794  targetShape__);
5795 }
5796 
5797 struct PermuteLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5799  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5800  VT_BASE = 4,
5801  VT_DESCRIPTOR = 6
5802  };
5803  const armnnSerializer::LayerBase *base() const {
5804  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
5805  }
5806  const armnnSerializer::PermuteDescriptor *descriptor() const {
5807  return GetPointer<const armnnSerializer::PermuteDescriptor *>(VT_DESCRIPTOR);
5808  }
5809  bool Verify(flatbuffers::Verifier &verifier) const {
5810  return VerifyTableStart(verifier) &&
5811  VerifyOffset(verifier, VT_BASE) &&
5812  verifier.VerifyTable(base()) &&
5813  VerifyOffset(verifier, VT_DESCRIPTOR) &&
5814  verifier.VerifyTable(descriptor()) &&
5815  verifier.EndTable();
5816  }
5817 };
5818 
5820  typedef PermuteLayer Table;
5821  flatbuffers::FlatBufferBuilder &fbb_;
5822  flatbuffers::uoffset_t start_;
5823  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
5824  fbb_.AddOffset(PermuteLayer::VT_BASE, base);
5825  }
5826  void add_descriptor(flatbuffers::Offset<armnnSerializer::PermuteDescriptor> descriptor) {
5827  fbb_.AddOffset(PermuteLayer::VT_DESCRIPTOR, descriptor);
5828  }
5829  explicit PermuteLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5830  : fbb_(_fbb) {
5831  start_ = fbb_.StartTable();
5832  }
5833  PermuteLayerBuilder &operator=(const PermuteLayerBuilder &);
5834  flatbuffers::Offset<PermuteLayer> Finish() {
5835  const auto end = fbb_.EndTable(start_);
5836  auto o = flatbuffers::Offset<PermuteLayer>(end);
5837  return o;
5838  }
5839 };
5840 
5841 inline flatbuffers::Offset<PermuteLayer> CreatePermuteLayer(
5842  flatbuffers::FlatBufferBuilder &_fbb,
5843  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
5844  flatbuffers::Offset<armnnSerializer::PermuteDescriptor> descriptor = 0) {
5845  PermuteLayerBuilder builder_(_fbb);
5846  builder_.add_descriptor(descriptor);
5847  builder_.add_base(base);
5848  return builder_.Finish();
5849 }
5850 
5851 struct PermuteDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5853  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5854  VT_DIMMAPPINGS = 4
5855  };
5856  const flatbuffers::Vector<uint32_t> *dimMappings() const {
5857  return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_DIMMAPPINGS);
5858  }
5859  bool Verify(flatbuffers::Verifier &verifier) const {
5860  return VerifyTableStart(verifier) &&
5861  VerifyOffset(verifier, VT_DIMMAPPINGS) &&
5862  verifier.VerifyVector(dimMappings()) &&
5863  verifier.EndTable();
5864  }
5865 };
5866 
5868  typedef PermuteDescriptor Table;
5869  flatbuffers::FlatBufferBuilder &fbb_;
5870  flatbuffers::uoffset_t start_;
5871  void add_dimMappings(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> dimMappings) {
5872  fbb_.AddOffset(PermuteDescriptor::VT_DIMMAPPINGS, dimMappings);
5873  }
5874  explicit PermuteDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5875  : fbb_(_fbb) {
5876  start_ = fbb_.StartTable();
5877  }
5879  flatbuffers::Offset<PermuteDescriptor> Finish() {
5880  const auto end = fbb_.EndTable(start_);
5881  auto o = flatbuffers::Offset<PermuteDescriptor>(end);
5882  return o;
5883  }
5884 };
5885 
5886 inline flatbuffers::Offset<PermuteDescriptor> CreatePermuteDescriptor(
5887  flatbuffers::FlatBufferBuilder &_fbb,
5888  flatbuffers::Offset<flatbuffers::Vector<uint32_t>> dimMappings = 0) {
5889  PermuteDescriptorBuilder builder_(_fbb);
5890  builder_.add_dimMappings(dimMappings);
5891  return builder_.Finish();
5892 }
5893 
5894 inline flatbuffers::Offset<PermuteDescriptor> CreatePermuteDescriptorDirect(
5895  flatbuffers::FlatBufferBuilder &_fbb,
5896  const std::vector<uint32_t> *dimMappings = nullptr) {
5897  auto dimMappings__ = dimMappings ? _fbb.CreateVector<uint32_t>(*dimMappings) : 0;
5899  _fbb,
5900  dimMappings__);
5901 }
5902 
5903 struct ShapeLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5905  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5906  VT_BASE = 4
5907  };
5908  const armnnSerializer::LayerBase *base() const {
5909  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
5910  }
5911  bool Verify(flatbuffers::Verifier &verifier) const {
5912  return VerifyTableStart(verifier) &&
5913  VerifyOffset(verifier, VT_BASE) &&
5914  verifier.VerifyTable(base()) &&
5915  verifier.EndTable();
5916  }
5917 };
5918 
5920  typedef ShapeLayer Table;
5921  flatbuffers::FlatBufferBuilder &fbb_;
5922  flatbuffers::uoffset_t start_;
5923  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
5924  fbb_.AddOffset(ShapeLayer::VT_BASE, base);
5925  }
5926  explicit ShapeLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5927  : fbb_(_fbb) {
5928  start_ = fbb_.StartTable();
5929  }
5930  ShapeLayerBuilder &operator=(const ShapeLayerBuilder &);
5931  flatbuffers::Offset<ShapeLayer> Finish() {
5932  const auto end = fbb_.EndTable(start_);
5933  auto o = flatbuffers::Offset<ShapeLayer>(end);
5934  return o;
5935  }
5936 };
5937 
5938 inline flatbuffers::Offset<ShapeLayer> CreateShapeLayer(
5939  flatbuffers::FlatBufferBuilder &_fbb,
5940  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
5941  ShapeLayerBuilder builder_(_fbb);
5942  builder_.add_base(base);
5943  return builder_.Finish();
5944 }
5945 
5946 struct SpaceToBatchNdLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5948  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5949  VT_BASE = 4,
5950  VT_DESCRIPTOR = 6
5951  };
5952  const armnnSerializer::LayerBase *base() const {
5953  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
5954  }
5955  const armnnSerializer::SpaceToBatchNdDescriptor *descriptor() const {
5956  return GetPointer<const armnnSerializer::SpaceToBatchNdDescriptor *>(VT_DESCRIPTOR);
5957  }
5958  bool Verify(flatbuffers::Verifier &verifier) const {
5959  return VerifyTableStart(verifier) &&
5960  VerifyOffset(verifier, VT_BASE) &&
5961  verifier.VerifyTable(base()) &&
5962  VerifyOffset(verifier, VT_DESCRIPTOR) &&
5963  verifier.VerifyTable(descriptor()) &&
5964  verifier.EndTable();
5965  }
5966 };
5967 
5969  typedef SpaceToBatchNdLayer Table;
5970  flatbuffers::FlatBufferBuilder &fbb_;
5971  flatbuffers::uoffset_t start_;
5972  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
5973  fbb_.AddOffset(SpaceToBatchNdLayer::VT_BASE, base);
5974  }
5975  void add_descriptor(flatbuffers::Offset<armnnSerializer::SpaceToBatchNdDescriptor> descriptor) {
5976  fbb_.AddOffset(SpaceToBatchNdLayer::VT_DESCRIPTOR, descriptor);
5977  }
5978  explicit SpaceToBatchNdLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5979  : fbb_(_fbb) {
5980  start_ = fbb_.StartTable();
5981  }
5983  flatbuffers::Offset<SpaceToBatchNdLayer> Finish() {
5984  const auto end = fbb_.EndTable(start_);
5985  auto o = flatbuffers::Offset<SpaceToBatchNdLayer>(end);
5986  return o;
5987  }
5988 };
5989 
5990 inline flatbuffers::Offset<SpaceToBatchNdLayer> CreateSpaceToBatchNdLayer(
5991  flatbuffers::FlatBufferBuilder &_fbb,
5992  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
5993  flatbuffers::Offset<armnnSerializer::SpaceToBatchNdDescriptor> descriptor = 0) {
5994  SpaceToBatchNdLayerBuilder builder_(_fbb);
5995  builder_.add_descriptor(descriptor);
5996  builder_.add_base(base);
5997  return builder_.Finish();
5998 }
5999 
6000 struct SpaceToBatchNdDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6002  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6005  VT_DATALAYOUT = 8
6006  };
6007  const flatbuffers::Vector<uint32_t> *blockShape() const {
6008  return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_BLOCKSHAPE);
6009  }
6010  const flatbuffers::Vector<uint32_t> *padList() const {
6011  return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_PADLIST);
6012  }
6014  return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 0));
6015  }
6016  bool Verify(flatbuffers::Verifier &verifier) const {
6017  return VerifyTableStart(verifier) &&
6018  VerifyOffset(verifier, VT_BLOCKSHAPE) &&
6019  verifier.VerifyVector(blockShape()) &&
6020  VerifyOffset(verifier, VT_PADLIST) &&
6021  verifier.VerifyVector(padList()) &&
6022  VerifyField<int8_t>(verifier, VT_DATALAYOUT) &&
6023  verifier.EndTable();
6024  }
6025 };
6026 
6028  typedef SpaceToBatchNdDescriptor Table;
6029  flatbuffers::FlatBufferBuilder &fbb_;
6030  flatbuffers::uoffset_t start_;
6031  void add_blockShape(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> blockShape) {
6032  fbb_.AddOffset(SpaceToBatchNdDescriptor::VT_BLOCKSHAPE, blockShape);
6033  }
6034  void add_padList(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> padList) {
6035  fbb_.AddOffset(SpaceToBatchNdDescriptor::VT_PADLIST, padList);
6036  }
6038  fbb_.AddElement<int8_t>(SpaceToBatchNdDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 0);
6039  }
6040  explicit SpaceToBatchNdDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6041  : fbb_(_fbb) {
6042  start_ = fbb_.StartTable();
6043  }
6045  flatbuffers::Offset<SpaceToBatchNdDescriptor> Finish() {
6046  const auto end = fbb_.EndTable(start_);
6047  auto o = flatbuffers::Offset<SpaceToBatchNdDescriptor>(end);
6048  return o;
6049  }
6050 };
6051 
6052 inline flatbuffers::Offset<SpaceToBatchNdDescriptor> CreateSpaceToBatchNdDescriptor(
6053  flatbuffers::FlatBufferBuilder &_fbb,
6054  flatbuffers::Offset<flatbuffers::Vector<uint32_t>> blockShape = 0,
6055  flatbuffers::Offset<flatbuffers::Vector<uint32_t>> padList = 0,
6057  SpaceToBatchNdDescriptorBuilder builder_(_fbb);
6058  builder_.add_padList(padList);
6059  builder_.add_blockShape(blockShape);
6060  builder_.add_dataLayout(dataLayout);
6061  return builder_.Finish();
6062 }
6063 
6064 inline flatbuffers::Offset<SpaceToBatchNdDescriptor> CreateSpaceToBatchNdDescriptorDirect(
6065  flatbuffers::FlatBufferBuilder &_fbb,
6066  const std::vector<uint32_t> *blockShape = nullptr,
6067  const std::vector<uint32_t> *padList = nullptr,
6069  auto blockShape__ = blockShape ? _fbb.CreateVector<uint32_t>(*blockShape) : 0;
6070  auto padList__ = padList ? _fbb.CreateVector<uint32_t>(*padList) : 0;
6072  _fbb,
6073  blockShape__,
6074  padList__,
6075  dataLayout);
6076 }
6077 
6078 struct SpaceToDepthLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6080  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6081  VT_BASE = 4,
6082  VT_DESCRIPTOR = 6
6083  };
6084  const armnnSerializer::LayerBase *base() const {
6085  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
6086  }
6087  const armnnSerializer::SpaceToDepthDescriptor *descriptor() const {
6088  return GetPointer<const armnnSerializer::SpaceToDepthDescriptor *>(VT_DESCRIPTOR);
6089  }
6090  bool Verify(flatbuffers::Verifier &verifier) const {
6091  return VerifyTableStart(verifier) &&
6092  VerifyOffset(verifier, VT_BASE) &&
6093  verifier.VerifyTable(base()) &&
6094  VerifyOffset(verifier, VT_DESCRIPTOR) &&
6095  verifier.VerifyTable(descriptor()) &&
6096  verifier.EndTable();
6097  }
6098 };
6099 
6101  typedef SpaceToDepthLayer Table;
6102  flatbuffers::FlatBufferBuilder &fbb_;
6103  flatbuffers::uoffset_t start_;
6104  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
6105  fbb_.AddOffset(SpaceToDepthLayer::VT_BASE, base);
6106  }
6107  void add_descriptor(flatbuffers::Offset<armnnSerializer::SpaceToDepthDescriptor> descriptor) {
6108  fbb_.AddOffset(SpaceToDepthLayer::VT_DESCRIPTOR, descriptor);
6109  }
6110  explicit SpaceToDepthLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6111  : fbb_(_fbb) {
6112  start_ = fbb_.StartTable();
6113  }
6115  flatbuffers::Offset<SpaceToDepthLayer> Finish() {
6116  const auto end = fbb_.EndTable(start_);
6117  auto o = flatbuffers::Offset<SpaceToDepthLayer>(end);
6118  return o;
6119  }
6120 };
6121 
6122 inline flatbuffers::Offset<SpaceToDepthLayer> CreateSpaceToDepthLayer(
6123  flatbuffers::FlatBufferBuilder &_fbb,
6124  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
6125  flatbuffers::Offset<armnnSerializer::SpaceToDepthDescriptor> descriptor = 0) {
6126  SpaceToDepthLayerBuilder builder_(_fbb);
6127  builder_.add_descriptor(descriptor);
6128  builder_.add_base(base);
6129  return builder_.Finish();
6130 }
6131 
6132 struct SpaceToDepthDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6134  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6135  VT_BLOCKSIZE = 4,
6136  VT_DATALAYOUT = 6
6137  };
6138  uint32_t blockSize() const {
6139  return GetField<uint32_t>(VT_BLOCKSIZE, 0);
6140  }
6142  return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 0));
6143  }
6144  bool Verify(flatbuffers::Verifier &verifier) const {
6145  return VerifyTableStart(verifier) &&
6146  VerifyField<uint32_t>(verifier, VT_BLOCKSIZE) &&
6147  VerifyField<int8_t>(verifier, VT_DATALAYOUT) &&
6148  verifier.EndTable();
6149  }
6150 };
6151 
6153  typedef SpaceToDepthDescriptor Table;
6154  flatbuffers::FlatBufferBuilder &fbb_;
6155  flatbuffers::uoffset_t start_;
6156  void add_blockSize(uint32_t blockSize) {
6157  fbb_.AddElement<uint32_t>(SpaceToDepthDescriptor::VT_BLOCKSIZE, blockSize, 0);
6158  }
6160  fbb_.AddElement<int8_t>(SpaceToDepthDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 0);
6161  }
6162  explicit SpaceToDepthDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6163  : fbb_(_fbb) {
6164  start_ = fbb_.StartTable();
6165  }
6167  flatbuffers::Offset<SpaceToDepthDescriptor> Finish() {
6168  const auto end = fbb_.EndTable(start_);
6169  auto o = flatbuffers::Offset<SpaceToDepthDescriptor>(end);
6170  return o;
6171  }
6172 };
6173 
6174 inline flatbuffers::Offset<SpaceToDepthDescriptor> CreateSpaceToDepthDescriptor(
6175  flatbuffers::FlatBufferBuilder &_fbb,
6176  uint32_t blockSize = 0,
6178  SpaceToDepthDescriptorBuilder builder_(_fbb);
6179  builder_.add_blockSize(blockSize);
6180  builder_.add_dataLayout(dataLayout);
6181  return builder_.Finish();
6182 }
6183 
6184 struct SubtractionLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6186  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6187  VT_BASE = 4
6188  };
6189  const armnnSerializer::LayerBase *base() const {
6190  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
6191  }
6192  bool Verify(flatbuffers::Verifier &verifier) const {
6193  return VerifyTableStart(verifier) &&
6194  VerifyOffset(verifier, VT_BASE) &&
6195  verifier.VerifyTable(base()) &&
6196  verifier.EndTable();
6197  }
6198 };
6199 
6201  typedef SubtractionLayer Table;
6202  flatbuffers::FlatBufferBuilder &fbb_;
6203  flatbuffers::uoffset_t start_;
6204  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
6205  fbb_.AddOffset(SubtractionLayer::VT_BASE, base);
6206  }
6207  explicit SubtractionLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6208  : fbb_(_fbb) {
6209  start_ = fbb_.StartTable();
6210  }
6212  flatbuffers::Offset<SubtractionLayer> Finish() {
6213  const auto end = fbb_.EndTable(start_);
6214  auto o = flatbuffers::Offset<SubtractionLayer>(end);
6215  return o;
6216  }
6217 };
6218 
6219 inline flatbuffers::Offset<SubtractionLayer> CreateSubtractionLayer(
6220  flatbuffers::FlatBufferBuilder &_fbb,
6221  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
6222  SubtractionLayerBuilder builder_(_fbb);
6223  builder_.add_base(base);
6224  return builder_.Finish();
6225 }
6226 
6227 struct BatchToSpaceNdLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6229  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6230  VT_BASE = 4,
6231  VT_DESCRIPTOR = 6
6232  };
6233  const armnnSerializer::LayerBase *base() const {
6234  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
6235  }
6236  const armnnSerializer::BatchToSpaceNdDescriptor *descriptor() const {
6237  return GetPointer<const armnnSerializer::BatchToSpaceNdDescriptor *>(VT_DESCRIPTOR);
6238  }
6239  bool Verify(flatbuffers::Verifier &verifier) const {
6240  return VerifyTableStart(verifier) &&
6241  VerifyOffset(verifier, VT_BASE) &&
6242  verifier.VerifyTable(base()) &&
6243  VerifyOffset(verifier, VT_DESCRIPTOR) &&
6244  verifier.VerifyTable(descriptor()) &&
6245  verifier.EndTable();
6246  }
6247 };
6248 
6250  typedef BatchToSpaceNdLayer Table;
6251  flatbuffers::FlatBufferBuilder &fbb_;
6252  flatbuffers::uoffset_t start_;
6253  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
6254  fbb_.AddOffset(BatchToSpaceNdLayer::VT_BASE, base);
6255  }
6256  void add_descriptor(flatbuffers::Offset<armnnSerializer::BatchToSpaceNdDescriptor> descriptor) {
6257  fbb_.AddOffset(BatchToSpaceNdLayer::VT_DESCRIPTOR, descriptor);
6258  }
6259  explicit BatchToSpaceNdLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6260  : fbb_(_fbb) {
6261  start_ = fbb_.StartTable();
6262  }
6264  flatbuffers::Offset<BatchToSpaceNdLayer> Finish() {
6265  const auto end = fbb_.EndTable(start_);
6266  auto o = flatbuffers::Offset<BatchToSpaceNdLayer>(end);
6267  return o;
6268  }
6269 };
6270 
6271 inline flatbuffers::Offset<BatchToSpaceNdLayer> CreateBatchToSpaceNdLayer(
6272  flatbuffers::FlatBufferBuilder &_fbb,
6273  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
6274  flatbuffers::Offset<armnnSerializer::BatchToSpaceNdDescriptor> descriptor = 0) {
6275  BatchToSpaceNdLayerBuilder builder_(_fbb);
6276  builder_.add_descriptor(descriptor);
6277  builder_.add_base(base);
6278  return builder_.Finish();
6279 }
6280 
6281 struct BatchToSpaceNdDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6283  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6284  VT_BLOCKSHAPE = 4,
6286  VT_DATALAYOUT = 8
6287  };
6288  const flatbuffers::Vector<uint32_t> *blockShape() const {
6289  return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_BLOCKSHAPE);
6290  }
6291  const flatbuffers::Vector<uint32_t> *crops() const {
6292  return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_CROPS);
6293  }
6295  return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 0));
6296  }
6297  bool Verify(flatbuffers::Verifier &verifier) const {
6298  return VerifyTableStart(verifier) &&
6299  VerifyOffset(verifier, VT_BLOCKSHAPE) &&
6300  verifier.VerifyVector(blockShape()) &&
6301  VerifyOffset(verifier, VT_CROPS) &&
6302  verifier.VerifyVector(crops()) &&
6303  VerifyField<int8_t>(verifier, VT_DATALAYOUT) &&
6304  verifier.EndTable();
6305  }
6306 };
6307 
6309  typedef BatchToSpaceNdDescriptor Table;
6310  flatbuffers::FlatBufferBuilder &fbb_;
6311  flatbuffers::uoffset_t start_;
6312  void add_blockShape(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> blockShape) {
6313  fbb_.AddOffset(BatchToSpaceNdDescriptor::VT_BLOCKSHAPE, blockShape);
6314  }
6315  void add_crops(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> crops) {
6316  fbb_.AddOffset(BatchToSpaceNdDescriptor::VT_CROPS, crops);
6317  }
6319  fbb_.AddElement<int8_t>(BatchToSpaceNdDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 0);
6320  }
6321  explicit BatchToSpaceNdDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6322  : fbb_(_fbb) {
6323  start_ = fbb_.StartTable();
6324  }
6326  flatbuffers::Offset<BatchToSpaceNdDescriptor> Finish() {
6327  const auto end = fbb_.EndTable(start_);
6328  auto o = flatbuffers::Offset<BatchToSpaceNdDescriptor>(end);
6329  return o;
6330  }
6331 };
6332 
6333 inline flatbuffers::Offset<BatchToSpaceNdDescriptor> CreateBatchToSpaceNdDescriptor(
6334  flatbuffers::FlatBufferBuilder &_fbb,
6335  flatbuffers::Offset<flatbuffers::Vector<uint32_t>> blockShape = 0,
6336  flatbuffers::Offset<flatbuffers::Vector<uint32_t>> crops = 0,
6338  BatchToSpaceNdDescriptorBuilder builder_(_fbb);
6339  builder_.add_crops(crops);
6340  builder_.add_blockShape(blockShape);
6341  builder_.add_dataLayout(dataLayout);
6342  return builder_.Finish();
6343 }
6344 
6345 inline flatbuffers::Offset<BatchToSpaceNdDescriptor> CreateBatchToSpaceNdDescriptorDirect(
6346  flatbuffers::FlatBufferBuilder &_fbb,
6347  const std::vector<uint32_t> *blockShape = nullptr,
6348  const std::vector<uint32_t> *crops = nullptr,
6350  auto blockShape__ = blockShape ? _fbb.CreateVector<uint32_t>(*blockShape) : 0;
6351  auto crops__ = crops ? _fbb.CreateVector<uint32_t>(*crops) : 0;
6353  _fbb,
6354  blockShape__,
6355  crops__,
6356  dataLayout);
6357 }
6358 
6359 struct NormalizationLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6361  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6362  VT_BASE = 4,
6363  VT_DESCRIPTOR = 6
6364  };
6365  const armnnSerializer::LayerBase *base() const {
6366  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
6367  }
6368  const armnnSerializer::NormalizationDescriptor *descriptor() const {
6369  return GetPointer<const armnnSerializer::NormalizationDescriptor *>(VT_DESCRIPTOR);
6370  }
6371  bool Verify(flatbuffers::Verifier &verifier) const {
6372  return VerifyTableStart(verifier) &&
6373  VerifyOffset(verifier, VT_BASE) &&
6374  verifier.VerifyTable(base()) &&
6375  VerifyOffset(verifier, VT_DESCRIPTOR) &&
6376  verifier.VerifyTable(descriptor()) &&
6377  verifier.EndTable();
6378  }
6379 };
6380 
6382  typedef NormalizationLayer Table;
6383  flatbuffers::FlatBufferBuilder &fbb_;
6384  flatbuffers::uoffset_t start_;
6385  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
6386  fbb_.AddOffset(NormalizationLayer::VT_BASE, base);
6387  }
6388  void add_descriptor(flatbuffers::Offset<armnnSerializer::NormalizationDescriptor> descriptor) {
6389  fbb_.AddOffset(NormalizationLayer::VT_DESCRIPTOR, descriptor);
6390  }
6391  explicit NormalizationLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6392  : fbb_(_fbb) {
6393  start_ = fbb_.StartTable();
6394  }
6396  flatbuffers::Offset<NormalizationLayer> Finish() {
6397  const auto end = fbb_.EndTable(start_);
6398  auto o = flatbuffers::Offset<NormalizationLayer>(end);
6399  return o;
6400  }
6401 };
6402 
6403 inline flatbuffers::Offset<NormalizationLayer> CreateNormalizationLayer(
6404  flatbuffers::FlatBufferBuilder &_fbb,
6405  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
6406  flatbuffers::Offset<armnnSerializer::NormalizationDescriptor> descriptor = 0) {
6407  NormalizationLayerBuilder builder_(_fbb);
6408  builder_.add_descriptor(descriptor);
6409  builder_.add_base(base);
6410  return builder_.Finish();
6411 }
6412 
6413 struct NormalizationDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6415  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6419  VT_ALPHA = 10,
6420  VT_BETA = 12,
6421  VT_K = 14,
6422  VT_DATALAYOUT = 16
6423  };
6425  return static_cast<armnnSerializer::NormalizationAlgorithmChannel>(GetField<int8_t>(VT_NORMCHANNELTYPE, 0));
6426  }
6428  return static_cast<armnnSerializer::NormalizationAlgorithmMethod>(GetField<int8_t>(VT_NORMMETHODTYPE, 0));
6429  }
6430  uint32_t normSize() const {
6431  return GetField<uint32_t>(VT_NORMSIZE, 0);
6432  }
6433  float alpha() const {
6434  return GetField<float>(VT_ALPHA, 0.0f);
6435  }
6436  float beta() const {
6437  return GetField<float>(VT_BETA, 0.0f);
6438  }
6439  float k() const {
6440  return GetField<float>(VT_K, 0.0f);
6441  }
6443  return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 1));
6444  }
6445  bool Verify(flatbuffers::Verifier &verifier) const {
6446  return VerifyTableStart(verifier) &&
6447  VerifyField<int8_t>(verifier, VT_NORMCHANNELTYPE) &&
6448  VerifyField<int8_t>(verifier, VT_NORMMETHODTYPE) &&
6449  VerifyField<uint32_t>(verifier, VT_NORMSIZE) &&
6450  VerifyField<float>(verifier, VT_ALPHA) &&
6451  VerifyField<float>(verifier, VT_BETA) &&
6452  VerifyField<float>(verifier, VT_K) &&
6453  VerifyField<int8_t>(verifier, VT_DATALAYOUT) &&
6454  verifier.EndTable();
6455  }
6456 };
6457 
6459  typedef NormalizationDescriptor Table;
6460  flatbuffers::FlatBufferBuilder &fbb_;
6461  flatbuffers::uoffset_t start_;
6463  fbb_.AddElement<int8_t>(NormalizationDescriptor::VT_NORMCHANNELTYPE, static_cast<int8_t>(normChannelType), 0);
6464  }
6466  fbb_.AddElement<int8_t>(NormalizationDescriptor::VT_NORMMETHODTYPE, static_cast<int8_t>(normMethodType), 0);
6467  }
6468  void add_normSize(uint32_t normSize) {
6469  fbb_.AddElement<uint32_t>(NormalizationDescriptor::VT_NORMSIZE, normSize, 0);
6470  }
6471  void add_alpha(float alpha) {
6472  fbb_.AddElement<float>(NormalizationDescriptor::VT_ALPHA, alpha, 0.0f);
6473  }
6474  void add_beta(float beta) {
6475  fbb_.AddElement<float>(NormalizationDescriptor::VT_BETA, beta, 0.0f);
6476  }
6477  void add_k(float k) {
6478  fbb_.AddElement<float>(NormalizationDescriptor::VT_K, k, 0.0f);
6479  }
6481  fbb_.AddElement<int8_t>(NormalizationDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 1);
6482  }
6483  explicit NormalizationDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6484  : fbb_(_fbb) {
6485  start_ = fbb_.StartTable();
6486  }
6488  flatbuffers::Offset<NormalizationDescriptor> Finish() {
6489  const auto end = fbb_.EndTable(start_);
6490  auto o = flatbuffers::Offset<NormalizationDescriptor>(end);
6491  return o;
6492  }
6493 };
6494 
6495 inline flatbuffers::Offset<NormalizationDescriptor> CreateNormalizationDescriptor(
6496  flatbuffers::FlatBufferBuilder &_fbb,
6499  uint32_t normSize = 0,
6500  float alpha = 0.0f,
6501  float beta = 0.0f,
6502  float k = 0.0f,
6504  NormalizationDescriptorBuilder builder_(_fbb);
6505  builder_.add_k(k);
6506  builder_.add_beta(beta);
6507  builder_.add_alpha(alpha);
6508  builder_.add_normSize(normSize);
6509  builder_.add_dataLayout(dataLayout);
6510  builder_.add_normMethodType(normMethodType);
6511  builder_.add_normChannelType(normChannelType);
6512  return builder_.Finish();
6513 }
6514 
6515 struct MeanLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6517  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6518  VT_BASE = 4,
6519  VT_DESCRIPTOR = 6
6520  };
6521  const armnnSerializer::LayerBase *base() const {
6522  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
6523  }
6524  const armnnSerializer::MeanDescriptor *descriptor() const {
6525  return GetPointer<const armnnSerializer::MeanDescriptor *>(VT_DESCRIPTOR);
6526  }
6527  bool Verify(flatbuffers::Verifier &verifier) const {
6528  return VerifyTableStart(verifier) &&
6529  VerifyOffset(verifier, VT_BASE) &&
6530  verifier.VerifyTable(base()) &&
6531  VerifyOffset(verifier, VT_DESCRIPTOR) &&
6532  verifier.VerifyTable(descriptor()) &&
6533  verifier.EndTable();
6534  }
6535 };
6536 
6538  typedef MeanLayer Table;
6539  flatbuffers::FlatBufferBuilder &fbb_;
6540  flatbuffers::uoffset_t start_;
6541  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
6542  fbb_.AddOffset(MeanLayer::VT_BASE, base);
6543  }
6544  void add_descriptor(flatbuffers::Offset<armnnSerializer::MeanDescriptor> descriptor) {
6545  fbb_.AddOffset(MeanLayer::VT_DESCRIPTOR, descriptor);
6546  }
6547  explicit MeanLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6548  : fbb_(_fbb) {
6549  start_ = fbb_.StartTable();
6550  }
6551  MeanLayerBuilder &operator=(const MeanLayerBuilder &);
6552  flatbuffers::Offset<MeanLayer> Finish() {
6553  const auto end = fbb_.EndTable(start_);
6554  auto o = flatbuffers::Offset<MeanLayer>(end);
6555  return o;
6556  }
6557 };
6558 
6559 inline flatbuffers::Offset<MeanLayer> CreateMeanLayer(
6560  flatbuffers::FlatBufferBuilder &_fbb,
6561  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
6562  flatbuffers::Offset<armnnSerializer::MeanDescriptor> descriptor = 0) {
6563  MeanLayerBuilder builder_(_fbb);
6564  builder_.add_descriptor(descriptor);
6565  builder_.add_base(base);
6566  return builder_.Finish();
6567 }
6568 
6569 struct MeanDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6571  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6572  VT_AXIS = 4,
6573  VT_KEEPDIMS = 6
6574  };
6575  const flatbuffers::Vector<uint32_t> *axis() const {
6576  return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_AXIS);
6577  }
6578  bool keepDims() const {
6579  return GetField<uint8_t>(VT_KEEPDIMS, 0) != 0;
6580  }
6581  bool Verify(flatbuffers::Verifier &verifier) const {
6582  return VerifyTableStart(verifier) &&
6583  VerifyOffset(verifier, VT_AXIS) &&
6584  verifier.VerifyVector(axis()) &&
6585  VerifyField<uint8_t>(verifier, VT_KEEPDIMS) &&
6586  verifier.EndTable();
6587  }
6588 };
6589 
6591  typedef MeanDescriptor Table;
6592  flatbuffers::FlatBufferBuilder &fbb_;
6593  flatbuffers::uoffset_t start_;
6594  void add_axis(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> axis) {
6595  fbb_.AddOffset(MeanDescriptor::VT_AXIS, axis);
6596  }
6597  void add_keepDims(bool keepDims) {
6598  fbb_.AddElement<uint8_t>(MeanDescriptor::VT_KEEPDIMS, static_cast<uint8_t>(keepDims), 0);
6599  }
6600  explicit MeanDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6601  : fbb_(_fbb) {
6602  start_ = fbb_.StartTable();
6603  }
6604  MeanDescriptorBuilder &operator=(const MeanDescriptorBuilder &);
6605  flatbuffers::Offset<MeanDescriptor> Finish() {
6606  const auto end = fbb_.EndTable(start_);
6607  auto o = flatbuffers::Offset<MeanDescriptor>(end);
6608  return o;
6609  }
6610 };
6611 
6612 inline flatbuffers::Offset<MeanDescriptor> CreateMeanDescriptor(
6613  flatbuffers::FlatBufferBuilder &_fbb,
6614  flatbuffers::Offset<flatbuffers::Vector<uint32_t>> axis = 0,
6615  bool keepDims = false) {
6616  MeanDescriptorBuilder builder_(_fbb);
6617  builder_.add_axis(axis);
6618  builder_.add_keepDims(keepDims);
6619  return builder_.Finish();
6620 }
6621 
6622 inline flatbuffers::Offset<MeanDescriptor> CreateMeanDescriptorDirect(
6623  flatbuffers::FlatBufferBuilder &_fbb,
6624  const std::vector<uint32_t> *axis = nullptr,
6625  bool keepDims = false) {
6626  auto axis__ = axis ? _fbb.CreateVector<uint32_t>(*axis) : 0;
6628  _fbb,
6629  axis__,
6630  keepDims);
6631 }
6632 
6633 struct PadLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6635  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6636  VT_BASE = 4,
6637  VT_DESCRIPTOR = 6
6638  };
6639  const armnnSerializer::LayerBase *base() const {
6640  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
6641  }
6642  const armnnSerializer::PadDescriptor *descriptor() const {
6643  return GetPointer<const armnnSerializer::PadDescriptor *>(VT_DESCRIPTOR);
6644  }
6645  bool Verify(flatbuffers::Verifier &verifier) const {
6646  return VerifyTableStart(verifier) &&
6647  VerifyOffset(verifier, VT_BASE) &&
6648  verifier.VerifyTable(base()) &&
6649  VerifyOffset(verifier, VT_DESCRIPTOR) &&
6650  verifier.VerifyTable(descriptor()) &&
6651  verifier.EndTable();
6652  }
6653 };
6654 
6656  typedef PadLayer Table;
6657  flatbuffers::FlatBufferBuilder &fbb_;
6658  flatbuffers::uoffset_t start_;
6659  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
6660  fbb_.AddOffset(PadLayer::VT_BASE, base);
6661  }
6662  void add_descriptor(flatbuffers::Offset<armnnSerializer::PadDescriptor> descriptor) {
6663  fbb_.AddOffset(PadLayer::VT_DESCRIPTOR, descriptor);
6664  }
6665  explicit PadLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6666  : fbb_(_fbb) {
6667  start_ = fbb_.StartTable();
6668  }
6669  PadLayerBuilder &operator=(const PadLayerBuilder &);
6670  flatbuffers::Offset<PadLayer> Finish() {
6671  const auto end = fbb_.EndTable(start_);
6672  auto o = flatbuffers::Offset<PadLayer>(end);
6673  return o;
6674  }
6675 };
6676 
6677 inline flatbuffers::Offset<PadLayer> CreatePadLayer(
6678  flatbuffers::FlatBufferBuilder &_fbb,
6679  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
6680  flatbuffers::Offset<armnnSerializer::PadDescriptor> descriptor = 0) {
6681  PadLayerBuilder builder_(_fbb);
6682  builder_.add_descriptor(descriptor);
6683  builder_.add_base(base);
6684  return builder_.Finish();
6685 }
6686 
6687 struct PadDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6689  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6690  VT_PADLIST = 4,
6692  VT_PADDINGMODE = 8
6693  };
6694  const flatbuffers::Vector<uint32_t> *padList() const {
6695  return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_PADLIST);
6696  }
6697  float padValue() const {
6698  return GetField<float>(VT_PADVALUE, 0.0f);
6699  }
6701  return static_cast<armnnSerializer::PaddingMode>(GetField<int8_t>(VT_PADDINGMODE, 0));
6702  }
6703  bool Verify(flatbuffers::Verifier &verifier) const {
6704  return VerifyTableStart(verifier) &&
6705  VerifyOffset(verifier, VT_PADLIST) &&
6706  verifier.VerifyVector(padList()) &&
6707  VerifyField<float>(verifier, VT_PADVALUE) &&
6708  VerifyField<int8_t>(verifier, VT_PADDINGMODE) &&
6709  verifier.EndTable();
6710  }
6711 };
6712 
6714  typedef PadDescriptor Table;
6715  flatbuffers::FlatBufferBuilder &fbb_;
6716  flatbuffers::uoffset_t start_;
6717  void add_padList(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> padList) {
6718  fbb_.AddOffset(PadDescriptor::VT_PADLIST, padList);
6719  }
6720  void add_padValue(float padValue) {
6721  fbb_.AddElement<float>(PadDescriptor::VT_PADVALUE, padValue, 0.0f);
6722  }
6724  fbb_.AddElement<int8_t>(PadDescriptor::VT_PADDINGMODE, static_cast<int8_t>(paddingMode), 0);
6725  }
6726  explicit PadDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6727  : fbb_(_fbb) {
6728  start_ = fbb_.StartTable();
6729  }
6730  PadDescriptorBuilder &operator=(const PadDescriptorBuilder &);
6731  flatbuffers::Offset<PadDescriptor> Finish() {
6732  const auto end = fbb_.EndTable(start_);
6733  auto o = flatbuffers::Offset<PadDescriptor>(end);
6734  return o;
6735  }
6736 };
6737 
6738 inline flatbuffers::Offset<PadDescriptor> CreatePadDescriptor(
6739  flatbuffers::FlatBufferBuilder &_fbb,
6740  flatbuffers::Offset<flatbuffers::Vector<uint32_t>> padList = 0,
6741  float padValue = 0.0f,
6743  PadDescriptorBuilder builder_(_fbb);
6744  builder_.add_padValue(padValue);
6745  builder_.add_padList(padList);
6746  builder_.add_paddingMode(paddingMode);
6747  return builder_.Finish();
6748 }
6749 
6750 inline flatbuffers::Offset<PadDescriptor> CreatePadDescriptorDirect(
6751  flatbuffers::FlatBufferBuilder &_fbb,
6752  const std::vector<uint32_t> *padList = nullptr,
6753  float padValue = 0.0f,
6755  auto padList__ = padList ? _fbb.CreateVector<uint32_t>(*padList) : 0;
6757  _fbb,
6758  padList__,
6759  padValue,
6760  paddingMode);
6761 }
6762 
6763 /// @deprecated Use ElementwiseUnaryLayer instead
6764 struct RsqrtLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6766  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6767  VT_BASE = 4
6768  };
6769  const armnnSerializer::LayerBase *base() const {
6770  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
6771  }
6772  bool Verify(flatbuffers::Verifier &verifier) const {
6773  return VerifyTableStart(verifier) &&
6774  VerifyOffset(verifier, VT_BASE) &&
6775  verifier.VerifyTable(base()) &&
6776  verifier.EndTable();
6777  }
6778 };
6779 
6781  typedef RsqrtLayer Table;
6782  flatbuffers::FlatBufferBuilder &fbb_;
6783  flatbuffers::uoffset_t start_;
6784  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
6785  fbb_.AddOffset(RsqrtLayer::VT_BASE, base);
6786  }
6787  explicit RsqrtLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6788  : fbb_(_fbb) {
6789  start_ = fbb_.StartTable();
6790  }
6791  RsqrtLayerBuilder &operator=(const RsqrtLayerBuilder &);
6792  flatbuffers::Offset<RsqrtLayer> Finish() {
6793  const auto end = fbb_.EndTable(start_);
6794  auto o = flatbuffers::Offset<RsqrtLayer>(end);
6795  return o;
6796  }
6797 };
6798 
6799 inline flatbuffers::Offset<RsqrtLayer> CreateRsqrtLayer(
6800  flatbuffers::FlatBufferBuilder &_fbb,
6801  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
6802  RsqrtLayerBuilder builder_(_fbb);
6803  builder_.add_base(base);
6804  return builder_.Finish();
6805 }
6806 
6807 struct BatchNormalizationLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6809  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6810  VT_BASE = 4,
6811  VT_DESCRIPTOR = 6,
6812  VT_MEAN = 8,
6814  VT_BETA = 12,
6815  VT_GAMMA = 14
6816  };
6817  const armnnSerializer::LayerBase *base() const {
6818  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
6819  }
6820  const armnnSerializer::BatchNormalizationDescriptor *descriptor() const {
6821  return GetPointer<const armnnSerializer::BatchNormalizationDescriptor *>(VT_DESCRIPTOR);
6822  }
6823  const armnnSerializer::ConstTensor *mean() const {
6824  return GetPointer<const armnnSerializer::ConstTensor *>(VT_MEAN);
6825  }
6826  const armnnSerializer::ConstTensor *variance() const {
6827  return GetPointer<const armnnSerializer::ConstTensor *>(VT_VARIANCE);
6828  }
6829  const armnnSerializer::ConstTensor *beta() const {
6830  return GetPointer<const armnnSerializer::ConstTensor *>(VT_BETA);
6831  }
6832  const armnnSerializer::ConstTensor *gamma() const {
6833  return GetPointer<const armnnSerializer::ConstTensor *>(VT_GAMMA);
6834  }
6835  bool Verify(flatbuffers::Verifier &verifier) const {
6836  return VerifyTableStart(verifier) &&
6837  VerifyOffset(verifier, VT_BASE) &&
6838  verifier.VerifyTable(base()) &&
6839  VerifyOffset(verifier, VT_DESCRIPTOR) &&
6840  verifier.VerifyTable(descriptor()) &&
6841  VerifyOffset(verifier, VT_MEAN) &&
6842  verifier.VerifyTable(mean()) &&
6843  VerifyOffset(verifier, VT_VARIANCE) &&
6844  verifier.VerifyTable(variance()) &&
6845  VerifyOffset(verifier, VT_BETA) &&
6846  verifier.VerifyTable(beta()) &&
6847  VerifyOffset(verifier, VT_GAMMA) &&
6848  verifier.VerifyTable(gamma()) &&
6849  verifier.EndTable();
6850  }
6851 };
6852 
6854  typedef BatchNormalizationLayer Table;
6855  flatbuffers::FlatBufferBuilder &fbb_;
6856  flatbuffers::uoffset_t start_;
6857  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
6858  fbb_.AddOffset(BatchNormalizationLayer::VT_BASE, base);
6859  }
6860  void add_descriptor(flatbuffers::Offset<armnnSerializer::BatchNormalizationDescriptor> descriptor) {
6861  fbb_.AddOffset(BatchNormalizationLayer::VT_DESCRIPTOR, descriptor);
6862  }
6863  void add_mean(flatbuffers::Offset<armnnSerializer::ConstTensor> mean) {
6864  fbb_.AddOffset(BatchNormalizationLayer::VT_MEAN, mean);
6865  }
6866  void add_variance(flatbuffers::Offset<armnnSerializer::ConstTensor> variance) {
6867  fbb_.AddOffset(BatchNormalizationLayer::VT_VARIANCE, variance);
6868  }
6869  void add_beta(flatbuffers::Offset<armnnSerializer::ConstTensor> beta) {
6870  fbb_.AddOffset(BatchNormalizationLayer::VT_BETA, beta);
6871  }
6872  void add_gamma(flatbuffers::Offset<armnnSerializer::ConstTensor> gamma) {
6873  fbb_.AddOffset(BatchNormalizationLayer::VT_GAMMA, gamma);
6874  }
6875  explicit BatchNormalizationLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6876  : fbb_(_fbb) {
6877  start_ = fbb_.StartTable();
6878  }
6880  flatbuffers::Offset<BatchNormalizationLayer> Finish() {
6881  const auto end = fbb_.EndTable(start_);
6882  auto o = flatbuffers::Offset<BatchNormalizationLayer>(end);
6883  return o;
6884  }
6885 };
6886 
6887 inline flatbuffers::Offset<BatchNormalizationLayer> CreateBatchNormalizationLayer(
6888  flatbuffers::FlatBufferBuilder &_fbb,
6889  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
6890  flatbuffers::Offset<armnnSerializer::BatchNormalizationDescriptor> descriptor = 0,
6891  flatbuffers::Offset<armnnSerializer::ConstTensor> mean = 0,
6892  flatbuffers::Offset<armnnSerializer::ConstTensor> variance = 0,
6893  flatbuffers::Offset<armnnSerializer::ConstTensor> beta = 0,
6894  flatbuffers::Offset<armnnSerializer::ConstTensor> gamma = 0) {
6895  BatchNormalizationLayerBuilder builder_(_fbb);
6896  builder_.add_gamma(gamma);
6897  builder_.add_beta(beta);
6898  builder_.add_variance(variance);
6899  builder_.add_mean(mean);
6900  builder_.add_descriptor(descriptor);
6901  builder_.add_base(base);
6902  return builder_.Finish();
6903 }
6904 
6905 struct BatchNormalizationDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6907  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6908  VT_EPS = 4,
6909  VT_DATALAYOUT = 6
6910  };
6911  float eps() const {
6912  return GetField<float>(VT_EPS, 0.0f);
6913  }
6915  return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 0));
6916  }
6917  bool Verify(flatbuffers::Verifier &verifier) const {
6918  return VerifyTableStart(verifier) &&
6919  VerifyField<float>(verifier, VT_EPS) &&
6920  VerifyField<int8_t>(verifier, VT_DATALAYOUT) &&
6921  verifier.EndTable();
6922  }
6923 };
6924 
6926  typedef BatchNormalizationDescriptor Table;
6927  flatbuffers::FlatBufferBuilder &fbb_;
6928  flatbuffers::uoffset_t start_;
6929  void add_eps(float eps) {
6930  fbb_.AddElement<float>(BatchNormalizationDescriptor::VT_EPS, eps, 0.0f);
6931  }
6933  fbb_.AddElement<int8_t>(BatchNormalizationDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 0);
6934  }
6935  explicit BatchNormalizationDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6936  : fbb_(_fbb) {
6937  start_ = fbb_.StartTable();
6938  }
6940  flatbuffers::Offset<BatchNormalizationDescriptor> Finish() {
6941  const auto end = fbb_.EndTable(start_);
6942  auto o = flatbuffers::Offset<BatchNormalizationDescriptor>(end);
6943  return o;
6944  }
6945 };
6946 
6947 inline flatbuffers::Offset<BatchNormalizationDescriptor> CreateBatchNormalizationDescriptor(
6948  flatbuffers::FlatBufferBuilder &_fbb,
6949  float eps = 0.0f,
6951  BatchNormalizationDescriptorBuilder builder_(_fbb);
6952  builder_.add_eps(eps);
6953  builder_.add_dataLayout(dataLayout);
6954  return builder_.Finish();
6955 }
6956 
6957 /// @deprecated Use ResizeLayer instead
6958 struct ResizeBilinearLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6960  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6961  VT_BASE = 4,
6962  VT_DESCRIPTOR = 6
6963  };
6964  const armnnSerializer::LayerBase *base() const {
6965  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
6966  }
6967  const armnnSerializer::ResizeBilinearDescriptor *descriptor() const {
6968  return GetPointer<const armnnSerializer::ResizeBilinearDescriptor *>(VT_DESCRIPTOR);
6969  }
6970  bool Verify(flatbuffers::Verifier &verifier) const {
6971  return VerifyTableStart(verifier) &&
6972  VerifyOffset(verifier, VT_BASE) &&
6973  verifier.VerifyTable(base()) &&
6974  VerifyOffset(verifier, VT_DESCRIPTOR) &&
6975  verifier.VerifyTable(descriptor()) &&
6976  verifier.EndTable();
6977  }
6978 };
6979 
6981  typedef ResizeBilinearLayer Table;
6982  flatbuffers::FlatBufferBuilder &fbb_;
6983  flatbuffers::uoffset_t start_;
6984  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
6985  fbb_.AddOffset(ResizeBilinearLayer::VT_BASE, base);
6986  }
6987  void add_descriptor(flatbuffers::Offset<armnnSerializer::ResizeBilinearDescriptor> descriptor) {
6988  fbb_.AddOffset(ResizeBilinearLayer::VT_DESCRIPTOR, descriptor);
6989  }
6990  explicit ResizeBilinearLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6991  : fbb_(_fbb) {
6992  start_ = fbb_.StartTable();
6993  }
6995  flatbuffers::Offset<ResizeBilinearLayer> Finish() {
6996  const auto end = fbb_.EndTable(start_);
6997  auto o = flatbuffers::Offset<ResizeBilinearLayer>(end);
6998  return o;
6999  }
7000 };
7001 
7002 inline flatbuffers::Offset<ResizeBilinearLayer> CreateResizeBilinearLayer(
7003  flatbuffers::FlatBufferBuilder &_fbb,
7004  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
7005  flatbuffers::Offset<armnnSerializer::ResizeBilinearDescriptor> descriptor = 0) {
7006  ResizeBilinearLayerBuilder builder_(_fbb);
7007  builder_.add_descriptor(descriptor);
7008  builder_.add_base(base);
7009  return builder_.Finish();
7010 }
7011 
7012 struct ResizeBilinearDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7014  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7017  VT_DATALAYOUT = 8,
7019  VT_HALFPIXELCENTERS = 12
7020  };
7021  uint32_t targetWidth() const {
7022  return GetField<uint32_t>(VT_TARGETWIDTH, 0);
7023  }
7024  uint32_t targetHeight() const {
7025  return GetField<uint32_t>(VT_TARGETHEIGHT, 0);
7026  }
7028  return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 0));
7029  }
7030  bool alignCorners() const {
7031  return GetField<uint8_t>(VT_ALIGNCORNERS, 0) != 0;
7032  }
7033  bool halfPixelCenters() const {
7034  return GetField<uint8_t>(VT_HALFPIXELCENTERS, 0) != 0;
7035  }
7036  bool Verify(flatbuffers::Verifier &verifier) const {
7037  return VerifyTableStart(verifier) &&
7038  VerifyField<uint32_t>(verifier, VT_TARGETWIDTH) &&
7039  VerifyField<uint32_t>(verifier, VT_TARGETHEIGHT) &&
7040  VerifyField<int8_t>(verifier, VT_DATALAYOUT) &&
7041  VerifyField<uint8_t>(verifier, VT_ALIGNCORNERS) &&
7042  VerifyField<uint8_t>(verifier, VT_HALFPIXELCENTERS) &&
7043  verifier.EndTable();
7044  }
7045 };
7046 
7048  typedef ResizeBilinearDescriptor Table;
7049  flatbuffers::FlatBufferBuilder &fbb_;
7050  flatbuffers::uoffset_t start_;
7051  void add_targetWidth(uint32_t targetWidth) {
7052  fbb_.AddElement<uint32_t>(ResizeBilinearDescriptor::VT_TARGETWIDTH, targetWidth, 0);
7053  }
7054  void add_targetHeight(uint32_t targetHeight) {
7055  fbb_.AddElement<uint32_t>(ResizeBilinearDescriptor::VT_TARGETHEIGHT, targetHeight, 0);
7056  }
7058  fbb_.AddElement<int8_t>(ResizeBilinearDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 0);
7059  }
7060  void add_alignCorners(bool alignCorners) {
7061  fbb_.AddElement<uint8_t>(ResizeBilinearDescriptor::VT_ALIGNCORNERS, static_cast<uint8_t>(alignCorners), 0);
7062  }
7063  void add_halfPixelCenters(bool halfPixelCenters) {
7064  fbb_.AddElement<uint8_t>(ResizeBilinearDescriptor::VT_HALFPIXELCENTERS, static_cast<uint8_t>(halfPixelCenters), 0);
7065  }
7066  explicit ResizeBilinearDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7067  : fbb_(_fbb) {
7068  start_ = fbb_.StartTable();
7069  }
7071  flatbuffers::Offset<ResizeBilinearDescriptor> Finish() {
7072  const auto end = fbb_.EndTable(start_);
7073  auto o = flatbuffers::Offset<ResizeBilinearDescriptor>(end);
7074  return o;
7075  }
7076 };
7077 
7078 inline flatbuffers::Offset<ResizeBilinearDescriptor> CreateResizeBilinearDescriptor(
7079  flatbuffers::FlatBufferBuilder &_fbb,
7080  uint32_t targetWidth = 0,
7081  uint32_t targetHeight = 0,
7083  bool alignCorners = false,
7084  bool halfPixelCenters = false) {
7085  ResizeBilinearDescriptorBuilder builder_(_fbb);
7086  builder_.add_targetHeight(targetHeight);
7087  builder_.add_targetWidth(targetWidth);
7088  builder_.add_halfPixelCenters(halfPixelCenters);
7089  builder_.add_alignCorners(alignCorners);
7090  builder_.add_dataLayout(dataLayout);
7091  return builder_.Finish();
7092 }
7093 
7094 struct SliceLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7096  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7097  VT_BASE = 4,
7098  VT_DESCRIPTOR = 6
7099  };
7100  const armnnSerializer::LayerBase *base() const {
7101  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
7102  }
7103  const armnnSerializer::SliceDescriptor *descriptor() const {
7104  return GetPointer<const armnnSerializer::SliceDescriptor *>(VT_DESCRIPTOR);
7105  }
7106  bool Verify(flatbuffers::Verifier &verifier) const {
7107  return VerifyTableStart(verifier) &&
7108  VerifyOffset(verifier, VT_BASE) &&
7109  verifier.VerifyTable(base()) &&
7110  VerifyOffset(verifier, VT_DESCRIPTOR) &&
7111  verifier.VerifyTable(descriptor()) &&
7112  verifier.EndTable();
7113  }
7114 };
7115 
7117  typedef SliceLayer Table;
7118  flatbuffers::FlatBufferBuilder &fbb_;
7119  flatbuffers::uoffset_t start_;
7120  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
7121  fbb_.AddOffset(SliceLayer::VT_BASE, base);
7122  }
7123  void add_descriptor(flatbuffers::Offset<armnnSerializer::SliceDescriptor> descriptor) {
7124  fbb_.AddOffset(SliceLayer::VT_DESCRIPTOR, descriptor);
7125  }
7126  explicit SliceLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7127  : fbb_(_fbb) {
7128  start_ = fbb_.StartTable();
7129  }
7130  SliceLayerBuilder &operator=(const SliceLayerBuilder &);
7131  flatbuffers::Offset<SliceLayer> Finish() {
7132  const auto end = fbb_.EndTable(start_);
7133  auto o = flatbuffers::Offset<SliceLayer>(end);
7134  return o;
7135  }
7136 };
7137 
7138 inline flatbuffers::Offset<SliceLayer> CreateSliceLayer(
7139  flatbuffers::FlatBufferBuilder &_fbb,
7140  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
7141  flatbuffers::Offset<armnnSerializer::SliceDescriptor> descriptor = 0) {
7142  SliceLayerBuilder builder_(_fbb);
7143  builder_.add_descriptor(descriptor);
7144  builder_.add_base(base);
7145  return builder_.Finish();
7146 }
7147 
7148 struct SliceDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7150  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7152  VT_SIZE = 6
7153  };
7154  const flatbuffers::Vector<uint32_t> *begin() const {
7155  return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_BEGIN);
7156  }
7157  const flatbuffers::Vector<uint32_t> *size() const {
7158  return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_SIZE);
7159  }
7160  bool Verify(flatbuffers::Verifier &verifier) const {
7161  return VerifyTableStart(verifier) &&
7162  VerifyOffset(verifier, VT_BEGIN) &&
7163  verifier.VerifyVector(begin()) &&
7164  VerifyOffset(verifier, VT_SIZE) &&
7165  verifier.VerifyVector(size()) &&
7166  verifier.EndTable();
7167  }
7168 };
7169 
7171  typedef SliceDescriptor Table;
7172  flatbuffers::FlatBufferBuilder &fbb_;
7173  flatbuffers::uoffset_t start_;
7174  void add_begin(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> begin) {
7175  fbb_.AddOffset(SliceDescriptor::VT_BEGIN, begin);
7176  }
7177  void add_size(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> size) {
7178  fbb_.AddOffset(SliceDescriptor::VT_SIZE, size);
7179  }
7180  explicit SliceDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7181  : fbb_(_fbb) {
7182  start_ = fbb_.StartTable();
7183  }
7184  SliceDescriptorBuilder &operator=(const SliceDescriptorBuilder &);
7185  flatbuffers::Offset<SliceDescriptor> Finish() {
7186  const auto end = fbb_.EndTable(start_);
7187  auto o = flatbuffers::Offset<SliceDescriptor>(end);
7188  return o;
7189  }
7190 };
7191 
7192 inline flatbuffers::Offset<SliceDescriptor> CreateSliceDescriptor(
7193  flatbuffers::FlatBufferBuilder &_fbb,
7194  flatbuffers::Offset<flatbuffers::Vector<uint32_t>> begin = 0,
7195  flatbuffers::Offset<flatbuffers::Vector<uint32_t>> size = 0) {
7196  SliceDescriptorBuilder builder_(_fbb);
7197  builder_.add_size(size);
7198  builder_.add_begin(begin);
7199  return builder_.Finish();
7200 }
7201 
7202 inline flatbuffers::Offset<SliceDescriptor> CreateSliceDescriptorDirect(
7203  flatbuffers::FlatBufferBuilder &_fbb,
7204  const std::vector<uint32_t> *begin = nullptr,
7205  const std::vector<uint32_t> *size = nullptr) {
7206  auto begin__ = begin ? _fbb.CreateVector<uint32_t>(*begin) : 0;
7207  auto size__ = size ? _fbb.CreateVector<uint32_t>(*size) : 0;
7209  _fbb,
7210  begin__,
7211  size__);
7212 }
7213 
7214 struct StridedSliceLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7216  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7217  VT_BASE = 4,
7218  VT_DESCRIPTOR = 6
7219  };
7220  const armnnSerializer::LayerBase *base() const {
7221  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
7222  }
7223  const armnnSerializer::StridedSliceDescriptor *descriptor() const {
7224  return GetPointer<const armnnSerializer::StridedSliceDescriptor *>(VT_DESCRIPTOR);
7225  }
7226  bool Verify(flatbuffers::Verifier &verifier) const {
7227  return VerifyTableStart(verifier) &&
7228  VerifyOffset(verifier, VT_BASE) &&
7229  verifier.VerifyTable(base()) &&
7230  VerifyOffset(verifier, VT_DESCRIPTOR) &&
7231  verifier.VerifyTable(descriptor()) &&
7232  verifier.EndTable();
7233  }
7234 };
7235 
7237  typedef StridedSliceLayer Table;
7238  flatbuffers::FlatBufferBuilder &fbb_;
7239  flatbuffers::uoffset_t start_;
7240  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
7241  fbb_.AddOffset(StridedSliceLayer::VT_BASE, base);
7242  }
7243  void add_descriptor(flatbuffers::Offset<armnnSerializer::StridedSliceDescriptor> descriptor) {
7244  fbb_.AddOffset(StridedSliceLayer::VT_DESCRIPTOR, descriptor);
7245  }
7246  explicit StridedSliceLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7247  : fbb_(_fbb) {
7248  start_ = fbb_.StartTable();
7249  }
7251  flatbuffers::Offset<StridedSliceLayer> Finish() {
7252  const auto end = fbb_.EndTable(start_);
7253  auto o = flatbuffers::Offset<StridedSliceLayer>(end);
7254  return o;
7255  }
7256 };
7257 
7258 inline flatbuffers::Offset<StridedSliceLayer> CreateStridedSliceLayer(
7259  flatbuffers::FlatBufferBuilder &_fbb,
7260  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
7261  flatbuffers::Offset<armnnSerializer::StridedSliceDescriptor> descriptor = 0) {
7262  StridedSliceLayerBuilder builder_(_fbb);
7263  builder_.add_descriptor(descriptor);
7264  builder_.add_base(base);
7265  return builder_.Finish();
7266 }
7267 
7268 struct StridedSliceDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7270  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7271  VT_BEGIN = 4,
7272  VT_END = 6,
7279  VT_DATALAYOUT = 20
7280  };
7281  const flatbuffers::Vector<int32_t> *begin() const {
7282  return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_BEGIN);
7283  }
7284  const flatbuffers::Vector<int32_t> *end() const {
7285  return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_END);
7286  }
7287  const flatbuffers::Vector<int32_t> *stride() const {
7288  return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_STRIDE);
7289  }
7290  int32_t beginMask() const {
7291  return GetField<int32_t>(VT_BEGINMASK, 0);
7292  }
7293  int32_t endMask() const {
7294  return GetField<int32_t>(VT_ENDMASK, 0);
7295  }
7296  int32_t shrinkAxisMask() const {
7297  return GetField<int32_t>(VT_SHRINKAXISMASK, 0);
7298  }
7299  int32_t ellipsisMask() const {
7300  return GetField<int32_t>(VT_ELLIPSISMASK, 0);
7301  }
7302  int32_t newAxisMask() const {
7303  return GetField<int32_t>(VT_NEWAXISMASK, 0);
7304  }
7306  return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 0));
7307  }
7308  bool Verify(flatbuffers::Verifier &verifier) const {
7309  return VerifyTableStart(verifier) &&
7310  VerifyOffset(verifier, VT_BEGIN) &&
7311  verifier.VerifyVector(begin()) &&
7312  VerifyOffset(verifier, VT_END) &&
7313  verifier.VerifyVector(end()) &&
7314  VerifyOffset(verifier, VT_STRIDE) &&
7315  verifier.VerifyVector(stride()) &&
7316  VerifyField<int32_t>(verifier, VT_BEGINMASK) &&
7317  VerifyField<int32_t>(verifier, VT_ENDMASK) &&
7318  VerifyField<int32_t>(verifier, VT_SHRINKAXISMASK) &&
7319  VerifyField<int32_t>(verifier, VT_ELLIPSISMASK) &&
7320  VerifyField<int32_t>(verifier, VT_NEWAXISMASK) &&
7321  VerifyField<int8_t>(verifier, VT_DATALAYOUT) &&
7322  verifier.EndTable();
7323  }
7324 };
7325 
7327  typedef StridedSliceDescriptor Table;
7328  flatbuffers::FlatBufferBuilder &fbb_;
7329  flatbuffers::uoffset_t start_;
7330  void add_begin(flatbuffers::Offset<flatbuffers::Vector<int32_t>> begin) {
7331  fbb_.AddOffset(StridedSliceDescriptor::VT_BEGIN, begin);
7332  }
7333  void add_end(flatbuffers::Offset<flatbuffers::Vector<int32_t>> end) {
7334  fbb_.AddOffset(StridedSliceDescriptor::VT_END, end);
7335  }
7336  void add_stride(flatbuffers::Offset<flatbuffers::Vector<int32_t>> stride) {
7337  fbb_.AddOffset(StridedSliceDescriptor::VT_STRIDE, stride);
7338  }
7339  void add_beginMask(int32_t beginMask) {
7340  fbb_.AddElement<int32_t>(StridedSliceDescriptor::VT_BEGINMASK, beginMask, 0);
7341  }
7342  void add_endMask(int32_t endMask) {
7343  fbb_.AddElement<int32_t>(StridedSliceDescriptor::VT_ENDMASK, endMask, 0);
7344  }
7345  void add_shrinkAxisMask(int32_t shrinkAxisMask) {
7346  fbb_.AddElement<int32_t>(StridedSliceDescriptor::VT_SHRINKAXISMASK, shrinkAxisMask, 0);
7347  }
7348  void add_ellipsisMask(int32_t ellipsisMask) {
7349  fbb_.AddElement<int32_t>(StridedSliceDescriptor::VT_ELLIPSISMASK, ellipsisMask, 0);
7350  }
7351  void add_newAxisMask(int32_t newAxisMask) {
7352  fbb_.AddElement<int32_t>(StridedSliceDescriptor::VT_NEWAXISMASK, newAxisMask, 0);
7353  }
7355  fbb_.AddElement<int8_t>(StridedSliceDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 0);
7356  }
7357  explicit StridedSliceDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7358  : fbb_(_fbb) {
7359  start_ = fbb_.StartTable();
7360  }
7362  flatbuffers::Offset<StridedSliceDescriptor> Finish() {
7363  const auto end = fbb_.EndTable(start_);
7364  auto o = flatbuffers::Offset<StridedSliceDescriptor>(end);
7365  return o;
7366  }
7367 };
7368 
7369 inline flatbuffers::Offset<StridedSliceDescriptor> CreateStridedSliceDescriptor(
7370  flatbuffers::FlatBufferBuilder &_fbb,
7371  flatbuffers::Offset<flatbuffers::Vector<int32_t>> begin = 0,
7372  flatbuffers::Offset<flatbuffers::Vector<int32_t>> end = 0,
7373  flatbuffers::Offset<flatbuffers::Vector<int32_t>> stride = 0,
7374  int32_t beginMask = 0,
7375  int32_t endMask = 0,
7376  int32_t shrinkAxisMask = 0,
7377  int32_t ellipsisMask = 0,
7378  int32_t newAxisMask = 0,
7380  StridedSliceDescriptorBuilder builder_(_fbb);
7381  builder_.add_newAxisMask(newAxisMask);
7382  builder_.add_ellipsisMask(ellipsisMask);
7383  builder_.add_shrinkAxisMask(shrinkAxisMask);
7384  builder_.add_endMask(endMask);
7385  builder_.add_beginMask(beginMask);
7386  builder_.add_stride(stride);
7387  builder_.add_end(end);
7388  builder_.add_begin(begin);
7389  builder_.add_dataLayout(dataLayout);
7390  return builder_.Finish();
7391 }
7392 
7393 inline flatbuffers::Offset<StridedSliceDescriptor> CreateStridedSliceDescriptorDirect(
7394  flatbuffers::FlatBufferBuilder &_fbb,
7395  const std::vector<int32_t> *begin = nullptr,
7396  const std::vector<int32_t> *end = nullptr,
7397  const std::vector<int32_t> *stride = nullptr,
7398  int32_t beginMask = 0,
7399  int32_t endMask = 0,
7400  int32_t shrinkAxisMask = 0,
7401  int32_t ellipsisMask = 0,
7402  int32_t newAxisMask = 0,
7404  auto begin__ = begin ? _fbb.CreateVector<int32_t>(*begin) : 0;
7405  auto end__ = end ? _fbb.CreateVector<int32_t>(*end) : 0;
7406  auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
7408  _fbb,
7409  begin__,
7410  end__,
7411  stride__,
7412  beginMask,
7413  endMask,
7414  shrinkAxisMask,
7415  ellipsisMask,
7416  newAxisMask,
7417  dataLayout);
7418 }
7419 
7420 struct ConcatLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7422  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7423  VT_BASE = 4,
7424  VT_DESCRIPTOR = 6
7425  };
7426  const armnnSerializer::LayerBase *base() const {
7427  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
7428  }
7429  const armnnSerializer::OriginsDescriptor *descriptor() const {
7430  return GetPointer<const armnnSerializer::OriginsDescriptor *>(VT_DESCRIPTOR);
7431  }
7432  bool Verify(flatbuffers::Verifier &verifier) const {
7433  return VerifyTableStart(verifier) &&
7434  VerifyOffset(verifier, VT_BASE) &&
7435  verifier.VerifyTable(base()) &&
7436  VerifyOffset(verifier, VT_DESCRIPTOR) &&
7437  verifier.VerifyTable(descriptor()) &&
7438  verifier.EndTable();
7439  }
7440 };
7441 
7443  typedef ConcatLayer Table;
7444  flatbuffers::FlatBufferBuilder &fbb_;
7445  flatbuffers::uoffset_t start_;
7446  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
7447  fbb_.AddOffset(ConcatLayer::VT_BASE, base);
7448  }
7449  void add_descriptor(flatbuffers::Offset<armnnSerializer::OriginsDescriptor> descriptor) {
7450  fbb_.AddOffset(ConcatLayer::VT_DESCRIPTOR, descriptor);
7451  }
7452  explicit ConcatLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7453  : fbb_(_fbb) {
7454  start_ = fbb_.StartTable();
7455  }
7456  ConcatLayerBuilder &operator=(const ConcatLayerBuilder &);
7457  flatbuffers::Offset<ConcatLayer> Finish() {
7458  const auto end = fbb_.EndTable(start_);
7459  auto o = flatbuffers::Offset<ConcatLayer>(end);
7460  return o;
7461  }
7462 };
7463 
7464 inline flatbuffers::Offset<ConcatLayer> CreateConcatLayer(
7465  flatbuffers::FlatBufferBuilder &_fbb,
7466  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
7467  flatbuffers::Offset<armnnSerializer::OriginsDescriptor> descriptor = 0) {
7468  ConcatLayerBuilder builder_(_fbb);
7469  builder_.add_descriptor(descriptor);
7470  builder_.add_base(base);
7471  return builder_.Finish();
7472 }
7473 
7474 /// @deprecated Use ConcatLayer instead
7475 struct MergerLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7477  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7478  VT_BASE = 4,
7479  VT_DESCRIPTOR = 6
7480  };
7481  const armnnSerializer::LayerBase *base() const {
7482  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
7483  }
7484  const armnnSerializer::OriginsDescriptor *descriptor() const {
7485  return GetPointer<const armnnSerializer::OriginsDescriptor *>(VT_DESCRIPTOR);
7486  }
7487  bool Verify(flatbuffers::Verifier &verifier) const {
7488  return VerifyTableStart(verifier) &&
7489  VerifyOffset(verifier, VT_BASE) &&
7490  verifier.VerifyTable(base()) &&
7491  VerifyOffset(verifier, VT_DESCRIPTOR) &&
7492  verifier.VerifyTable(descriptor()) &&
7493  verifier.EndTable();
7494  }
7495 };
7496 
7499  flatbuffers::FlatBufferBuilder &fbb_;
7500  flatbuffers::uoffset_t start_;
7501  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
7502  fbb_.AddOffset(MergerLayer::VT_BASE, base);
7503  }
7504  void add_descriptor(flatbuffers::Offset<armnnSerializer::OriginsDescriptor> descriptor) {
7505  fbb_.AddOffset(MergerLayer::VT_DESCRIPTOR, descriptor);
7506  }
7507  explicit MergerLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7508  : fbb_(_fbb) {
7509  start_ = fbb_.StartTable();
7510  }
7511  MergerLayerBuilder &operator=(const MergerLayerBuilder &);
7512  flatbuffers::Offset<MergerLayer> Finish() {
7513  const auto end = fbb_.EndTable(start_);
7514  auto o = flatbuffers::Offset<MergerLayer>(end);
7515  return o;
7516  }
7517 };
7518 
7519 inline flatbuffers::Offset<MergerLayer> CreateMergerLayer(
7520  flatbuffers::FlatBufferBuilder &_fbb,
7521  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
7522  flatbuffers::Offset<armnnSerializer::OriginsDescriptor> descriptor = 0) {
7523  MergerLayerBuilder builder_(_fbb);
7524  builder_.add_descriptor(descriptor);
7525  builder_.add_base(base);
7526  return builder_.Finish();
7527 }
7528 
7529 struct UintVector FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7531  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7532  VT_DATA = 4
7533  };
7534  const flatbuffers::Vector<uint32_t> *data() const {
7535  return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_DATA);
7536  }
7537  bool Verify(flatbuffers::Verifier &verifier) const {
7538  return VerifyTableStart(verifier) &&
7539  VerifyOffset(verifier, VT_DATA) &&
7540  verifier.VerifyVector(data()) &&
7541  verifier.EndTable();
7542  }
7543 };
7544 
7546  typedef UintVector Table;
7547  flatbuffers::FlatBufferBuilder &fbb_;
7548  flatbuffers::uoffset_t start_;
7549  void add_data(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> data) {
7550  fbb_.AddOffset(UintVector::VT_DATA, data);
7551  }
7552  explicit UintVectorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7553  : fbb_(_fbb) {
7554  start_ = fbb_.StartTable();
7555  }
7556  UintVectorBuilder &operator=(const UintVectorBuilder &);
7557  flatbuffers::Offset<UintVector> Finish() {
7558  const auto end = fbb_.EndTable(start_);
7559  auto o = flatbuffers::Offset<UintVector>(end);
7560  return o;
7561  }
7562 };
7563 
7564 inline flatbuffers::Offset<UintVector> CreateUintVector(
7565  flatbuffers::FlatBufferBuilder &_fbb,
7566  flatbuffers::Offset<flatbuffers::Vector<uint32_t>> data = 0) {
7567  UintVectorBuilder builder_(_fbb);
7568  builder_.add_data(data);
7569  return builder_.Finish();
7570 }
7571 
7572 inline flatbuffers::Offset<UintVector> CreateUintVectorDirect(
7573  flatbuffers::FlatBufferBuilder &_fbb,
7574  const std::vector<uint32_t> *data = nullptr) {
7575  auto data__ = data ? _fbb.CreateVector<uint32_t>(*data) : 0;
7577  _fbb,
7578  data__);
7579 }
7580 
7581 struct OriginsDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7583  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7587  VT_VIEWORIGINS = 10
7588  };
7589  uint32_t concatAxis() const {
7590  return GetField<uint32_t>(VT_CONCATAXIS, 0);
7591  }
7592  uint32_t numViews() const {
7593  return GetField<uint32_t>(VT_NUMVIEWS, 0);
7594  }
7595  uint32_t numDimensions() const {
7596  return GetField<uint32_t>(VT_NUMDIMENSIONS, 0);
7597  }
7598  const flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::UintVector>> *viewOrigins() const {
7599  return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::UintVector>> *>(VT_VIEWORIGINS);
7600  }
7601  bool Verify(flatbuffers::Verifier &verifier) const {
7602  return VerifyTableStart(verifier) &&
7603  VerifyField<uint32_t>(verifier, VT_CONCATAXIS) &&
7604  VerifyField<uint32_t>(verifier, VT_NUMVIEWS) &&
7605  VerifyField<uint32_t>(verifier, VT_NUMDIMENSIONS) &&
7606  VerifyOffset(verifier, VT_VIEWORIGINS) &&
7607  verifier.VerifyVector(viewOrigins()) &&
7608  verifier.VerifyVectorOfTables(viewOrigins()) &&
7609  verifier.EndTable();
7610  }
7611 };
7612 
7614  typedef OriginsDescriptor Table;
7615  flatbuffers::FlatBufferBuilder &fbb_;
7616  flatbuffers::uoffset_t start_;
7617  void add_concatAxis(uint32_t concatAxis) {
7618  fbb_.AddElement<uint32_t>(OriginsDescriptor::VT_CONCATAXIS, concatAxis, 0);
7619  }
7620  void add_numViews(uint32_t numViews) {
7621  fbb_.AddElement<uint32_t>(OriginsDescriptor::VT_NUMVIEWS, numViews, 0);
7622  }
7623  void add_numDimensions(uint32_t numDimensions) {
7624  fbb_.AddElement<uint32_t>(OriginsDescriptor::VT_NUMDIMENSIONS, numDimensions, 0);
7625  }
7626  void add_viewOrigins(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::UintVector>>> viewOrigins) {
7627  fbb_.AddOffset(OriginsDescriptor::VT_VIEWORIGINS, viewOrigins);
7628  }
7629  explicit OriginsDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7630  : fbb_(_fbb) {
7631  start_ = fbb_.StartTable();
7632  }
7634  flatbuffers::Offset<OriginsDescriptor> Finish() {
7635  const auto end = fbb_.EndTable(start_);
7636  auto o = flatbuffers::Offset<OriginsDescriptor>(end);
7637  return o;
7638  }
7639 };
7640 
7641 inline flatbuffers::Offset<OriginsDescriptor> CreateOriginsDescriptor(
7642  flatbuffers::FlatBufferBuilder &_fbb,
7643  uint32_t concatAxis = 0,
7644  uint32_t numViews = 0,
7645  uint32_t numDimensions = 0,
7646  flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::UintVector>>> viewOrigins = 0) {
7647  OriginsDescriptorBuilder builder_(_fbb);
7648  builder_.add_viewOrigins(viewOrigins);
7649  builder_.add_numDimensions(numDimensions);
7650  builder_.add_numViews(numViews);
7651  builder_.add_concatAxis(concatAxis);
7652  return builder_.Finish();
7653 }
7654 
7655 inline flatbuffers::Offset<OriginsDescriptor> CreateOriginsDescriptorDirect(
7656  flatbuffers::FlatBufferBuilder &_fbb,
7657  uint32_t concatAxis = 0,
7658  uint32_t numViews = 0,
7659  uint32_t numDimensions = 0,
7660  const std::vector<flatbuffers::Offset<armnnSerializer::UintVector>> *viewOrigins = nullptr) {
7661  auto viewOrigins__ = viewOrigins ? _fbb.CreateVector<flatbuffers::Offset<armnnSerializer::UintVector>>(*viewOrigins) : 0;
7663  _fbb,
7664  concatAxis,
7665  numViews,
7666  numDimensions,
7667  viewOrigins__);
7668 }
7669 
7670 struct ViewsDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7672  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7674  VT_VIEWSIZES = 6
7675  };
7676  const armnnSerializer::OriginsDescriptor *origins() const {
7677  return GetPointer<const armnnSerializer::OriginsDescriptor *>(VT_ORIGINS);
7678  }
7679  const flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::UintVector>> *viewSizes() const {
7680  return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::UintVector>> *>(VT_VIEWSIZES);
7681  }
7682  bool Verify(flatbuffers::Verifier &verifier) const {
7683  return VerifyTableStart(verifier) &&
7684  VerifyOffset(verifier, VT_ORIGINS) &&
7685  verifier.VerifyTable(origins()) &&
7686  VerifyOffset(verifier, VT_VIEWSIZES) &&
7687  verifier.VerifyVector(viewSizes()) &&
7688  verifier.VerifyVectorOfTables(viewSizes()) &&
7689  verifier.EndTable();
7690  }
7691 };
7692 
7694  typedef ViewsDescriptor Table;
7695  flatbuffers::FlatBufferBuilder &fbb_;
7696  flatbuffers::uoffset_t start_;
7697  void add_origins(flatbuffers::Offset<armnnSerializer::OriginsDescriptor> origins) {
7698  fbb_.AddOffset(ViewsDescriptor::VT_ORIGINS, origins);
7699  }
7700  void add_viewSizes(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::UintVector>>> viewSizes) {
7701  fbb_.AddOffset(ViewsDescriptor::VT_VIEWSIZES, viewSizes);
7702  }
7703  explicit ViewsDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7704  : fbb_(_fbb) {
7705  start_ = fbb_.StartTable();
7706  }
7707  ViewsDescriptorBuilder &operator=(const ViewsDescriptorBuilder &);
7708  flatbuffers::Offset<ViewsDescriptor> Finish() {
7709  const auto end = fbb_.EndTable(start_);
7710  auto o = flatbuffers::Offset<ViewsDescriptor>(end);
7711  return o;
7712  }
7713 };
7714 
7715 inline flatbuffers::Offset<ViewsDescriptor> CreateViewsDescriptor(
7716  flatbuffers::FlatBufferBuilder &_fbb,
7717  flatbuffers::Offset<armnnSerializer::OriginsDescriptor> origins = 0,
7718  flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::UintVector>>> viewSizes = 0) {
7719  ViewsDescriptorBuilder builder_(_fbb);
7720  builder_.add_viewSizes(viewSizes);
7721  builder_.add_origins(origins);
7722  return builder_.Finish();
7723 }
7724 
7725 inline flatbuffers::Offset<ViewsDescriptor> CreateViewsDescriptorDirect(
7726  flatbuffers::FlatBufferBuilder &_fbb,
7727  flatbuffers::Offset<armnnSerializer::OriginsDescriptor> origins = 0,
7728  const std::vector<flatbuffers::Offset<armnnSerializer::UintVector>> *viewSizes = nullptr) {
7729  auto viewSizes__ = viewSizes ? _fbb.CreateVector<flatbuffers::Offset<armnnSerializer::UintVector>>(*viewSizes) : 0;
7731  _fbb,
7732  origins,
7733  viewSizes__);
7734 }
7735 
7736 struct SplitterLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7738  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7739  VT_BASE = 4,
7740  VT_DESCRIPTOR = 6
7741  };
7742  const armnnSerializer::LayerBase *base() const {
7743  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
7744  }
7745  const armnnSerializer::ViewsDescriptor *descriptor() const {
7746  return GetPointer<const armnnSerializer::ViewsDescriptor *>(VT_DESCRIPTOR);
7747  }
7748  bool Verify(flatbuffers::Verifier &verifier) const {
7749  return VerifyTableStart(verifier) &&
7750  VerifyOffset(verifier, VT_BASE) &&
7751  verifier.VerifyTable(base()) &&
7752  VerifyOffset(verifier, VT_DESCRIPTOR) &&
7753  verifier.VerifyTable(descriptor()) &&
7754  verifier.EndTable();
7755  }
7756 };
7757 
7759  typedef SplitterLayer Table;
7760  flatbuffers::FlatBufferBuilder &fbb_;
7761  flatbuffers::uoffset_t start_;
7762  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
7763  fbb_.AddOffset(SplitterLayer::VT_BASE, base);
7764  }
7765  void add_descriptor(flatbuffers::Offset<armnnSerializer::ViewsDescriptor> descriptor) {
7766  fbb_.AddOffset(SplitterLayer::VT_DESCRIPTOR, descriptor);
7767  }
7768  explicit SplitterLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7769  : fbb_(_fbb) {
7770  start_ = fbb_.StartTable();
7771  }
7772  SplitterLayerBuilder &operator=(const SplitterLayerBuilder &);
7773  flatbuffers::Offset<SplitterLayer> Finish() {
7774  const auto end = fbb_.EndTable(start_);
7775  auto o = flatbuffers::Offset<SplitterLayer>(end);
7776  return o;
7777  }
7778 };
7779 
7780 inline flatbuffers::Offset<SplitterLayer> CreateSplitterLayer(
7781  flatbuffers::FlatBufferBuilder &_fbb,
7782  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
7783  flatbuffers::Offset<armnnSerializer::ViewsDescriptor> descriptor = 0) {
7784  SplitterLayerBuilder builder_(_fbb);
7785  builder_.add_descriptor(descriptor);
7786  builder_.add_base(base);
7787  return builder_.Finish();
7788 }
7789 
7790 struct DetectionPostProcessLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7792  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7793  VT_BASE = 4,
7794  VT_DESCRIPTOR = 6,
7795  VT_ANCHORS = 8
7796  };
7797  const armnnSerializer::LayerBase *base() const {
7798  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
7799  }
7800  const armnnSerializer::DetectionPostProcessDescriptor *descriptor() const {
7801  return GetPointer<const armnnSerializer::DetectionPostProcessDescriptor *>(VT_DESCRIPTOR);
7802  }
7803  const armnnSerializer::ConstTensor *anchors() const {
7804  return GetPointer<const armnnSerializer::ConstTensor *>(VT_ANCHORS);
7805  }
7806  bool Verify(flatbuffers::Verifier &verifier) const {
7807  return VerifyTableStart(verifier) &&
7808  VerifyOffset(verifier, VT_BASE) &&
7809  verifier.VerifyTable(base()) &&
7810  VerifyOffset(verifier, VT_DESCRIPTOR) &&
7811  verifier.VerifyTable(descriptor()) &&
7812  VerifyOffset(verifier, VT_ANCHORS) &&
7813  verifier.VerifyTable(anchors()) &&
7814  verifier.EndTable();
7815  }
7816 };
7817 
7819  typedef DetectionPostProcessLayer Table;
7820  flatbuffers::FlatBufferBuilder &fbb_;
7821  flatbuffers::uoffset_t start_;
7822  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
7823  fbb_.AddOffset(DetectionPostProcessLayer::VT_BASE, base);
7824  }
7825  void add_descriptor(flatbuffers::Offset<armnnSerializer::DetectionPostProcessDescriptor> descriptor) {
7826  fbb_.AddOffset(DetectionPostProcessLayer::VT_DESCRIPTOR, descriptor);
7827  }
7828  void add_anchors(flatbuffers::Offset<armnnSerializer::ConstTensor> anchors) {
7829  fbb_.AddOffset(DetectionPostProcessLayer::VT_ANCHORS, anchors);
7830  }
7831  explicit DetectionPostProcessLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7832  : fbb_(_fbb) {
7833  start_ = fbb_.StartTable();
7834  }
7836  flatbuffers::Offset<DetectionPostProcessLayer> Finish() {
7837  const auto end = fbb_.EndTable(start_);
7838  auto o = flatbuffers::Offset<DetectionPostProcessLayer>(end);
7839  return o;
7840  }
7841 };
7842 
7843 inline flatbuffers::Offset<DetectionPostProcessLayer> CreateDetectionPostProcessLayer(
7844  flatbuffers::FlatBufferBuilder &_fbb,
7845  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
7846  flatbuffers::Offset<armnnSerializer::DetectionPostProcessDescriptor> descriptor = 0,
7847  flatbuffers::Offset<armnnSerializer::ConstTensor> anchors = 0) {
7848  DetectionPostProcessLayerBuilder builder_(_fbb);
7849  builder_.add_anchors(anchors);
7850  builder_.add_descriptor(descriptor);
7851  builder_.add_base(base);
7852  return builder_.Finish();
7853 }
7854 
7855 struct DetectionPostProcessDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7857  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7868  VT_SCALEH = 24
7869  };
7870  uint32_t maxDetections() const {
7871  return GetField<uint32_t>(VT_MAXDETECTIONS, 0);
7872  }
7873  uint32_t maxClassesPerDetection() const {
7874  return GetField<uint32_t>(VT_MAXCLASSESPERDETECTION, 0);
7875  }
7876  uint32_t detectionsPerClass() const {
7877  return GetField<uint32_t>(VT_DETECTIONSPERCLASS, 0);
7878  }
7879  float nmsScoreThreshold() const {
7880  return GetField<float>(VT_NMSSCORETHRESHOLD, 0.0f);
7881  }
7882  float nmsIouThreshold() const {
7883  return GetField<float>(VT_NMSIOUTHRESHOLD, 0.0f);
7884  }
7885  uint32_t numClasses() const {
7886  return GetField<uint32_t>(VT_NUMCLASSES, 0);
7887  }
7888  bool useRegularNms() const {
7889  return GetField<uint8_t>(VT_USEREGULARNMS, 0) != 0;
7890  }
7891  float scaleX() const {
7892  return GetField<float>(VT_SCALEX, 0.0f);
7893  }
7894  float scaleY() const {
7895  return GetField<float>(VT_SCALEY, 0.0f);
7896  }
7897  float scaleW() const {
7898  return GetField<float>(VT_SCALEW, 0.0f);
7899  }
7900  float scaleH() const {
7901  return GetField<float>(VT_SCALEH, 0.0f);
7902  }
7903  bool Verify(flatbuffers::Verifier &verifier) const {
7904  return VerifyTableStart(verifier) &&
7905  VerifyField<uint32_t>(verifier, VT_MAXDETECTIONS) &&
7906  VerifyField<uint32_t>(verifier, VT_MAXCLASSESPERDETECTION) &&
7907  VerifyField<uint32_t>(verifier, VT_DETECTIONSPERCLASS) &&
7908  VerifyField<float>(verifier, VT_NMSSCORETHRESHOLD) &&
7909  VerifyField<float>(verifier, VT_NMSIOUTHRESHOLD) &&
7910  VerifyField<uint32_t>(verifier, VT_NUMCLASSES) &&
7911  VerifyField<uint8_t>(verifier, VT_USEREGULARNMS) &&
7912  VerifyField<float>(verifier, VT_SCALEX) &&
7913  VerifyField<float>(verifier, VT_SCALEY) &&
7914  VerifyField<float>(verifier, VT_SCALEW) &&
7915  VerifyField<float>(verifier, VT_SCALEH) &&
7916  verifier.EndTable();
7917  }
7918 };
7919 
7921  typedef DetectionPostProcessDescriptor Table;
7922  flatbuffers::FlatBufferBuilder &fbb_;
7923  flatbuffers::uoffset_t start_;
7924  void add_maxDetections(uint32_t maxDetections) {
7925  fbb_.AddElement<uint32_t>(DetectionPostProcessDescriptor::VT_MAXDETECTIONS, maxDetections, 0);
7926  }
7927  void add_maxClassesPerDetection(uint32_t maxClassesPerDetection) {
7928  fbb_.AddElement<uint32_t>(DetectionPostProcessDescriptor::VT_MAXCLASSESPERDETECTION, maxClassesPerDetection, 0);
7929  }
7930  void add_detectionsPerClass(uint32_t detectionsPerClass) {
7931  fbb_.AddElement<uint32_t>(DetectionPostProcessDescriptor::VT_DETECTIONSPERCLASS, detectionsPerClass, 0);
7932  }
7933  void add_nmsScoreThreshold(float nmsScoreThreshold) {
7934  fbb_.AddElement<float>(DetectionPostProcessDescriptor::VT_NMSSCORETHRESHOLD, nmsScoreThreshold, 0.0f);
7935  }
7936  void add_nmsIouThreshold(float nmsIouThreshold) {
7937  fbb_.AddElement<float>(DetectionPostProcessDescriptor::VT_NMSIOUTHRESHOLD, nmsIouThreshold, 0.0f);
7938  }
7939  void add_numClasses(uint32_t numClasses) {
7940  fbb_.AddElement<uint32_t>(DetectionPostProcessDescriptor::VT_NUMCLASSES, numClasses, 0);
7941  }
7942  void add_useRegularNms(bool useRegularNms) {
7943  fbb_.AddElement<uint8_t>(DetectionPostProcessDescriptor::VT_USEREGULARNMS, static_cast<uint8_t>(useRegularNms), 0);
7944  }
7945  void add_scaleX(float scaleX) {
7946  fbb_.AddElement<float>(DetectionPostProcessDescriptor::VT_SCALEX, scaleX, 0.0f);
7947  }
7948  void add_scaleY(float scaleY) {
7949  fbb_.AddElement<float>(DetectionPostProcessDescriptor::VT_SCALEY, scaleY, 0.0f);
7950  }
7951  void add_scaleW(float scaleW) {
7952  fbb_.AddElement<float>(DetectionPostProcessDescriptor::VT_SCALEW, scaleW, 0.0f);
7953  }
7954  void add_scaleH(float scaleH) {
7955  fbb_.AddElement<float>(DetectionPostProcessDescriptor::VT_SCALEH, scaleH, 0.0f);
7956  }
7957  explicit DetectionPostProcessDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7958  : fbb_(_fbb) {
7959  start_ = fbb_.StartTable();
7960  }
7962  flatbuffers::Offset<DetectionPostProcessDescriptor> Finish() {
7963  const auto end = fbb_.EndTable(start_);
7964  auto o = flatbuffers::Offset<DetectionPostProcessDescriptor>(end);
7965  return o;
7966  }
7967 };
7968 
7969 inline flatbuffers::Offset<DetectionPostProcessDescriptor> CreateDetectionPostProcessDescriptor(
7970  flatbuffers::FlatBufferBuilder &_fbb,
7971  uint32_t maxDetections = 0,
7972  uint32_t maxClassesPerDetection = 0,
7973  uint32_t detectionsPerClass = 0,
7974  float nmsScoreThreshold = 0.0f,
7975  float nmsIouThreshold = 0.0f,
7976  uint32_t numClasses = 0,
7977  bool useRegularNms = false,
7978  float scaleX = 0.0f,
7979  float scaleY = 0.0f,
7980  float scaleW = 0.0f,
7981  float scaleH = 0.0f) {
7983  builder_.add_scaleH(scaleH);
7984  builder_.add_scaleW(scaleW);
7985  builder_.add_scaleY(scaleY);
7986  builder_.add_scaleX(scaleX);
7987  builder_.add_numClasses(numClasses);
7988  builder_.add_nmsIouThreshold(nmsIouThreshold);
7989  builder_.add_nmsScoreThreshold(nmsScoreThreshold);
7990  builder_.add_detectionsPerClass(detectionsPerClass);
7991  builder_.add_maxClassesPerDetection(maxClassesPerDetection);
7992  builder_.add_maxDetections(maxDetections);
7993  builder_.add_useRegularNms(useRegularNms);
7994  return builder_.Finish();
7995 }
7996 
7997 struct LstmInputParams FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7999  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
8020  VT_OUTPUTLAYERNORMWEIGHTS = 44
8021  };
8022  const armnnSerializer::ConstTensor *inputToForgetWeights() const {
8023  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOFORGETWEIGHTS);
8024  }
8025  const armnnSerializer::ConstTensor *inputToCellWeights() const {
8026  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOCELLWEIGHTS);
8027  }
8028  const armnnSerializer::ConstTensor *inputToOutputWeights() const {
8029  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOOUTPUTWEIGHTS);
8030  }
8031  const armnnSerializer::ConstTensor *recurrentToForgetWeights() const {
8032  return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOFORGETWEIGHTS);
8033  }
8034  const armnnSerializer::ConstTensor *recurrentToCellWeights() const {
8035  return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOCELLWEIGHTS);
8036  }
8037  const armnnSerializer::ConstTensor *recurrentToOutputWeights() const {
8038  return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOOUTPUTWEIGHTS);
8039  }
8040  const armnnSerializer::ConstTensor *forgetGateBias() const {
8041  return GetPointer<const armnnSerializer::ConstTensor *>(VT_FORGETGATEBIAS);
8042  }
8043  const armnnSerializer::ConstTensor *cellBias() const {
8044  return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLBIAS);
8045  }
8046  const armnnSerializer::ConstTensor *outputGateBias() const {
8047  return GetPointer<const armnnSerializer::ConstTensor *>(VT_OUTPUTGATEBIAS);
8048  }
8049  const armnnSerializer::ConstTensor *inputToInputWeights() const {
8050  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOINPUTWEIGHTS);
8051  }
8052  const armnnSerializer::ConstTensor *recurrentToInputWeights() const {
8053  return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOINPUTWEIGHTS);
8054  }
8055  const armnnSerializer::ConstTensor *cellToInputWeights() const {
8056  return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLTOINPUTWEIGHTS);
8057  }
8058  const armnnSerializer::ConstTensor *inputGateBias() const {
8059  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTGATEBIAS);
8060  }
8061  const armnnSerializer::ConstTensor *projectionWeights() const {
8062  return GetPointer<const armnnSerializer::ConstTensor *>(VT_PROJECTIONWEIGHTS);
8063  }
8064  const armnnSerializer::ConstTensor *projectionBias() const {
8065  return GetPointer<const armnnSerializer::ConstTensor *>(VT_PROJECTIONBIAS);
8066  }
8067  const armnnSerializer::ConstTensor *cellToForgetWeights() const {
8068  return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLTOFORGETWEIGHTS);
8069  }
8070  const armnnSerializer::ConstTensor *cellToOutputWeights() const {
8071  return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLTOOUTPUTWEIGHTS);
8072  }
8073  const armnnSerializer::ConstTensor *inputLayerNormWeights() const {
8074  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTLAYERNORMWEIGHTS);
8075  }
8076  const armnnSerializer::ConstTensor *forgetLayerNormWeights() const {
8077  return GetPointer<const armnnSerializer::ConstTensor *>(VT_FORGETLAYERNORMWEIGHTS);
8078  }
8079  const armnnSerializer::ConstTensor *cellLayerNormWeights() const {
8080  return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLLAYERNORMWEIGHTS);
8081  }
8082  const armnnSerializer::ConstTensor *outputLayerNormWeights() const {
8083  return GetPointer<const armnnSerializer::ConstTensor *>(VT_OUTPUTLAYERNORMWEIGHTS);
8084  }
8085  bool Verify(flatbuffers::Verifier &verifier) const {
8086  return VerifyTableStart(verifier) &&
8087  VerifyOffset(verifier, VT_INPUTTOFORGETWEIGHTS) &&
8088  verifier.VerifyTable(inputToForgetWeights()) &&
8089  VerifyOffset(verifier, VT_INPUTTOCELLWEIGHTS) &&
8090  verifier.VerifyTable(inputToCellWeights()) &&
8091  VerifyOffset(verifier, VT_INPUTTOOUTPUTWEIGHTS) &&
8092  verifier.VerifyTable(inputToOutputWeights()) &&
8093  VerifyOffset(verifier, VT_RECURRENTTOFORGETWEIGHTS) &&
8094  verifier.VerifyTable(recurrentToForgetWeights()) &&
8095  VerifyOffset(verifier, VT_RECURRENTTOCELLWEIGHTS) &&
8096  verifier.VerifyTable(recurrentToCellWeights()) &&
8097  VerifyOffset(verifier, VT_RECURRENTTOOUTPUTWEIGHTS) &&
8098  verifier.VerifyTable(recurrentToOutputWeights()) &&
8099  VerifyOffset(verifier, VT_FORGETGATEBIAS) &&
8100  verifier.VerifyTable(forgetGateBias()) &&
8101  VerifyOffset(verifier, VT_CELLBIAS) &&
8102  verifier.VerifyTable(cellBias()) &&
8103  VerifyOffset(verifier, VT_OUTPUTGATEBIAS) &&
8104  verifier.VerifyTable(outputGateBias()) &&
8105  VerifyOffset(verifier, VT_INPUTTOINPUTWEIGHTS) &&
8106  verifier.VerifyTable(inputToInputWeights()) &&
8107  VerifyOffset(verifier, VT_RECURRENTTOINPUTWEIGHTS) &&
8108  verifier.VerifyTable(recurrentToInputWeights()) &&
8109  VerifyOffset(verifier, VT_CELLTOINPUTWEIGHTS) &&
8110  verifier.VerifyTable(cellToInputWeights()) &&
8111  VerifyOffset(verifier, VT_INPUTGATEBIAS) &&
8112  verifier.VerifyTable(inputGateBias()) &&
8113  VerifyOffset(verifier, VT_PROJECTIONWEIGHTS) &&
8114  verifier.VerifyTable(projectionWeights()) &&
8115  VerifyOffset(verifier, VT_PROJECTIONBIAS) &&
8116  verifier.VerifyTable(projectionBias()) &&
8117  VerifyOffset(verifier, VT_CELLTOFORGETWEIGHTS) &&
8118  verifier.VerifyTable(cellToForgetWeights()) &&
8119  VerifyOffset(verifier, VT_CELLTOOUTPUTWEIGHTS) &&
8120  verifier.VerifyTable(cellToOutputWeights()) &&
8121  VerifyOffset(verifier, VT_INPUTLAYERNORMWEIGHTS) &&
8122  verifier.VerifyTable(inputLayerNormWeights()) &&
8123  VerifyOffset(verifier, VT_FORGETLAYERNORMWEIGHTS) &&
8124  verifier.VerifyTable(forgetLayerNormWeights()) &&
8125  VerifyOffset(verifier, VT_CELLLAYERNORMWEIGHTS) &&
8126  verifier.VerifyTable(cellLayerNormWeights()) &&
8127  VerifyOffset(verifier, VT_OUTPUTLAYERNORMWEIGHTS) &&
8128  verifier.VerifyTable(outputLayerNormWeights()) &&
8129  verifier.EndTable();
8130  }
8131 };
8132 
8134  typedef LstmInputParams Table;
8135  flatbuffers::FlatBufferBuilder &fbb_;
8136  flatbuffers::uoffset_t start_;
8137  void add_inputToForgetWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToForgetWeights) {
8138  fbb_.AddOffset(LstmInputParams::VT_INPUTTOFORGETWEIGHTS, inputToForgetWeights);
8139  }
8140  void add_inputToCellWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToCellWeights) {
8141  fbb_.AddOffset(LstmInputParams::VT_INPUTTOCELLWEIGHTS, inputToCellWeights);
8142  }
8143  void add_inputToOutputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToOutputWeights) {
8144  fbb_.AddOffset(LstmInputParams::VT_INPUTTOOUTPUTWEIGHTS, inputToOutputWeights);
8145  }
8146  void add_recurrentToForgetWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToForgetWeights) {
8147  fbb_.AddOffset(LstmInputParams::VT_RECURRENTTOFORGETWEIGHTS, recurrentToForgetWeights);
8148  }
8149  void add_recurrentToCellWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToCellWeights) {
8150  fbb_.AddOffset(LstmInputParams::VT_RECURRENTTOCELLWEIGHTS, recurrentToCellWeights);
8151  }
8152  void add_recurrentToOutputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToOutputWeights) {
8153  fbb_.AddOffset(LstmInputParams::VT_RECURRENTTOOUTPUTWEIGHTS, recurrentToOutputWeights);
8154  }
8155  void add_forgetGateBias(flatbuffers::Offset<armnnSerializer::ConstTensor> forgetGateBias) {
8156  fbb_.AddOffset(LstmInputParams::VT_FORGETGATEBIAS, forgetGateBias);
8157  }
8158  void add_cellBias(flatbuffers::Offset<armnnSerializer::ConstTensor> cellBias) {
8159  fbb_.AddOffset(LstmInputParams::VT_CELLBIAS, cellBias);
8160  }
8161  void add_outputGateBias(flatbuffers::Offset<armnnSerializer::ConstTensor> outputGateBias) {
8162  fbb_.AddOffset(LstmInputParams::VT_OUTPUTGATEBIAS, outputGateBias);
8163  }
8164  void add_inputToInputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToInputWeights) {
8165  fbb_.AddOffset(LstmInputParams::VT_INPUTTOINPUTWEIGHTS, inputToInputWeights);
8166  }
8167  void add_recurrentToInputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToInputWeights) {
8168  fbb_.AddOffset(LstmInputParams::VT_RECURRENTTOINPUTWEIGHTS, recurrentToInputWeights);
8169  }
8170  void add_cellToInputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> cellToInputWeights) {
8171  fbb_.AddOffset(LstmInputParams::VT_CELLTOINPUTWEIGHTS, cellToInputWeights);
8172  }
8173  void add_inputGateBias(flatbuffers::Offset<armnnSerializer::ConstTensor> inputGateBias) {
8174  fbb_.AddOffset(LstmInputParams::VT_INPUTGATEBIAS, inputGateBias);
8175  }
8176  void add_projectionWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> projectionWeights) {
8177  fbb_.AddOffset(LstmInputParams::VT_PROJECTIONWEIGHTS, projectionWeights);
8178  }
8179  void add_projectionBias(flatbuffers::Offset<armnnSerializer::ConstTensor> projectionBias) {
8180  fbb_.AddOffset(LstmInputParams::VT_PROJECTIONBIAS, projectionBias);
8181  }
8182  void add_cellToForgetWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> cellToForgetWeights) {
8183  fbb_.AddOffset(LstmInputParams::VT_CELLTOFORGETWEIGHTS, cellToForgetWeights);
8184  }
8185  void add_cellToOutputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> cellToOutputWeights) {
8186  fbb_.AddOffset(LstmInputParams::VT_CELLTOOUTPUTWEIGHTS, cellToOutputWeights);
8187  }
8188  void add_inputLayerNormWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputLayerNormWeights) {
8189  fbb_.AddOffset(LstmInputParams::VT_INPUTLAYERNORMWEIGHTS, inputLayerNormWeights);
8190  }
8191  void add_forgetLayerNormWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> forgetLayerNormWeights) {
8192  fbb_.AddOffset(LstmInputParams::VT_FORGETLAYERNORMWEIGHTS, forgetLayerNormWeights);
8193  }
8194  void add_cellLayerNormWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> cellLayerNormWeights) {
8195  fbb_.AddOffset(LstmInputParams::VT_CELLLAYERNORMWEIGHTS, cellLayerNormWeights);
8196  }
8197  void add_outputLayerNormWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> outputLayerNormWeights) {
8198  fbb_.AddOffset(LstmInputParams::VT_OUTPUTLAYERNORMWEIGHTS, outputLayerNormWeights);
8199  }
8200  explicit LstmInputParamsBuilder(flatbuffers::FlatBufferBuilder &_fbb)
8201  : fbb_(_fbb) {
8202  start_ = fbb_.StartTable();
8203  }
8204  LstmInputParamsBuilder &operator=(const LstmInputParamsBuilder &);
8205  flatbuffers::Offset<LstmInputParams> Finish() {
8206  const auto end = fbb_.EndTable(start_);
8207  auto o = flatbuffers::Offset<LstmInputParams>(end);
8208  return o;
8209  }
8210 };
8211 
8212 inline flatbuffers::Offset<LstmInputParams> CreateLstmInputParams(
8213  flatbuffers::FlatBufferBuilder &_fbb,
8214  flatbuffers::Offset<armnnSerializer::ConstTensor> inputToForgetWeights = 0,
8215  flatbuffers::Offset<armnnSerializer::ConstTensor> inputToCellWeights = 0,
8216  flatbuffers::Offset<armnnSerializer::ConstTensor> inputToOutputWeights = 0,
8217  flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToForgetWeights = 0,
8218  flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToCellWeights = 0,
8219  flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToOutputWeights = 0,
8220  flatbuffers::Offset<armnnSerializer::ConstTensor> forgetGateBias = 0,
8221  flatbuffers::Offset<armnnSerializer::ConstTensor> cellBias = 0,
8222  flatbuffers::Offset<armnnSerializer::ConstTensor> outputGateBias = 0,
8223  flatbuffers::Offset<armnnSerializer::ConstTensor> inputToInputWeights = 0,
8224  flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToInputWeights = 0,
8225  flatbuffers::Offset<armnnSerializer::ConstTensor> cellToInputWeights = 0,
8226  flatbuffers::Offset<armnnSerializer::ConstTensor> inputGateBias = 0,
8227  flatbuffers::Offset<armnnSerializer::ConstTensor> projectionWeights = 0,
8228  flatbuffers::Offset<armnnSerializer::ConstTensor> projectionBias = 0,
8229  flatbuffers::Offset<armnnSerializer::ConstTensor> cellToForgetWeights = 0,
8230  flatbuffers::Offset<armnnSerializer::ConstTensor> cellToOutputWeights = 0,
8231  flatbuffers::Offset<armnnSerializer::ConstTensor> inputLayerNormWeights = 0,
8232  flatbuffers::Offset<armnnSerializer::ConstTensor> forgetLayerNormWeights = 0,
8233  flatbuffers::Offset<armnnSerializer::ConstTensor> cellLayerNormWeights = 0,
8234  flatbuffers::Offset<armnnSerializer::ConstTensor> outputLayerNormWeights = 0) {
8235  LstmInputParamsBuilder builder_(_fbb);
8236  builder_.add_outputLayerNormWeights(outputLayerNormWeights);
8237  builder_.add_cellLayerNormWeights(cellLayerNormWeights);
8238  builder_.add_forgetLayerNormWeights(forgetLayerNormWeights);
8239  builder_.add_inputLayerNormWeights(inputLayerNormWeights);
8240  builder_.add_cellToOutputWeights(cellToOutputWeights);
8241  builder_.add_cellToForgetWeights(cellToForgetWeights);
8242  builder_.add_projectionBias(projectionBias);
8243  builder_.add_projectionWeights(projectionWeights);
8244  builder_.add_inputGateBias(inputGateBias);
8245  builder_.add_cellToInputWeights(cellToInputWeights);
8246  builder_.add_recurrentToInputWeights(recurrentToInputWeights);
8247  builder_.add_inputToInputWeights(inputToInputWeights);
8248  builder_.add_outputGateBias(outputGateBias);
8249  builder_.add_cellBias(cellBias);
8250  builder_.add_forgetGateBias(forgetGateBias);
8251  builder_.add_recurrentToOutputWeights(recurrentToOutputWeights);
8252  builder_.add_recurrentToCellWeights(recurrentToCellWeights);
8253  builder_.add_recurrentToForgetWeights(recurrentToForgetWeights);
8254  builder_.add_inputToOutputWeights(inputToOutputWeights);
8255  builder_.add_inputToCellWeights(inputToCellWeights);
8256  builder_.add_inputToForgetWeights(inputToForgetWeights);
8257  return builder_.Finish();
8258 }
8259 
8260 struct LstmDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
8262  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
8269  VT_LAYERNORMENABLED = 16
8270  };
8271  uint32_t activationFunc() const {
8272  return GetField<uint32_t>(VT_ACTIVATIONFUNC, 0);
8273  }
8274  float clippingThresCell() const {
8275  return GetField<float>(VT_CLIPPINGTHRESCELL, 0.0f);
8276  }
8277  float clippingThresProj() const {
8278  return GetField<float>(VT_CLIPPINGTHRESPROJ, 0.0f);
8279  }
8280  bool cifgEnabled() const {
8281  return GetField<uint8_t>(VT_CIFGENABLED, 1) != 0;
8282  }
8283  bool peepholeEnabled() const {
8284  return GetField<uint8_t>(VT_PEEPHOLEENABLED, 0) != 0;
8285  }
8286  bool projectionEnabled() const {
8287  return GetField<uint8_t>(VT_PROJECTIONENABLED, 0) != 0;
8288  }
8289  bool layerNormEnabled() const {
8290  return GetField<uint8_t>(VT_LAYERNORMENABLED, 0) != 0;
8291  }
8292  bool Verify(flatbuffers::Verifier &verifier) const {
8293  return VerifyTableStart(verifier) &&
8294  VerifyField<uint32_t>(verifier, VT_ACTIVATIONFUNC) &&
8295  VerifyField<float>(verifier, VT_CLIPPINGTHRESCELL) &&
8296  VerifyField<float>(verifier, VT_CLIPPINGTHRESPROJ) &&
8297  VerifyField<uint8_t>(verifier, VT_CIFGENABLED) &&
8298  VerifyField<uint8_t>(verifier, VT_PEEPHOLEENABLED) &&
8299  VerifyField<uint8_t>(verifier, VT_PROJECTIONENABLED) &&
8300  VerifyField<uint8_t>(verifier, VT_LAYERNORMENABLED) &&
8301  verifier.EndTable();
8302  }
8303 };
8304 
8306  typedef LstmDescriptor Table;
8307  flatbuffers::FlatBufferBuilder &fbb_;
8308  flatbuffers::uoffset_t start_;
8309  void add_activationFunc(uint32_t activationFunc) {
8310  fbb_.AddElement<uint32_t>(LstmDescriptor::VT_ACTIVATIONFUNC, activationFunc, 0);
8311  }
8312  void add_clippingThresCell(float clippingThresCell) {
8313  fbb_.AddElement<float>(LstmDescriptor::VT_CLIPPINGTHRESCELL, clippingThresCell, 0.0f);
8314  }
8315  void add_clippingThresProj(float clippingThresProj) {
8316  fbb_.AddElement<float>(LstmDescriptor::VT_CLIPPINGTHRESPROJ, clippingThresProj, 0.0f);
8317  }
8318  void add_cifgEnabled(bool cifgEnabled) {
8319  fbb_.AddElement<uint8_t>(LstmDescriptor::VT_CIFGENABLED, static_cast<uint8_t>(cifgEnabled), 1);
8320  }
8321  void add_peepholeEnabled(bool peepholeEnabled) {
8322  fbb_.AddElement<uint8_t>(LstmDescriptor::VT_PEEPHOLEENABLED, static_cast<uint8_t>(peepholeEnabled), 0);
8323  }
8324  void add_projectionEnabled(bool projectionEnabled) {
8325  fbb_.AddElement<uint8_t>(LstmDescriptor::VT_PROJECTIONENABLED, static_cast<uint8_t>(projectionEnabled), 0);
8326  }
8327  void add_layerNormEnabled(bool layerNormEnabled) {
8328  fbb_.AddElement<uint8_t>(LstmDescriptor::VT_LAYERNORMENABLED, static_cast<uint8_t>(layerNormEnabled), 0);
8329  }
8330  explicit LstmDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
8331  : fbb_(_fbb) {
8332  start_ = fbb_.StartTable();
8333  }
8334  LstmDescriptorBuilder &operator=(const LstmDescriptorBuilder &);
8335  flatbuffers::Offset<LstmDescriptor> Finish() {
8336  const auto end = fbb_.EndTable(start_);
8337  auto o = flatbuffers::Offset<LstmDescriptor>(end);
8338  return o;
8339  }
8340 };
8341 
8342 inline flatbuffers::Offset<LstmDescriptor> CreateLstmDescriptor(
8343  flatbuffers::FlatBufferBuilder &_fbb,
8344  uint32_t activationFunc = 0,
8345  float clippingThresCell = 0.0f,
8346  float clippingThresProj = 0.0f,
8347  bool cifgEnabled = true,
8348  bool peepholeEnabled = false,
8349  bool projectionEnabled = false,
8350  bool layerNormEnabled = false) {
8351  LstmDescriptorBuilder builder_(_fbb);
8352  builder_.add_clippingThresProj(clippingThresProj);
8353  builder_.add_clippingThresCell(clippingThresCell);
8354  builder_.add_activationFunc(activationFunc);
8355  builder_.add_layerNormEnabled(layerNormEnabled);
8356  builder_.add_projectionEnabled(projectionEnabled);
8357  builder_.add_peepholeEnabled(peepholeEnabled);
8358  builder_.add_cifgEnabled(cifgEnabled);
8359  return builder_.Finish();
8360 }
8361 
8362 struct LstmLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
8364  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
8365  VT_BASE = 4,
8366  VT_DESCRIPTOR = 6,
8367  VT_INPUTPARAMS = 8
8368  };
8369  const armnnSerializer::LayerBase *base() const {
8370  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
8371  }
8372  const armnnSerializer::LstmDescriptor *descriptor() const {
8373  return GetPointer<const armnnSerializer::LstmDescriptor *>(VT_DESCRIPTOR);
8374  }
8375  const armnnSerializer::LstmInputParams *inputParams() const {
8376  return GetPointer<const armnnSerializer::LstmInputParams *>(VT_INPUTPARAMS);
8377  }
8378  bool Verify(flatbuffers::Verifier &verifier) const {
8379  return VerifyTableStart(verifier) &&
8380  VerifyOffset(verifier, VT_BASE) &&
8381  verifier.VerifyTable(base()) &&
8382  VerifyOffset(verifier, VT_DESCRIPTOR) &&
8383  verifier.VerifyTable(descriptor()) &&
8384  VerifyOffset(verifier, VT_INPUTPARAMS) &&
8385  verifier.VerifyTable(inputParams()) &&
8386  verifier.EndTable();
8387  }
8388 };
8389 
8391  typedef LstmLayer Table;
8392  flatbuffers::FlatBufferBuilder &fbb_;
8393  flatbuffers::uoffset_t start_;
8394  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
8395  fbb_.AddOffset(LstmLayer::VT_BASE, base);
8396  }
8397  void add_descriptor(flatbuffers::Offset<armnnSerializer::LstmDescriptor> descriptor) {
8398  fbb_.AddOffset(LstmLayer::VT_DESCRIPTOR, descriptor);
8399  }
8400  void add_inputParams(flatbuffers::Offset<armnnSerializer::LstmInputParams> inputParams) {
8401  fbb_.AddOffset(LstmLayer::VT_INPUTPARAMS, inputParams);
8402  }
8403  explicit LstmLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
8404  : fbb_(_fbb) {
8405  start_ = fbb_.StartTable();
8406  }
8407  LstmLayerBuilder &operator=(const LstmLayerBuilder &);
8408  flatbuffers::Offset<LstmLayer> Finish() {
8409  const auto end = fbb_.EndTable(start_);
8410  auto o = flatbuffers::Offset<LstmLayer>(end);
8411  return o;
8412  }
8413 };
8414 
8415 inline flatbuffers::Offset<LstmLayer> CreateLstmLayer(
8416  flatbuffers::FlatBufferBuilder &_fbb,
8417  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
8418  flatbuffers::Offset<armnnSerializer::LstmDescriptor> descriptor = 0,
8419  flatbuffers::Offset<armnnSerializer::LstmInputParams> inputParams = 0) {
8420  LstmLayerBuilder builder_(_fbb);
8421  builder_.add_inputParams(inputParams);
8422  builder_.add_descriptor(descriptor);
8423  builder_.add_base(base);
8424  return builder_.Finish();
8425 }
8426 
8427 struct QLstmInputParams FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
8429  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
8436  VT_FORGETGATEBIAS = 16,
8437  VT_CELLBIAS = 18,
8438  VT_OUTPUTGATEBIAS = 20,
8441  VT_INPUTGATEBIAS = 26,
8442  VT_PROJECTIONWEIGHTS = 28,
8443  VT_PROJECTIONBIAS = 30,
8444  VT_CELLTOINPUTWEIGHTS = 32,
8450  VT_OUTPUTLAYERNORMWEIGHTS = 44
8451  };
8452  const armnnSerializer::ConstTensor *inputToForgetWeights() const {
8453  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOFORGETWEIGHTS);
8454  }
8455  const armnnSerializer::ConstTensor *inputToCellWeights() const {
8456  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOCELLWEIGHTS);
8457  }
8458  const armnnSerializer::ConstTensor *inputToOutputWeights() const {
8459  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOOUTPUTWEIGHTS);
8460  }
8461  const armnnSerializer::ConstTensor *recurrentToForgetWeights() const {
8462  return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOFORGETWEIGHTS);
8463  }
8464  const armnnSerializer::ConstTensor *recurrentToCellWeights() const {
8465  return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOCELLWEIGHTS);
8466  }
8467  const armnnSerializer::ConstTensor *recurrentToOutputWeights() const {
8468  return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOOUTPUTWEIGHTS);
8469  }
8470  const armnnSerializer::ConstTensor *forgetGateBias() const {
8471  return GetPointer<const armnnSerializer::ConstTensor *>(VT_FORGETGATEBIAS);
8472  }
8473  const armnnSerializer::ConstTensor *cellBias() const {
8474  return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLBIAS);
8475  }
8476  const armnnSerializer::ConstTensor *outputGateBias() const {
8477  return GetPointer<const armnnSerializer::ConstTensor *>(VT_OUTPUTGATEBIAS);
8478  }
8479  const armnnSerializer::ConstTensor *inputToInputWeights() const {
8480  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOINPUTWEIGHTS);
8481  }
8482  const armnnSerializer::ConstTensor *recurrentToInputWeights() const {
8483  return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOINPUTWEIGHTS);
8484  }
8485  const armnnSerializer::ConstTensor *inputGateBias() const {
8486  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTGATEBIAS);
8487  }
8488  const armnnSerializer::ConstTensor *projectionWeights() const {
8489  return GetPointer<const armnnSerializer::ConstTensor *>(VT_PROJECTIONWEIGHTS);
8490  }
8491  const armnnSerializer::ConstTensor *projectionBias() const {
8492  return GetPointer<const armnnSerializer::ConstTensor *>(VT_PROJECTIONBIAS);
8493  }
8494  const armnnSerializer::ConstTensor *cellToInputWeights() const {
8495  return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLTOINPUTWEIGHTS);
8496  }
8497  const armnnSerializer::ConstTensor *cellToForgetWeights() const {
8498  return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLTOFORGETWEIGHTS);
8499  }
8500  const armnnSerializer::ConstTensor *cellToOutputWeights() const {
8501  return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLTOOUTPUTWEIGHTS);
8502  }
8503  const armnnSerializer::ConstTensor *inputLayerNormWeights() const {
8504  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTLAYERNORMWEIGHTS);
8505  }
8506  const armnnSerializer::ConstTensor *forgetLayerNormWeights() const {
8507  return GetPointer<const armnnSerializer::ConstTensor *>(VT_FORGETLAYERNORMWEIGHTS);
8508  }
8509  const armnnSerializer::ConstTensor *cellLayerNormWeights() const {
8510  return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLLAYERNORMWEIGHTS);
8511  }
8512  const armnnSerializer::ConstTensor *outputLayerNormWeights() const {
8513  return GetPointer<const armnnSerializer::ConstTensor *>(VT_OUTPUTLAYERNORMWEIGHTS);
8514  }
8515  bool Verify(flatbuffers::Verifier &verifier) const {
8516  return VerifyTableStart(verifier) &&
8517  VerifyOffset(verifier, VT_INPUTTOFORGETWEIGHTS) &&
8518  verifier.VerifyTable(inputToForgetWeights()) &&
8519  VerifyOffset(verifier, VT_INPUTTOCELLWEIGHTS) &&
8520  verifier.VerifyTable(inputToCellWeights()) &&
8521  VerifyOffset(verifier, VT_INPUTTOOUTPUTWEIGHTS) &&
8522  verifier.VerifyTable(inputToOutputWeights()) &&
8523  VerifyOffset(verifier, VT_RECURRENTTOFORGETWEIGHTS) &&
8524  verifier.VerifyTable(recurrentToForgetWeights()) &&
8525  VerifyOffset(verifier, VT_RECURRENTTOCELLWEIGHTS) &&
8526  verifier.VerifyTable(recurrentToCellWeights()) &&
8527  VerifyOffset(verifier, VT_RECURRENTTOOUTPUTWEIGHTS) &&
8528  verifier.VerifyTable(recurrentToOutputWeights()) &&
8529  VerifyOffset(verifier, VT_FORGETGATEBIAS) &&
8530  verifier.VerifyTable(forgetGateBias()) &&
8531  VerifyOffset(verifier, VT_CELLBIAS) &&
8532  verifier.VerifyTable(cellBias()) &&
8533  VerifyOffset(verifier, VT_OUTPUTGATEBIAS) &&
8534  verifier.VerifyTable(outputGateBias()) &&
8535  VerifyOffset(verifier, VT_INPUTTOINPUTWEIGHTS) &&
8536  verifier.VerifyTable(inputToInputWeights()) &&
8537  VerifyOffset(verifier, VT_RECURRENTTOINPUTWEIGHTS) &&
8538  verifier.VerifyTable(recurrentToInputWeights()) &&
8539  VerifyOffset(verifier, VT_INPUTGATEBIAS) &&
8540  verifier.VerifyTable(inputGateBias()) &&
8541  VerifyOffset(verifier, VT_PROJECTIONWEIGHTS) &&
8542  verifier.VerifyTable(projectionWeights()) &&
8543  VerifyOffset(verifier, VT_PROJECTIONBIAS) &&
8544  verifier.VerifyTable(projectionBias()) &&
8545  VerifyOffset(verifier, VT_CELLTOINPUTWEIGHTS) &&
8546  verifier.VerifyTable(cellToInputWeights()) &&
8547  VerifyOffset(verifier, VT_CELLTOFORGETWEIGHTS) &&
8548  verifier.VerifyTable(cellToForgetWeights()) &&
8549  VerifyOffset(verifier, VT_CELLTOOUTPUTWEIGHTS) &&
8550  verifier.VerifyTable(cellToOutputWeights()) &&
8551  VerifyOffset(verifier, VT_INPUTLAYERNORMWEIGHTS) &&
8552  verifier.VerifyTable(inputLayerNormWeights()) &&
8553  VerifyOffset(verifier, VT_FORGETLAYERNORMWEIGHTS) &&
8554  verifier.VerifyTable(forgetLayerNormWeights()) &&
8555  VerifyOffset(verifier, VT_CELLLAYERNORMWEIGHTS) &&
8556  verifier.VerifyTable(cellLayerNormWeights()) &&
8557  VerifyOffset(verifier, VT_OUTPUTLAYERNORMWEIGHTS) &&
8558  verifier.VerifyTable(outputLayerNormWeights()) &&
8559  verifier.EndTable();
8560  }
8561 };
8562 
8564  typedef QLstmInputParams Table;
8565  flatbuffers::FlatBufferBuilder &fbb_;
8566  flatbuffers::uoffset_t start_;
8567  void add_inputToForgetWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToForgetWeights) {
8568  fbb_.AddOffset(QLstmInputParams::VT_INPUTTOFORGETWEIGHTS, inputToForgetWeights);
8569  }
8570  void add_inputToCellWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToCellWeights) {
8571  fbb_.AddOffset(QLstmInputParams::VT_INPUTTOCELLWEIGHTS, inputToCellWeights);
8572  }
8573  void add_inputToOutputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToOutputWeights) {
8574  fbb_.AddOffset(QLstmInputParams::VT_INPUTTOOUTPUTWEIGHTS, inputToOutputWeights);
8575  }
8576  void add_recurrentToForgetWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToForgetWeights) {
8577  fbb_.AddOffset(QLstmInputParams::VT_RECURRENTTOFORGETWEIGHTS, recurrentToForgetWeights);
8578  }
8579  void add_recurrentToCellWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToCellWeights) {
8580  fbb_.AddOffset(QLstmInputParams::VT_RECURRENTTOCELLWEIGHTS, recurrentToCellWeights);
8581  }
8582  void add_recurrentToOutputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToOutputWeights) {
8583  fbb_.AddOffset(QLstmInputParams::VT_RECURRENTTOOUTPUTWEIGHTS, recurrentToOutputWeights);
8584  }
8585  void add_forgetGateBias(flatbuffers::Offset<armnnSerializer::ConstTensor> forgetGateBias) {
8586  fbb_.AddOffset(QLstmInputParams::VT_FORGETGATEBIAS, forgetGateBias);
8587  }
8588  void add_cellBias(flatbuffers::Offset<armnnSerializer::ConstTensor> cellBias) {
8589  fbb_.AddOffset(QLstmInputParams::VT_CELLBIAS, cellBias);
8590  }
8591  void add_outputGateBias(flatbuffers::Offset<armnnSerializer::ConstTensor> outputGateBias) {
8592  fbb_.AddOffset(QLstmInputParams::VT_OUTPUTGATEBIAS, outputGateBias);
8593  }
8594  void add_inputToInputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToInputWeights) {
8595  fbb_.AddOffset(QLstmInputParams::VT_INPUTTOINPUTWEIGHTS, inputToInputWeights);
8596  }
8597  void add_recurrentToInputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToInputWeights) {
8598  fbb_.AddOffset(QLstmInputParams::VT_RECURRENTTOINPUTWEIGHTS, recurrentToInputWeights);
8599  }
8600  void add_inputGateBias(flatbuffers::Offset<armnnSerializer::ConstTensor> inputGateBias) {
8601  fbb_.AddOffset(QLstmInputParams::VT_INPUTGATEBIAS, inputGateBias);
8602  }
8603  void add_projectionWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> projectionWeights) {
8604  fbb_.AddOffset(QLstmInputParams::VT_PROJECTIONWEIGHTS, projectionWeights);
8605  }
8606  void add_projectionBias(flatbuffers::Offset<armnnSerializer::ConstTensor> projectionBias) {
8607  fbb_.AddOffset(QLstmInputParams::VT_PROJECTIONBIAS, projectionBias);
8608  }
8609  void add_cellToInputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> cellToInputWeights) {
8610  fbb_.AddOffset(QLstmInputParams::VT_CELLTOINPUTWEIGHTS, cellToInputWeights);
8611  }
8612  void add_cellToForgetWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> cellToForgetWeights) {
8613  fbb_.AddOffset(QLstmInputParams::VT_CELLTOFORGETWEIGHTS, cellToForgetWeights);
8614  }
8615  void add_cellToOutputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> cellToOutputWeights) {
8616  fbb_.AddOffset(QLstmInputParams::VT_CELLTOOUTPUTWEIGHTS, cellToOutputWeights);
8617  }
8618  void add_inputLayerNormWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputLayerNormWeights) {
8619  fbb_.AddOffset(QLstmInputParams::VT_INPUTLAYERNORMWEIGHTS, inputLayerNormWeights);
8620  }
8621  void add_forgetLayerNormWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> forgetLayerNormWeights) {
8622  fbb_.AddOffset(QLstmInputParams::VT_FORGETLAYERNORMWEIGHTS, forgetLayerNormWeights);
8623  }
8624  void add_cellLayerNormWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> cellLayerNormWeights) {
8625  fbb_.AddOffset(QLstmInputParams::VT_CELLLAYERNORMWEIGHTS, cellLayerNormWeights);
8626  }
8627  void add_outputLayerNormWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> outputLayerNormWeights) {
8628  fbb_.AddOffset(QLstmInputParams::VT_OUTPUTLAYERNORMWEIGHTS, outputLayerNormWeights);
8629  }
8630  explicit QLstmInputParamsBuilder(flatbuffers::FlatBufferBuilder &_fbb)
8631  : fbb_(_fbb) {
8632  start_ = fbb_.StartTable();
8633  }
8635  flatbuffers::Offset<QLstmInputParams> Finish() {
8636  const auto end = fbb_.EndTable(start_);
8637  auto o = flatbuffers::Offset<QLstmInputParams>(end);
8638  return o;
8639  }
8640 };
8641 
8642 inline flatbuffers::Offset<QLstmInputParams> CreateQLstmInputParams(
8643  flatbuffers::FlatBufferBuilder &_fbb,
8644  flatbuffers::Offset<armnnSerializer::ConstTensor> inputToForgetWeights = 0,
8645  flatbuffers::Offset<armnnSerializer::ConstTensor> inputToCellWeights = 0,
8646  flatbuffers::Offset<armnnSerializer::ConstTensor> inputToOutputWeights = 0,
8647  flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToForgetWeights = 0,
8648  flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToCellWeights = 0,
8649  flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToOutputWeights = 0,
8650  flatbuffers::Offset<armnnSerializer::ConstTensor> forgetGateBias = 0,
8651  flatbuffers::Offset<armnnSerializer::ConstTensor> cellBias = 0,
8652  flatbuffers::Offset<armnnSerializer::ConstTensor> outputGateBias = 0,
8653  flatbuffers::Offset<armnnSerializer::ConstTensor> inputToInputWeights = 0,
8654  flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToInputWeights = 0,
8655  flatbuffers::Offset<armnnSerializer::ConstTensor> inputGateBias = 0,
8656  flatbuffers::Offset<armnnSerializer::ConstTensor> projectionWeights = 0,
8657  flatbuffers::Offset<armnnSerializer::ConstTensor> projectionBias = 0,
8658  flatbuffers::Offset<armnnSerializer::ConstTensor> cellToInputWeights = 0,
8659  flatbuffers::Offset<armnnSerializer::ConstTensor> cellToForgetWeights = 0,
8660  flatbuffers::Offset<armnnSerializer::ConstTensor> cellToOutputWeights = 0,
8661  flatbuffers::Offset<armnnSerializer::ConstTensor> inputLayerNormWeights = 0,
8662  flatbuffers::Offset<armnnSerializer::ConstTensor> forgetLayerNormWeights = 0,
8663  flatbuffers::Offset<armnnSerializer::ConstTensor> cellLayerNormWeights = 0,
8664  flatbuffers::Offset<armnnSerializer::ConstTensor> outputLayerNormWeights = 0) {
8665  QLstmInputParamsBuilder builder_(_fbb);
8666  builder_.add_outputLayerNormWeights(outputLayerNormWeights);
8667  builder_.add_cellLayerNormWeights(cellLayerNormWeights);
8668  builder_.add_forgetLayerNormWeights(forgetLayerNormWeights);
8669  builder_.add_inputLayerNormWeights(inputLayerNormWeights);
8670  builder_.add_cellToOutputWeights(cellToOutputWeights);
8671  builder_.add_cellToForgetWeights(cellToForgetWeights);
8672  builder_.add_cellToInputWeights(cellToInputWeights);
8673  builder_.add_projectionBias(projectionBias);
8674  builder_.add_projectionWeights(projectionWeights);
8675  builder_.add_inputGateBias(inputGateBias);
8676  builder_.add_recurrentToInputWeights(recurrentToInputWeights);
8677  builder_.add_inputToInputWeights(inputToInputWeights);
8678  builder_.add_outputGateBias(outputGateBias);
8679  builder_.add_cellBias(cellBias);
8680  builder_.add_forgetGateBias(forgetGateBias);
8681  builder_.add_recurrentToOutputWeights(recurrentToOutputWeights);
8682  builder_.add_recurrentToCellWeights(recurrentToCellWeights);
8683  builder_.add_recurrentToForgetWeights(recurrentToForgetWeights);
8684  builder_.add_inputToOutputWeights(inputToOutputWeights);
8685  builder_.add_inputToCellWeights(inputToCellWeights);
8686  builder_.add_inputToForgetWeights(inputToForgetWeights);
8687  return builder_.Finish();
8688 }
8689 
8690 struct QLstmDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
8692  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
8693  VT_CIFGENABLED = 4,
8694  VT_PEEPHOLEENABLED = 6,
8704  VT_HIDDENSTATESCALE = 26
8705  };
8706  bool cifgEnabled() const {
8707  return GetField<uint8_t>(VT_CIFGENABLED, 1) != 0;
8708  }
8709  bool peepholeEnabled() const {
8710  return GetField<uint8_t>(VT_PEEPHOLEENABLED, 0) != 0;
8711  }
8712  bool projectionEnabled() const {
8713  return GetField<uint8_t>(VT_PROJECTIONENABLED, 0) != 0;
8714  }
8715  bool layerNormEnabled() const {
8716  return GetField<uint8_t>(VT_LAYERNORMENABLED, 0) != 0;
8717  }
8718  float cellClip() const {
8719  return GetField<float>(VT_CELLCLIP, 0.0f);
8720  }
8721  float projectionClip() const {
8722  return GetField<float>(VT_PROJECTIONCLIP, 0.0f);
8723  }
8724  float inputIntermediateScale() const {
8725  return GetField<float>(VT_INPUTINTERMEDIATESCALE, 0.0f);
8726  }
8727  float forgetIntermediateScale() const {
8728  return GetField<float>(VT_FORGETINTERMEDIATESCALE, 0.0f);
8729  }
8730  float cellIntermediateScale() const {
8731  return GetField<float>(VT_CELLINTERMEDIATESCALE, 0.0f);
8732  }
8733  float outputIntermediateScale() const {
8734  return GetField<float>(VT_OUTPUTINTERMEDIATESCALE, 0.0f);
8735  }
8736  int32_t hiddenStateZeroPoint() const {
8737  return GetField<int32_t>(VT_HIDDENSTATEZEROPOINT, 0);
8738  }
8739  float hiddenStateScale() const {
8740  return GetField<float>(VT_HIDDENSTATESCALE, 0.0f);
8741  }
8742  bool Verify(flatbuffers::Verifier &verifier) const {
8743  return VerifyTableStart(verifier) &&
8744  VerifyField<uint8_t>(verifier, VT_CIFGENABLED) &&
8745  VerifyField<uint8_t>(verifier, VT_PEEPHOLEENABLED) &&
8746  VerifyField<uint8_t>(verifier, VT_PROJECTIONENABLED) &&
8747  VerifyField<uint8_t>(verifier, VT_LAYERNORMENABLED) &&
8748  VerifyField<float>(verifier, VT_CELLCLIP) &&
8749  VerifyField<float>(verifier, VT_PROJECTIONCLIP) &&
8750  VerifyField<float>(verifier, VT_INPUTINTERMEDIATESCALE) &&
8751  VerifyField<float>(verifier, VT_FORGETINTERMEDIATESCALE) &&
8752  VerifyField<float>(verifier, VT_CELLINTERMEDIATESCALE) &&
8753  VerifyField<float>(verifier, VT_OUTPUTINTERMEDIATESCALE) &&
8754  VerifyField<int32_t>(verifier, VT_HIDDENSTATEZEROPOINT) &&
8755  VerifyField<float>(verifier, VT_HIDDENSTATESCALE) &&
8756  verifier.EndTable();
8757  }
8758 };
8759 
8761  typedef QLstmDescriptor Table;
8762  flatbuffers::FlatBufferBuilder &fbb_;
8763  flatbuffers::uoffset_t start_;
8764  void add_cifgEnabled(bool cifgEnabled) {
8765  fbb_.AddElement<uint8_t>(QLstmDescriptor::VT_CIFGENABLED, static_cast<uint8_t>(cifgEnabled), 1);
8766  }
8767  void add_peepholeEnabled(bool peepholeEnabled) {
8768  fbb_.AddElement<uint8_t>(QLstmDescriptor::VT_PEEPHOLEENABLED, static_cast<uint8_t>(peepholeEnabled), 0);
8769  }
8770  void add_projectionEnabled(bool projectionEnabled) {
8771  fbb_.AddElement<uint8_t>(QLstmDescriptor::VT_PROJECTIONENABLED, static_cast<uint8_t>(projectionEnabled), 0);
8772  }
8773  void add_layerNormEnabled(bool layerNormEnabled) {
8774  fbb_.AddElement<uint8_t>(QLstmDescriptor::VT_LAYERNORMENABLED, static_cast<uint8_t>(layerNormEnabled), 0);
8775  }
8776  void add_cellClip(float cellClip) {
8777  fbb_.AddElement<float>(QLstmDescriptor::VT_CELLCLIP, cellClip, 0.0f);
8778  }
8779  void add_projectionClip(float projectionClip) {
8780  fbb_.AddElement<float>(QLstmDescriptor::VT_PROJECTIONCLIP, projectionClip, 0.0f);
8781  }
8782  void add_inputIntermediateScale(float inputIntermediateScale) {
8783  fbb_.AddElement<float>(QLstmDescriptor::VT_INPUTINTERMEDIATESCALE, inputIntermediateScale, 0.0f);
8784  }
8785  void add_forgetIntermediateScale(float forgetIntermediateScale) {
8786  fbb_.AddElement<float>(QLstmDescriptor::VT_FORGETINTERMEDIATESCALE, forgetIntermediateScale, 0.0f);
8787  }
8788  void add_cellIntermediateScale(float cellIntermediateScale) {
8789  fbb_.AddElement<float>(QLstmDescriptor::VT_CELLINTERMEDIATESCALE, cellIntermediateScale, 0.0f);
8790  }
8791  void add_outputIntermediateScale(float outputIntermediateScale) {
8792  fbb_.AddElement<float>(QLstmDescriptor::VT_OUTPUTINTERMEDIATESCALE, outputIntermediateScale, 0.0f);
8793  }
8794  void add_hiddenStateZeroPoint(int32_t hiddenStateZeroPoint) {
8795  fbb_.AddElement<int32_t>(QLstmDescriptor::VT_HIDDENSTATEZEROPOINT, hiddenStateZeroPoint, 0);
8796  }
8797  void add_hiddenStateScale(float hiddenStateScale) {
8798  fbb_.AddElement<float>(QLstmDescriptor::VT_HIDDENSTATESCALE, hiddenStateScale, 0.0f);
8799  }
8800  explicit QLstmDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
8801  : fbb_(_fbb) {
8802  start_ = fbb_.StartTable();
8803  }
8804  QLstmDescriptorBuilder &operator=(const QLstmDescriptorBuilder &);
8805  flatbuffers::Offset<QLstmDescriptor> Finish() {
8806  const auto end = fbb_.EndTable(start_);
8807  auto o = flatbuffers::Offset<QLstmDescriptor>(end);
8808  return o;
8809  }
8810 };
8811 
8812 inline flatbuffers::Offset<QLstmDescriptor> CreateQLstmDescriptor(
8813  flatbuffers::FlatBufferBuilder &_fbb,
8814  bool cifgEnabled = true,
8815  bool peepholeEnabled = false,
8816  bool projectionEnabled = false,
8817  bool layerNormEnabled = false,
8818  float cellClip = 0.0f,
8819  float projectionClip = 0.0f,
8820  float inputIntermediateScale = 0.0f,
8821  float forgetIntermediateScale = 0.0f,
8822  float cellIntermediateScale = 0.0f,
8823  float outputIntermediateScale = 0.0f,
8824  int32_t hiddenStateZeroPoint = 0,
8825  float hiddenStateScale = 0.0f) {
8826  QLstmDescriptorBuilder builder_(_fbb);
8827  builder_.add_hiddenStateScale(hiddenStateScale);
8828  builder_.add_hiddenStateZeroPoint(hiddenStateZeroPoint);
8829  builder_.add_outputIntermediateScale(outputIntermediateScale);
8830  builder_.add_cellIntermediateScale(cellIntermediateScale);
8831  builder_.add_forgetIntermediateScale(forgetIntermediateScale);
8832  builder_.add_inputIntermediateScale(inputIntermediateScale);
8833  builder_.add_projectionClip(projectionClip);
8834  builder_.add_cellClip(cellClip);
8835  builder_.add_layerNormEnabled(layerNormEnabled);
8836  builder_.add_projectionEnabled(projectionEnabled);
8837  builder_.add_peepholeEnabled(peepholeEnabled);
8838  builder_.add_cifgEnabled(cifgEnabled);
8839  return builder_.Finish();
8840 }
8841 
8842 struct QLstmLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
8844  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
8845  VT_BASE = 4,
8846  VT_DESCRIPTOR = 6,
8847  VT_INPUTPARAMS = 8
8848  };
8849  const armnnSerializer::LayerBase *base() const {
8850  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
8851  }
8852  const armnnSerializer::QLstmDescriptor *descriptor() const {
8853  return GetPointer<const armnnSerializer::QLstmDescriptor *>(VT_DESCRIPTOR);
8854  }
8855  const armnnSerializer::QLstmInputParams *inputParams() const {
8856  return GetPointer<const armnnSerializer::QLstmInputParams *>(VT_INPUTPARAMS);
8857  }
8858  bool Verify(flatbuffers::Verifier &verifier) const {
8859  return VerifyTableStart(verifier) &&
8860  VerifyOffset(verifier, VT_BASE) &&
8861  verifier.VerifyTable(base()) &&
8862  VerifyOffset(verifier, VT_DESCRIPTOR) &&
8863  verifier.VerifyTable(descriptor()) &&
8864  VerifyOffset(verifier, VT_INPUTPARAMS) &&
8865  verifier.VerifyTable(inputParams()) &&
8866  verifier.EndTable();
8867  }
8868 };
8869 
8871  typedef QLstmLayer Table;
8872  flatbuffers::FlatBufferBuilder &fbb_;
8873  flatbuffers::uoffset_t start_;
8874  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
8875  fbb_.AddOffset(QLstmLayer::VT_BASE, base);
8876  }
8877  void add_descriptor(flatbuffers::Offset<armnnSerializer::QLstmDescriptor> descriptor) {
8878  fbb_.AddOffset(QLstmLayer::VT_DESCRIPTOR, descriptor);
8879  }
8880  void add_inputParams(flatbuffers::Offset<armnnSerializer::QLstmInputParams> inputParams) {
8881  fbb_.AddOffset(QLstmLayer::VT_INPUTPARAMS, inputParams);
8882  }
8883  explicit QLstmLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
8884  : fbb_(_fbb) {
8885  start_ = fbb_.StartTable();
8886  }
8887  QLstmLayerBuilder &operator=(const QLstmLayerBuilder &);
8888  flatbuffers::Offset<QLstmLayer> Finish() {
8889  const auto end = fbb_.EndTable(start_);
8890  auto o = flatbuffers::Offset<QLstmLayer>(end);
8891  return o;
8892  }
8893 };
8894 
8895 inline flatbuffers::Offset<QLstmLayer> CreateQLstmLayer(
8896  flatbuffers::FlatBufferBuilder &_fbb,
8897  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
8898  flatbuffers::Offset<armnnSerializer::QLstmDescriptor> descriptor = 0,
8899  flatbuffers::Offset<armnnSerializer::QLstmInputParams> inputParams = 0) {
8900  QLstmLayerBuilder builder_(_fbb);
8901  builder_.add_inputParams(inputParams);
8902  builder_.add_descriptor(descriptor);
8903  builder_.add_base(base);
8904  return builder_.Finish();
8905 }
8906 
8907 struct QuantizedLstmInputParams FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
8909  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
8918  VT_INPUTGATEBIAS = 20,
8919  VT_FORGETGATEBIAS = 22,
8920  VT_CELLBIAS = 24,
8921  VT_OUTPUTGATEBIAS = 26
8922  };
8923  const armnnSerializer::ConstTensor *inputToInputWeights() const {
8924  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOINPUTWEIGHTS);
8925  }
8926  const armnnSerializer::ConstTensor *inputToForgetWeights() const {
8927  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOFORGETWEIGHTS);
8928  }
8929  const armnnSerializer::ConstTensor *inputToCellWeights() const {
8930  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOCELLWEIGHTS);
8931  }
8932  const armnnSerializer::ConstTensor *inputToOutputWeights() const {
8933  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOOUTPUTWEIGHTS);
8934  }
8935  const armnnSerializer::ConstTensor *recurrentToInputWeights() const {
8936  return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOINPUTWEIGHTS);
8937  }
8938  const armnnSerializer::ConstTensor *recurrentToForgetWeights() const {
8939  return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOFORGETWEIGHTS);
8940  }
8941  const armnnSerializer::ConstTensor *recurrentToCellWeights() const {
8942  return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOCELLWEIGHTS);
8943  }
8944  const armnnSerializer::ConstTensor *recurrentToOutputWeights() const {
8945  return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOOUTPUTWEIGHTS);
8946  }
8947  const armnnSerializer::ConstTensor *inputGateBias() const {
8948  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTGATEBIAS);
8949  }
8950  const armnnSerializer::ConstTensor *forgetGateBias() const {
8951  return GetPointer<const armnnSerializer::ConstTensor *>(VT_FORGETGATEBIAS);
8952  }
8953  const armnnSerializer::ConstTensor *cellBias() const {
8954  return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLBIAS);
8955  }
8956  const armnnSerializer::ConstTensor *outputGateBias() const {
8957  return GetPointer<const armnnSerializer::ConstTensor *>(VT_OUTPUTGATEBIAS);
8958  }
8959  bool Verify(flatbuffers::Verifier &verifier) const {
8960  return VerifyTableStart(verifier) &&
8961  VerifyOffset(verifier, VT_INPUTTOINPUTWEIGHTS) &&
8962  verifier.VerifyTable(inputToInputWeights()) &&
8963  VerifyOffset(verifier, VT_INPUTTOFORGETWEIGHTS) &&
8964  verifier.VerifyTable(inputToForgetWeights()) &&
8965  VerifyOffset(verifier, VT_INPUTTOCELLWEIGHTS) &&
8966  verifier.VerifyTable(inputToCellWeights()) &&
8967  VerifyOffset(verifier, VT_INPUTTOOUTPUTWEIGHTS) &&
8968  verifier.VerifyTable(inputToOutputWeights()) &&
8969  VerifyOffset(verifier, VT_RECURRENTTOINPUTWEIGHTS) &&
8970  verifier.VerifyTable(recurrentToInputWeights()) &&
8971  VerifyOffset(verifier, VT_RECURRENTTOFORGETWEIGHTS) &&
8972  verifier.VerifyTable(recurrentToForgetWeights()) &&
8973  VerifyOffset(verifier, VT_RECURRENTTOCELLWEIGHTS) &&
8974  verifier.VerifyTable(recurrentToCellWeights()) &&
8975  VerifyOffset(verifier, VT_RECURRENTTOOUTPUTWEIGHTS) &&
8976  verifier.VerifyTable(recurrentToOutputWeights()) &&
8977  VerifyOffset(verifier, VT_INPUTGATEBIAS) &&
8978  verifier.VerifyTable(inputGateBias()) &&
8979  VerifyOffset(verifier, VT_FORGETGATEBIAS) &&
8980  verifier.VerifyTable(forgetGateBias()) &&
8981  VerifyOffset(verifier, VT_CELLBIAS) &&
8982  verifier.VerifyTable(cellBias()) &&
8983  VerifyOffset(verifier, VT_OUTPUTGATEBIAS) &&
8984  verifier.VerifyTable(outputGateBias()) &&
8985  verifier.EndTable();
8986  }
8987 };
8988 
8990  typedef QuantizedLstmInputParams Table;
8991  flatbuffers::FlatBufferBuilder &fbb_;
8992  flatbuffers::uoffset_t start_;
8993  void add_inputToInputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToInputWeights) {
8994  fbb_.AddOffset(QuantizedLstmInputParams::VT_INPUTTOINPUTWEIGHTS, inputToInputWeights);
8995  }
8996  void add_inputToForgetWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToForgetWeights) {
8997  fbb_.AddOffset(QuantizedLstmInputParams::VT_INPUTTOFORGETWEIGHTS, inputToForgetWeights);
8998  }
8999  void add_inputToCellWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToCellWeights) {
9000  fbb_.AddOffset(QuantizedLstmInputParams::VT_INPUTTOCELLWEIGHTS, inputToCellWeights);
9001  }
9002  void add_inputToOutputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToOutputWeights) {
9003  fbb_.AddOffset(QuantizedLstmInputParams::VT_INPUTTOOUTPUTWEIGHTS, inputToOutputWeights);
9004  }
9005  void add_recurrentToInputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToInputWeights) {
9006  fbb_.AddOffset(QuantizedLstmInputParams::VT_RECURRENTTOINPUTWEIGHTS, recurrentToInputWeights);
9007  }
9008  void add_recurrentToForgetWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToForgetWeights) {
9009  fbb_.AddOffset(QuantizedLstmInputParams::VT_RECURRENTTOFORGETWEIGHTS, recurrentToForgetWeights);
9010  }
9011  void add_recurrentToCellWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToCellWeights) {
9012  fbb_.AddOffset(QuantizedLstmInputParams::VT_RECURRENTTOCELLWEIGHTS, recurrentToCellWeights);
9013  }
9014  void add_recurrentToOutputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToOutputWeights) {
9015  fbb_.AddOffset(QuantizedLstmInputParams::VT_RECURRENTTOOUTPUTWEIGHTS, recurrentToOutputWeights);
9016  }
9017  void add_inputGateBias(flatbuffers::Offset<armnnSerializer::ConstTensor> inputGateBias) {
9018  fbb_.AddOffset(QuantizedLstmInputParams::VT_INPUTGATEBIAS, inputGateBias);
9019  }
9020  void add_forgetGateBias(flatbuffers::Offset<armnnSerializer::ConstTensor> forgetGateBias) {
9021  fbb_.AddOffset(QuantizedLstmInputParams::VT_FORGETGATEBIAS, forgetGateBias);
9022  }
9023  void add_cellBias(flatbuffers::Offset<armnnSerializer::ConstTensor> cellBias) {
9024  fbb_.AddOffset(QuantizedLstmInputParams::VT_CELLBIAS, cellBias);
9025  }
9026  void add_outputGateBias(flatbuffers::Offset<armnnSerializer::ConstTensor> outputGateBias) {
9027  fbb_.AddOffset(QuantizedLstmInputParams::VT_OUTPUTGATEBIAS, outputGateBias);
9028  }
9029  explicit QuantizedLstmInputParamsBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9030  : fbb_(_fbb) {
9031  start_ = fbb_.StartTable();
9032  }
9034  flatbuffers::Offset<QuantizedLstmInputParams> Finish() {
9035  const auto end = fbb_.EndTable(start_);
9036  auto o = flatbuffers::Offset<QuantizedLstmInputParams>(end);
9037  return o;
9038  }
9039 };
9040 
9041 inline flatbuffers::Offset<QuantizedLstmInputParams> CreateQuantizedLstmInputParams(
9042  flatbuffers::FlatBufferBuilder &_fbb,
9043  flatbuffers::Offset<armnnSerializer::ConstTensor> inputToInputWeights = 0,
9044  flatbuffers::Offset<armnnSerializer::ConstTensor> inputToForgetWeights = 0,
9045  flatbuffers::Offset<armnnSerializer::ConstTensor> inputToCellWeights = 0,
9046  flatbuffers::Offset<armnnSerializer::ConstTensor> inputToOutputWeights = 0,
9047  flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToInputWeights = 0,
9048  flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToForgetWeights = 0,
9049  flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToCellWeights = 0,
9050  flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToOutputWeights = 0,
9051  flatbuffers::Offset<armnnSerializer::ConstTensor> inputGateBias = 0,
9052  flatbuffers::Offset<armnnSerializer::ConstTensor> forgetGateBias = 0,
9053  flatbuffers::Offset<armnnSerializer::ConstTensor> cellBias = 0,
9054  flatbuffers::Offset<armnnSerializer::ConstTensor> outputGateBias = 0) {
9055  QuantizedLstmInputParamsBuilder builder_(_fbb);
9056  builder_.add_outputGateBias(outputGateBias);
9057  builder_.add_cellBias(cellBias);
9058  builder_.add_forgetGateBias(forgetGateBias);
9059  builder_.add_inputGateBias(inputGateBias);
9060  builder_.add_recurrentToOutputWeights(recurrentToOutputWeights);
9061  builder_.add_recurrentToCellWeights(recurrentToCellWeights);
9062  builder_.add_recurrentToForgetWeights(recurrentToForgetWeights);
9063  builder_.add_recurrentToInputWeights(recurrentToInputWeights);
9064  builder_.add_inputToOutputWeights(inputToOutputWeights);
9065  builder_.add_inputToCellWeights(inputToCellWeights);
9066  builder_.add_inputToForgetWeights(inputToForgetWeights);
9067  builder_.add_inputToInputWeights(inputToInputWeights);
9068  return builder_.Finish();
9069 }
9070 
9071 struct QuantizedLstmLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9073  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9074  VT_BASE = 4,
9075  VT_INPUTPARAMS = 6
9076  };
9077  const armnnSerializer::LayerBase *base() const {
9078  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
9079  }
9080  const armnnSerializer::QuantizedLstmInputParams *inputParams() const {
9081  return GetPointer<const armnnSerializer::QuantizedLstmInputParams *>(VT_INPUTPARAMS);
9082  }
9083  bool Verify(flatbuffers::Verifier &verifier) const {
9084  return VerifyTableStart(verifier) &&
9085  VerifyOffset(verifier, VT_BASE) &&
9086  verifier.VerifyTable(base()) &&
9087  VerifyOffset(verifier, VT_INPUTPARAMS) &&
9088  verifier.VerifyTable(inputParams()) &&
9089  verifier.EndTable();
9090  }
9091 };
9092 
9094  typedef QuantizedLstmLayer Table;
9095  flatbuffers::FlatBufferBuilder &fbb_;
9096  flatbuffers::uoffset_t start_;
9097  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
9098  fbb_.AddOffset(QuantizedLstmLayer::VT_BASE, base);
9099  }
9100  void add_inputParams(flatbuffers::Offset<armnnSerializer::QuantizedLstmInputParams> inputParams) {
9101  fbb_.AddOffset(QuantizedLstmLayer::VT_INPUTPARAMS, inputParams);
9102  }
9103  explicit QuantizedLstmLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9104  : fbb_(_fbb) {
9105  start_ = fbb_.StartTable();
9106  }
9108  flatbuffers::Offset<QuantizedLstmLayer> Finish() {
9109  const auto end = fbb_.EndTable(start_);
9110  auto o = flatbuffers::Offset<QuantizedLstmLayer>(end);
9111  return o;
9112  }
9113 };
9114 
9115 inline flatbuffers::Offset<QuantizedLstmLayer> CreateQuantizedLstmLayer(
9116  flatbuffers::FlatBufferBuilder &_fbb,
9117  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
9118  flatbuffers::Offset<armnnSerializer::QuantizedLstmInputParams> inputParams = 0) {
9119  QuantizedLstmLayerBuilder builder_(_fbb);
9120  builder_.add_inputParams(inputParams);
9121  builder_.add_base(base);
9122  return builder_.Finish();
9123 }
9124 
9125 struct DequantizeLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9127  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9128  VT_BASE = 4
9129  };
9130  const armnnSerializer::LayerBase *base() const {
9131  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
9132  }
9133  bool Verify(flatbuffers::Verifier &verifier) const {
9134  return VerifyTableStart(verifier) &&
9135  VerifyOffset(verifier, VT_BASE) &&
9136  verifier.VerifyTable(base()) &&
9137  verifier.EndTable();
9138  }
9139 };
9140 
9142  typedef DequantizeLayer Table;
9143  flatbuffers::FlatBufferBuilder &fbb_;
9144  flatbuffers::uoffset_t start_;
9145  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
9146  fbb_.AddOffset(DequantizeLayer::VT_BASE, base);
9147  }
9148  explicit DequantizeLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9149  : fbb_(_fbb) {
9150  start_ = fbb_.StartTable();
9151  }
9152  DequantizeLayerBuilder &operator=(const DequantizeLayerBuilder &);
9153  flatbuffers::Offset<DequantizeLayer> Finish() {
9154  const auto end = fbb_.EndTable(start_);
9155  auto o = flatbuffers::Offset<DequantizeLayer>(end);
9156  return o;
9157  }
9158 };
9159 
9160 inline flatbuffers::Offset<DequantizeLayer> CreateDequantizeLayer(
9161  flatbuffers::FlatBufferBuilder &_fbb,
9162  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
9163  DequantizeLayerBuilder builder_(_fbb);
9164  builder_.add_base(base);
9165  return builder_.Finish();
9166 }
9167 
9168 struct MergeLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9170  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9171  VT_BASE = 4
9172  };
9173  const armnnSerializer::LayerBase *base() const {
9174  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
9175  }
9176  bool Verify(flatbuffers::Verifier &verifier) const {
9177  return VerifyTableStart(verifier) &&
9178  VerifyOffset(verifier, VT_BASE) &&
9179  verifier.VerifyTable(base()) &&
9180  verifier.EndTable();
9181  }
9182 };
9183 
9185  typedef MergeLayer Table;
9186  flatbuffers::FlatBufferBuilder &fbb_;
9187  flatbuffers::uoffset_t start_;
9188  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
9189  fbb_.AddOffset(MergeLayer::VT_BASE, base);
9190  }
9191  explicit MergeLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9192  : fbb_(_fbb) {
9193  start_ = fbb_.StartTable();
9194  }
9195  MergeLayerBuilder &operator=(const MergeLayerBuilder &);
9196  flatbuffers::Offset<MergeLayer> Finish() {
9197  const auto end = fbb_.EndTable(start_);
9198  auto o = flatbuffers::Offset<MergeLayer>(end);
9199  return o;
9200  }
9201 };
9202 
9203 inline flatbuffers::Offset<MergeLayer> CreateMergeLayer(
9204  flatbuffers::FlatBufferBuilder &_fbb,
9205  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
9206  MergeLayerBuilder builder_(_fbb);
9207  builder_.add_base(base);
9208  return builder_.Finish();
9209 }
9210 
9211 struct SwitchLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9213  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9214  VT_BASE = 4
9215  };
9216  const armnnSerializer::LayerBase *base() const {
9217  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
9218  }
9219  bool Verify(flatbuffers::Verifier &verifier) const {
9220  return VerifyTableStart(verifier) &&
9221  VerifyOffset(verifier, VT_BASE) &&
9222  verifier.VerifyTable(base()) &&
9223  verifier.EndTable();
9224  }
9225 };
9226 
9228  typedef SwitchLayer Table;
9229  flatbuffers::FlatBufferBuilder &fbb_;
9230  flatbuffers::uoffset_t start_;
9231  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
9232  fbb_.AddOffset(SwitchLayer::VT_BASE, base);
9233  }
9234  explicit SwitchLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9235  : fbb_(_fbb) {
9236  start_ = fbb_.StartTable();
9237  }
9238  SwitchLayerBuilder &operator=(const SwitchLayerBuilder &);
9239  flatbuffers::Offset<SwitchLayer> Finish() {
9240  const auto end = fbb_.EndTable(start_);
9241  auto o = flatbuffers::Offset<SwitchLayer>(end);
9242  return o;
9243  }
9244 };
9245 
9246 inline flatbuffers::Offset<SwitchLayer> CreateSwitchLayer(
9247  flatbuffers::FlatBufferBuilder &_fbb,
9248  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
9249  SwitchLayerBuilder builder_(_fbb);
9250  builder_.add_base(base);
9251  return builder_.Finish();
9252 }
9253 
9254 struct PreluLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9256  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9257  VT_BASE = 4
9258  };
9259  const armnnSerializer::LayerBase *base() const {
9260  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
9261  }
9262  bool Verify(flatbuffers::Verifier &verifier) const {
9263  return VerifyTableStart(verifier) &&
9264  VerifyOffset(verifier, VT_BASE) &&
9265  verifier.VerifyTable(base()) &&
9266  verifier.EndTable();
9267  }
9268 };
9269 
9271  typedef PreluLayer Table;
9272  flatbuffers::FlatBufferBuilder &fbb_;
9273  flatbuffers::uoffset_t start_;
9274  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
9275  fbb_.AddOffset(PreluLayer::VT_BASE, base);
9276  }
9277  explicit PreluLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9278  : fbb_(_fbb) {
9279  start_ = fbb_.StartTable();
9280  }
9281  PreluLayerBuilder &operator=(const PreluLayerBuilder &);
9282  flatbuffers::Offset<PreluLayer> Finish() {
9283  const auto end = fbb_.EndTable(start_);
9284  auto o = flatbuffers::Offset<PreluLayer>(end);
9285  return o;
9286  }
9287 };
9288 
9289 inline flatbuffers::Offset<PreluLayer> CreatePreluLayer(
9290  flatbuffers::FlatBufferBuilder &_fbb,
9291  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
9292  PreluLayerBuilder builder_(_fbb);
9293  builder_.add_base(base);
9294  return builder_.Finish();
9295 }
9296 
9297 struct TransposeConvolution2dLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9299  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9300  VT_BASE = 4,
9301  VT_DESCRIPTOR = 6,
9302  VT_WEIGHTS = 8,
9303  VT_BIASES = 10
9304  };
9305  const armnnSerializer::LayerBase *base() const {
9306  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
9307  }
9308  const armnnSerializer::TransposeConvolution2dDescriptor *descriptor() const {
9309  return GetPointer<const armnnSerializer::TransposeConvolution2dDescriptor *>(VT_DESCRIPTOR);
9310  }
9311  const armnnSerializer::ConstTensor *weights() const {
9312  return GetPointer<const armnnSerializer::ConstTensor *>(VT_WEIGHTS);
9313  }
9314  const armnnSerializer::ConstTensor *biases() const {
9315  return GetPointer<const armnnSerializer::ConstTensor *>(VT_BIASES);
9316  }
9317  bool Verify(flatbuffers::Verifier &verifier) const {
9318  return VerifyTableStart(verifier) &&
9319  VerifyOffset(verifier, VT_BASE) &&
9320  verifier.VerifyTable(base()) &&
9321  VerifyOffset(verifier, VT_DESCRIPTOR) &&
9322  verifier.VerifyTable(descriptor()) &&
9323  VerifyOffset(verifier, VT_WEIGHTS) &&
9324  verifier.VerifyTable(weights()) &&
9325  VerifyOffset(verifier, VT_BIASES) &&
9326  verifier.VerifyTable(biases()) &&
9327  verifier.EndTable();
9328  }
9329 };
9330 
9332  typedef TransposeConvolution2dLayer Table;
9333  flatbuffers::FlatBufferBuilder &fbb_;
9334  flatbuffers::uoffset_t start_;
9335  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
9336  fbb_.AddOffset(TransposeConvolution2dLayer::VT_BASE, base);
9337  }
9338  void add_descriptor(flatbuffers::Offset<armnnSerializer::TransposeConvolution2dDescriptor> descriptor) {
9339  fbb_.AddOffset(TransposeConvolution2dLayer::VT_DESCRIPTOR, descriptor);
9340  }
9341  void add_weights(flatbuffers::Offset<armnnSerializer::ConstTensor> weights) {
9342  fbb_.AddOffset(TransposeConvolution2dLayer::VT_WEIGHTS, weights);
9343  }
9344  void add_biases(flatbuffers::Offset<armnnSerializer::ConstTensor> biases) {
9345  fbb_.AddOffset(TransposeConvolution2dLayer::VT_BIASES, biases);
9346  }
9347  explicit TransposeConvolution2dLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9348  : fbb_(_fbb) {
9349  start_ = fbb_.StartTable();
9350  }
9352  flatbuffers::Offset<TransposeConvolution2dLayer> Finish() {
9353  const auto end = fbb_.EndTable(start_);
9354  auto o = flatbuffers::Offset<TransposeConvolution2dLayer>(end);
9355  return o;
9356  }
9357 };
9358 
9359 inline flatbuffers::Offset<TransposeConvolution2dLayer> CreateTransposeConvolution2dLayer(
9360  flatbuffers::FlatBufferBuilder &_fbb,
9361  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
9362  flatbuffers::Offset<armnnSerializer::TransposeConvolution2dDescriptor> descriptor = 0,
9363  flatbuffers::Offset<armnnSerializer::ConstTensor> weights = 0,
9364  flatbuffers::Offset<armnnSerializer::ConstTensor> biases = 0) {
9365  TransposeConvolution2dLayerBuilder builder_(_fbb);
9366  builder_.add_biases(biases);
9367  builder_.add_weights(weights);
9368  builder_.add_descriptor(descriptor);
9369  builder_.add_base(base);
9370  return builder_.Finish();
9371 }
9372 
9373 struct TransposeConvolution2dDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9375  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9376  VT_PADLEFT = 4,
9377  VT_PADRIGHT = 6,
9378  VT_PADTOP = 8,
9379  VT_PADBOTTOM = 10,
9380  VT_STRIDEX = 12,
9381  VT_STRIDEY = 14,
9382  VT_BIASENABLED = 16,
9383  VT_DATALAYOUT = 18
9384  };
9385  uint32_t padLeft() const {
9386  return GetField<uint32_t>(VT_PADLEFT, 0);
9387  }
9388  uint32_t padRight() const {
9389  return GetField<uint32_t>(VT_PADRIGHT, 0);
9390  }
9391  uint32_t padTop() const {
9392  return GetField<uint32_t>(VT_PADTOP, 0);
9393  }
9394  uint32_t padBottom() const {
9395  return GetField<uint32_t>(VT_PADBOTTOM, 0);
9396  }
9397  uint32_t strideX() const {
9398  return GetField<uint32_t>(VT_STRIDEX, 0);
9399  }
9400  uint32_t strideY() const {
9401  return GetField<uint32_t>(VT_STRIDEY, 0);
9402  }
9403  bool biasEnabled() const {
9404  return GetField<uint8_t>(VT_BIASENABLED, 0) != 0;
9405  }
9407  return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 1));
9408  }
9409  bool Verify(flatbuffers::Verifier &verifier) const {
9410  return VerifyTableStart(verifier) &&
9411  VerifyField<uint32_t>(verifier, VT_PADLEFT) &&
9412  VerifyField<uint32_t>(verifier, VT_PADRIGHT) &&
9413  VerifyField<uint32_t>(verifier, VT_PADTOP) &&
9414  VerifyField<uint32_t>(verifier, VT_PADBOTTOM) &&
9415  VerifyField<uint32_t>(verifier, VT_STRIDEX) &&
9416  VerifyField<uint32_t>(verifier, VT_STRIDEY) &&
9417  VerifyField<uint8_t>(verifier, VT_BIASENABLED) &&
9418  VerifyField<int8_t>(verifier, VT_DATALAYOUT) &&
9419  verifier.EndTable();
9420  }
9421 };
9422 
9424  typedef TransposeConvolution2dDescriptor Table;
9425  flatbuffers::FlatBufferBuilder &fbb_;
9426  flatbuffers::uoffset_t start_;
9427  void add_padLeft(uint32_t padLeft) {
9428  fbb_.AddElement<uint32_t>(TransposeConvolution2dDescriptor::VT_PADLEFT, padLeft, 0);
9429  }
9430  void add_padRight(uint32_t padRight) {
9431  fbb_.AddElement<uint32_t>(TransposeConvolution2dDescriptor::VT_PADRIGHT, padRight, 0);
9432  }
9433  void add_padTop(uint32_t padTop) {
9434  fbb_.AddElement<uint32_t>(TransposeConvolution2dDescriptor::VT_PADTOP, padTop, 0);
9435  }
9436  void add_padBottom(uint32_t padBottom) {
9437  fbb_.AddElement<uint32_t>(TransposeConvolution2dDescriptor::VT_PADBOTTOM, padBottom, 0);
9438  }
9439  void add_strideX(uint32_t strideX) {
9440  fbb_.AddElement<uint32_t>(TransposeConvolution2dDescriptor::VT_STRIDEX, strideX, 0);
9441  }
9442  void add_strideY(uint32_t strideY) {
9443  fbb_.AddElement<uint32_t>(TransposeConvolution2dDescriptor::VT_STRIDEY, strideY, 0);
9444  }
9445  void add_biasEnabled(bool biasEnabled) {
9446  fbb_.AddElement<uint8_t>(TransposeConvolution2dDescriptor::VT_BIASENABLED, static_cast<uint8_t>(biasEnabled), 0);
9447  }
9449  fbb_.AddElement<int8_t>(TransposeConvolution2dDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 1);
9450  }
9451  explicit TransposeConvolution2dDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9452  : fbb_(_fbb) {
9453  start_ = fbb_.StartTable();
9454  }
9456  flatbuffers::Offset<TransposeConvolution2dDescriptor> Finish() {
9457  const auto end = fbb_.EndTable(start_);
9458  auto o = flatbuffers::Offset<TransposeConvolution2dDescriptor>(end);
9459  return o;
9460  }
9461 };
9462 
9463 inline flatbuffers::Offset<TransposeConvolution2dDescriptor> CreateTransposeConvolution2dDescriptor(
9464  flatbuffers::FlatBufferBuilder &_fbb,
9465  uint32_t padLeft = 0,
9466  uint32_t padRight = 0,
9467  uint32_t padTop = 0,
9468  uint32_t padBottom = 0,
9469  uint32_t strideX = 0,
9470  uint32_t strideY = 0,
9471  bool biasEnabled = false,
9474  builder_.add_strideY(strideY);
9475  builder_.add_strideX(strideX);
9476  builder_.add_padBottom(padBottom);
9477  builder_.add_padTop(padTop);
9478  builder_.add_padRight(padRight);
9479  builder_.add_padLeft(padLeft);
9480  builder_.add_dataLayout(dataLayout);
9481  builder_.add_biasEnabled(biasEnabled);
9482  return builder_.Finish();
9483 }
9484 
9485 struct TransposeLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9487  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9488  VT_BASE = 4,
9489  VT_DESCRIPTOR = 6
9490  };
9491  const armnnSerializer::LayerBase *base() const {
9492  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
9493  }
9494  const armnnSerializer::TransposeDescriptor *descriptor() const {
9495  return GetPointer<const armnnSerializer::TransposeDescriptor *>(VT_DESCRIPTOR);
9496  }
9497  bool Verify(flatbuffers::Verifier &verifier) const {
9498  return VerifyTableStart(verifier) &&
9499  VerifyOffset(verifier, VT_BASE) &&
9500  verifier.VerifyTable(base()) &&
9501  VerifyOffset(verifier, VT_DESCRIPTOR) &&
9502  verifier.VerifyTable(descriptor()) &&
9503  verifier.EndTable();
9504  }
9505 };
9506 
9508  typedef TransposeLayer Table;
9509  flatbuffers::FlatBufferBuilder &fbb_;
9510  flatbuffers::uoffset_t start_;
9511  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
9512  fbb_.AddOffset(TransposeLayer::VT_BASE, base);
9513  }
9514  void add_descriptor(flatbuffers::Offset<armnnSerializer::TransposeDescriptor> descriptor) {
9515  fbb_.AddOffset(TransposeLayer::VT_DESCRIPTOR, descriptor);
9516  }
9517  explicit TransposeLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9518  : fbb_(_fbb) {
9519  start_ = fbb_.StartTable();
9520  }
9521  TransposeLayerBuilder &operator=(const TransposeLayerBuilder &);
9522  flatbuffers::Offset<TransposeLayer> Finish() {
9523  const auto end = fbb_.EndTable(start_);
9524  auto o = flatbuffers::Offset<TransposeLayer>(end);
9525  return o;
9526  }
9527 };
9528 
9529 inline flatbuffers::Offset<TransposeLayer> CreateTransposeLayer(
9530  flatbuffers::FlatBufferBuilder &_fbb,
9531  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
9532  flatbuffers::Offset<armnnSerializer::TransposeDescriptor> descriptor = 0) {
9533  TransposeLayerBuilder builder_(_fbb);
9534  builder_.add_descriptor(descriptor);
9535  builder_.add_base(base);
9536  return builder_.Finish();
9537 }
9538 
9539 struct TransposeDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9541  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9542  VT_DIMMAPPINGS = 4
9543  };
9544  const flatbuffers::Vector<uint32_t> *dimMappings() const {
9545  return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_DIMMAPPINGS);
9546  }
9547  bool Verify(flatbuffers::Verifier &verifier) const {
9548  return VerifyTableStart(verifier) &&
9549  VerifyOffset(verifier, VT_DIMMAPPINGS) &&
9550  verifier.VerifyVector(dimMappings()) &&
9551  verifier.EndTable();
9552  }
9553 };
9554 
9556  typedef TransposeDescriptor Table;
9557  flatbuffers::FlatBufferBuilder &fbb_;
9558  flatbuffers::uoffset_t start_;
9559  void add_dimMappings(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> dimMappings) {
9560  fbb_.AddOffset(TransposeDescriptor::VT_DIMMAPPINGS, dimMappings);
9561  }
9562  explicit TransposeDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9563  : fbb_(_fbb) {
9564  start_ = fbb_.StartTable();
9565  }
9567  flatbuffers::Offset<TransposeDescriptor> Finish() {
9568  const auto end = fbb_.EndTable(start_);
9569  auto o = flatbuffers::Offset<TransposeDescriptor>(end);
9570  return o;
9571  }
9572 };
9573 
9574 inline flatbuffers::Offset<TransposeDescriptor> CreateTransposeDescriptor(
9575  flatbuffers::FlatBufferBuilder &_fbb,
9576  flatbuffers::Offset<flatbuffers::Vector<uint32_t>> dimMappings = 0) {
9577  TransposeDescriptorBuilder builder_(_fbb);
9578  builder_.add_dimMappings(dimMappings);
9579  return builder_.Finish();
9580 }
9581 
9582 inline flatbuffers::Offset<TransposeDescriptor> CreateTransposeDescriptorDirect(
9583  flatbuffers::FlatBufferBuilder &_fbb,
9584  const std::vector<uint32_t> *dimMappings = nullptr) {
9585  auto dimMappings__ = dimMappings ? _fbb.CreateVector<uint32_t>(*dimMappings) : 0;
9587  _fbb,
9588  dimMappings__);
9589 }
9590 
9591 struct ResizeLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9593  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9594  VT_BASE = 4,
9595  VT_DESCRIPTOR = 6
9596  };
9597  const armnnSerializer::LayerBase *base() const {
9598  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
9599  }
9600  const armnnSerializer::ResizeDescriptor *descriptor() const {
9601  return GetPointer<const armnnSerializer::ResizeDescriptor *>(VT_DESCRIPTOR);
9602  }
9603  bool Verify(flatbuffers::Verifier &verifier) const {
9604  return VerifyTableStart(verifier) &&
9605  VerifyOffset(verifier, VT_BASE) &&
9606  verifier.VerifyTable(base()) &&
9607  VerifyOffset(verifier, VT_DESCRIPTOR) &&
9608  verifier.VerifyTable(descriptor()) &&
9609  verifier.EndTable();
9610  }
9611 };
9612 
9614  typedef ResizeLayer Table;
9615  flatbuffers::FlatBufferBuilder &fbb_;
9616  flatbuffers::uoffset_t start_;
9617  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
9618  fbb_.AddOffset(ResizeLayer::VT_BASE, base);
9619  }
9620  void add_descriptor(flatbuffers::Offset<armnnSerializer::ResizeDescriptor> descriptor) {
9621  fbb_.AddOffset(ResizeLayer::VT_DESCRIPTOR, descriptor);
9622  }
9623  explicit ResizeLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9624  : fbb_(_fbb) {
9625  start_ = fbb_.StartTable();
9626  }
9627  ResizeLayerBuilder &operator=(const ResizeLayerBuilder &);
9628  flatbuffers::Offset<ResizeLayer> Finish() {
9629  const auto end = fbb_.EndTable(start_);
9630  auto o = flatbuffers::Offset<ResizeLayer>(end);
9631  return o;
9632  }
9633 };
9634 
9635 inline flatbuffers::Offset<ResizeLayer> CreateResizeLayer(
9636  flatbuffers::FlatBufferBuilder &_fbb,
9637  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
9638  flatbuffers::Offset<armnnSerializer::ResizeDescriptor> descriptor = 0) {
9639  ResizeLayerBuilder builder_(_fbb);
9640  builder_.add_descriptor(descriptor);
9641  builder_.add_base(base);
9642  return builder_.Finish();
9643 }
9644 
9645 struct ResizeDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9647  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9648  VT_TARGETHEIGHT = 4,
9649  VT_TARGETWIDTH = 6,
9651  VT_DATALAYOUT = 10,
9652  VT_ALIGNCORNERS = 12,
9653  VT_HALFPIXELCENTERS = 14
9654  };
9655  uint32_t targetHeight() const {
9656  return GetField<uint32_t>(VT_TARGETHEIGHT, 0);
9657  }
9658  uint32_t targetWidth() const {
9659  return GetField<uint32_t>(VT_TARGETWIDTH, 0);
9660  }
9662  return static_cast<armnnSerializer::ResizeMethod>(GetField<int8_t>(VT_METHOD, 0));
9663  }
9665  return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 0));
9666  }
9667  bool alignCorners() const {
9668  return GetField<uint8_t>(VT_ALIGNCORNERS, 0) != 0;
9669  }
9670  bool halfPixelCenters() const {
9671  return GetField<uint8_t>(VT_HALFPIXELCENTERS, 0) != 0;
9672  }
9673  bool Verify(flatbuffers::Verifier &verifier) const {
9674  return VerifyTableStart(verifier) &&
9675  VerifyField<uint32_t>(verifier, VT_TARGETHEIGHT) &&
9676  VerifyField<uint32_t>(verifier, VT_TARGETWIDTH) &&
9677  VerifyField<int8_t>(verifier, VT_METHOD) &&
9678  VerifyField<int8_t>(verifier, VT_DATALAYOUT) &&
9679  VerifyField<uint8_t>(verifier, VT_ALIGNCORNERS) &&
9680  VerifyField<uint8_t>(verifier, VT_HALFPIXELCENTERS) &&
9681  verifier.EndTable();
9682  }
9683 };
9684 
9686  typedef ResizeDescriptor Table;
9687  flatbuffers::FlatBufferBuilder &fbb_;
9688  flatbuffers::uoffset_t start_;
9689  void add_targetHeight(uint32_t targetHeight) {
9690  fbb_.AddElement<uint32_t>(ResizeDescriptor::VT_TARGETHEIGHT, targetHeight, 0);
9691  }
9692  void add_targetWidth(uint32_t targetWidth) {
9693  fbb_.AddElement<uint32_t>(ResizeDescriptor::VT_TARGETWIDTH, targetWidth, 0);
9694  }
9696  fbb_.AddElement<int8_t>(ResizeDescriptor::VT_METHOD, static_cast<int8_t>(method), 0);
9697  }
9699  fbb_.AddElement<int8_t>(ResizeDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 0);
9700  }
9701  void add_alignCorners(bool alignCorners) {
9702  fbb_.AddElement<uint8_t>(ResizeDescriptor::VT_ALIGNCORNERS, static_cast<uint8_t>(alignCorners), 0);
9703  }
9704  void add_halfPixelCenters(bool halfPixelCenters) {
9705  fbb_.AddElement<uint8_t>(ResizeDescriptor::VT_HALFPIXELCENTERS, static_cast<uint8_t>(halfPixelCenters), 0);
9706  }
9707  explicit ResizeDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9708  : fbb_(_fbb) {
9709  start_ = fbb_.StartTable();
9710  }
9712  flatbuffers::Offset<ResizeDescriptor> Finish() {
9713  const auto end = fbb_.EndTable(start_);
9714  auto o = flatbuffers::Offset<ResizeDescriptor>(end);
9715  return o;
9716  }
9717 };
9718 
9719 inline flatbuffers::Offset<ResizeDescriptor> CreateResizeDescriptor(
9720  flatbuffers::FlatBufferBuilder &_fbb,
9721  uint32_t targetHeight = 0,
9722  uint32_t targetWidth = 0,
9725  bool alignCorners = false,
9726  bool halfPixelCenters = false) {
9727  ResizeDescriptorBuilder builder_(_fbb);
9728  builder_.add_targetWidth(targetWidth);
9729  builder_.add_targetHeight(targetHeight);
9730  builder_.add_halfPixelCenters(halfPixelCenters);
9731  builder_.add_alignCorners(alignCorners);
9732  builder_.add_dataLayout(dataLayout);
9733  builder_.add_method(method);
9734  return builder_.Finish();
9735 }
9736 
9737 struct StackLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9739  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9740  VT_BASE = 4,
9741  VT_DESCRIPTOR = 6
9742  };
9743  const armnnSerializer::LayerBase *base() const {
9744  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
9745  }
9746  const armnnSerializer::StackDescriptor *descriptor() const {
9747  return GetPointer<const armnnSerializer::StackDescriptor *>(VT_DESCRIPTOR);
9748  }
9749  bool Verify(flatbuffers::Verifier &verifier) const {
9750  return VerifyTableStart(verifier) &&
9751  VerifyOffset(verifier, VT_BASE) &&
9752  verifier.VerifyTable(base()) &&
9753  VerifyOffset(verifier, VT_DESCRIPTOR) &&
9754  verifier.VerifyTable(descriptor()) &&
9755  verifier.EndTable();
9756  }
9757 };
9758 
9760  typedef StackLayer Table;
9761  flatbuffers::FlatBufferBuilder &fbb_;
9762  flatbuffers::uoffset_t start_;
9763  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
9764  fbb_.AddOffset(StackLayer::VT_BASE, base);
9765  }
9766  void add_descriptor(flatbuffers::Offset<armnnSerializer::StackDescriptor> descriptor) {
9767  fbb_.AddOffset(StackLayer::VT_DESCRIPTOR, descriptor);
9768  }
9769  explicit StackLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9770  : fbb_(_fbb) {
9771  start_ = fbb_.StartTable();
9772  }
9773  StackLayerBuilder &operator=(const StackLayerBuilder &);
9774  flatbuffers::Offset<StackLayer> Finish() {
9775  const auto end = fbb_.EndTable(start_);
9776  auto o = flatbuffers::Offset<StackLayer>(end);
9777  return o;
9778  }
9779 };
9780 
9781 inline flatbuffers::Offset<StackLayer> CreateStackLayer(
9782  flatbuffers::FlatBufferBuilder &_fbb,
9783  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
9784  flatbuffers::Offset<armnnSerializer::StackDescriptor> descriptor = 0) {
9785  StackLayerBuilder builder_(_fbb);
9786  builder_.add_descriptor(descriptor);
9787  builder_.add_base(base);
9788  return builder_.Finish();
9789 }
9790 
9791 struct StackDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9793  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9794  VT_AXIS = 4,
9796  VT_INPUTSHAPE = 8
9797  };
9798  uint32_t axis() const {
9799  return GetField<uint32_t>(VT_AXIS, 0);
9800  }
9801  uint32_t numInputs() const {
9802  return GetField<uint32_t>(VT_NUMINPUTS, 0);
9803  }
9804  const flatbuffers::Vector<uint32_t> *inputShape() const {
9805  return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_INPUTSHAPE);
9806  }
9807  bool Verify(flatbuffers::Verifier &verifier) const {
9808  return VerifyTableStart(verifier) &&
9809  VerifyField<uint32_t>(verifier, VT_AXIS) &&
9810  VerifyField<uint32_t>(verifier, VT_NUMINPUTS) &&
9811  VerifyOffset(verifier, VT_INPUTSHAPE) &&
9812  verifier.VerifyVector(inputShape()) &&
9813  verifier.EndTable();
9814  }
9815 };
9816 
9818  typedef StackDescriptor Table;
9819  flatbuffers::FlatBufferBuilder &fbb_;
9820  flatbuffers::uoffset_t start_;
9821  void add_axis(uint32_t axis) {
9822  fbb_.AddElement<uint32_t>(StackDescriptor::VT_AXIS, axis, 0);
9823  }
9824  void add_numInputs(uint32_t numInputs) {
9825  fbb_.AddElement<uint32_t>(StackDescriptor::VT_NUMINPUTS, numInputs, 0);
9826  }
9827  void add_inputShape(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> inputShape) {
9828  fbb_.AddOffset(StackDescriptor::VT_INPUTSHAPE, inputShape);
9829  }
9830  explicit StackDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9831  : fbb_(_fbb) {
9832  start_ = fbb_.StartTable();
9833  }
9834  StackDescriptorBuilder &operator=(const StackDescriptorBuilder &);
9835  flatbuffers::Offset<StackDescriptor> Finish() {
9836  const auto end = fbb_.EndTable(start_);
9837  auto o = flatbuffers::Offset<StackDescriptor>(end);
9838  return o;
9839  }
9840 };
9841 
9842 inline flatbuffers::Offset<StackDescriptor> CreateStackDescriptor(
9843  flatbuffers::FlatBufferBuilder &_fbb,
9844  uint32_t axis = 0,
9845  uint32_t numInputs = 0,
9846  flatbuffers::Offset<flatbuffers::Vector<uint32_t>> inputShape = 0) {
9847  StackDescriptorBuilder builder_(_fbb);
9848  builder_.add_inputShape(inputShape);
9849  builder_.add_numInputs(numInputs);
9850  builder_.add_axis(axis);
9851  return builder_.Finish();
9852 }
9853 
9854 inline flatbuffers::Offset<StackDescriptor> CreateStackDescriptorDirect(
9855  flatbuffers::FlatBufferBuilder &_fbb,
9856  uint32_t axis = 0,
9857  uint32_t numInputs = 0,
9858  const std::vector<uint32_t> *inputShape = nullptr) {
9859  auto inputShape__ = inputShape ? _fbb.CreateVector<uint32_t>(*inputShape) : 0;
9861  _fbb,
9862  axis,
9863  numInputs,
9864  inputShape__);
9865 }
9866 
9867 struct StandInDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9869  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9870  VT_NUMINPUTS = 4,
9871  VT_NUMOUTPUTS = 6
9872  };
9873  uint32_t numInputs() const {
9874  return GetField<uint32_t>(VT_NUMINPUTS, 0);
9875  }
9876  uint32_t numOutputs() const {
9877  return GetField<uint32_t>(VT_NUMOUTPUTS, 0);
9878  }
9879  bool Verify(flatbuffers::Verifier &verifier) const {
9880  return VerifyTableStart(verifier) &&
9881  VerifyField<uint32_t>(verifier, VT_NUMINPUTS) &&
9882  VerifyField<uint32_t>(verifier, VT_NUMOUTPUTS) &&
9883  verifier.EndTable();
9884  }
9885 };
9886 
9888  typedef StandInDescriptor Table;
9889  flatbuffers::FlatBufferBuilder &fbb_;
9890  flatbuffers::uoffset_t start_;
9891  void add_numInputs(uint32_t numInputs) {
9892  fbb_.AddElement<uint32_t>(StandInDescriptor::VT_NUMINPUTS, numInputs, 0);
9893  }
9894  void add_numOutputs(uint32_t numOutputs) {
9895  fbb_.AddElement<uint32_t>(StandInDescriptor::VT_NUMOUTPUTS, numOutputs, 0);
9896  }
9897  explicit StandInDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9898  : fbb_(_fbb) {
9899  start_ = fbb_.StartTable();
9900  }
9902  flatbuffers::Offset<StandInDescriptor> Finish() {
9903  const auto end = fbb_.EndTable(start_);
9904  auto o = flatbuffers::Offset<StandInDescriptor>(end);
9905  return o;
9906  }
9907 };
9908 
9909 inline flatbuffers::Offset<StandInDescriptor> CreateStandInDescriptor(
9910  flatbuffers::FlatBufferBuilder &_fbb,
9911  uint32_t numInputs = 0,
9912  uint32_t numOutputs = 0) {
9913  StandInDescriptorBuilder builder_(_fbb);
9914  builder_.add_numOutputs(numOutputs);
9915  builder_.add_numInputs(numInputs);
9916  return builder_.Finish();
9917 }
9918 
9919 struct StandInLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9921  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9922  VT_BASE = 4,
9923  VT_DESCRIPTOR = 6
9924  };
9925  const armnnSerializer::LayerBase *base() const {
9926  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
9927  }
9928  const armnnSerializer::StandInDescriptor *descriptor() const {
9929  return GetPointer<const armnnSerializer::StandInDescriptor *>(VT_DESCRIPTOR);
9930  }
9931  bool Verify(flatbuffers::Verifier &verifier) const {
9932  return VerifyTableStart(verifier) &&
9933  VerifyOffset(verifier, VT_BASE) &&
9934  verifier.VerifyTable(base()) &&
9935  VerifyOffset(verifier, VT_DESCRIPTOR) &&
9936  verifier.VerifyTable(descriptor()) &&
9937  verifier.EndTable();
9938  }
9939 };
9940 
9942  typedef StandInLayer Table;
9943  flatbuffers::FlatBufferBuilder &fbb_;
9944  flatbuffers::uoffset_t start_;
9945  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
9946  fbb_.AddOffset(StandInLayer::VT_BASE, base);
9947  }
9948  void add_descriptor(flatbuffers::Offset<armnnSerializer::StandInDescriptor> descriptor) {
9949  fbb_.AddOffset(StandInLayer::VT_DESCRIPTOR, descriptor);
9950  }
9951  explicit StandInLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9952  : fbb_(_fbb) {
9953  start_ = fbb_.StartTable();
9954  }
9955  StandInLayerBuilder &operator=(const StandInLayerBuilder &);
9956  flatbuffers::Offset<StandInLayer> Finish() {
9957  const auto end = fbb_.EndTable(start_);
9958  auto o = flatbuffers::Offset<StandInLayer>(end);
9959  return o;
9960  }
9961 };
9962 
9963 inline flatbuffers::Offset<StandInLayer> CreateStandInLayer(
9964  flatbuffers::FlatBufferBuilder &_fbb,
9965  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
9966  flatbuffers::Offset<armnnSerializer::StandInDescriptor> descriptor = 0) {
9967  StandInLayerBuilder builder_(_fbb);
9968  builder_.add_descriptor(descriptor);
9969  builder_.add_base(base);
9970  return builder_.Finish();
9971 }
9972 
9973 struct RankLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9975  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9976  VT_BASE = 4
9977  };
9978  const armnnSerializer::LayerBase *base() const {
9979  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
9980  }
9981  bool Verify(flatbuffers::Verifier &verifier) const {
9982  return VerifyTableStart(verifier) &&
9983  VerifyOffset(verifier, VT_BASE) &&
9984  verifier.VerifyTable(base()) &&
9985  verifier.EndTable();
9986  }
9987 };
9988 
9990  typedef RankLayer Table;
9991  flatbuffers::FlatBufferBuilder &fbb_;
9992  flatbuffers::uoffset_t start_;
9993  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
9994  fbb_.AddOffset(RankLayer::VT_BASE, base);
9995  }
9996  explicit RankLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9997  : fbb_(_fbb) {
9998  start_ = fbb_.StartTable();
9999  }
10000  RankLayerBuilder &operator=(const RankLayerBuilder &);
10001  flatbuffers::Offset<RankLayer> Finish() {
10002  const auto end = fbb_.EndTable(start_);
10003  auto o = flatbuffers::Offset<RankLayer>(end);
10004  return o;
10005  }
10006 };
10007 
10008 inline flatbuffers::Offset<RankLayer> CreateRankLayer(
10009  flatbuffers::FlatBufferBuilder &_fbb,
10010  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
10011  RankLayerBuilder builder_(_fbb);
10012  builder_.add_base(base);
10013  return builder_.Finish();
10014 }
10015 
10016 struct ReduceLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
10018  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
10019  VT_BASE = 4,
10020  VT_DESCRIPTOR = 6
10021  };
10022  const armnnSerializer::LayerBase *base() const {
10023  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
10024  }
10025  const armnnSerializer::ReduceDescriptor *descriptor() const {
10026  return GetPointer<const armnnSerializer::ReduceDescriptor *>(VT_DESCRIPTOR);
10027  }
10028  bool Verify(flatbuffers::Verifier &verifier) const {
10029  return VerifyTableStart(verifier) &&
10030  VerifyOffset(verifier, VT_BASE) &&
10031  verifier.VerifyTable(base()) &&
10032  VerifyOffset(verifier, VT_DESCRIPTOR) &&
10033  verifier.VerifyTable(descriptor()) &&
10034  verifier.EndTable();
10035  }
10036 };
10037 
10039  typedef ReduceLayer Table;
10040  flatbuffers::FlatBufferBuilder &fbb_;
10041  flatbuffers::uoffset_t start_;
10042  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
10043  fbb_.AddOffset(ReduceLayer::VT_BASE, base);
10044  }
10045  void add_descriptor(flatbuffers::Offset<armnnSerializer::ReduceDescriptor> descriptor) {
10046  fbb_.AddOffset(ReduceLayer::VT_DESCRIPTOR, descriptor);
10047  }
10048  explicit ReduceLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
10049  : fbb_(_fbb) {
10050  start_ = fbb_.StartTable();
10051  }
10052  ReduceLayerBuilder &operator=(const ReduceLayerBuilder &);
10053  flatbuffers::Offset<ReduceLayer> Finish() {
10054  const auto end = fbb_.EndTable(start_);
10055  auto o = flatbuffers::Offset<ReduceLayer>(end);
10056  return o;
10057  }
10058 };
10059 
10060 inline flatbuffers::Offset<ReduceLayer> CreateReduceLayer(
10061  flatbuffers::FlatBufferBuilder &_fbb,
10062  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
10063  flatbuffers::Offset<armnnSerializer::ReduceDescriptor> descriptor = 0) {
10064  ReduceLayerBuilder builder_(_fbb);
10065  builder_.add_descriptor(descriptor);
10066  builder_.add_base(base);
10067  return builder_.Finish();
10068 }
10069 
10070 struct ReduceDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
10072  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
10074  VT_AXIS = 6,
10075  VT_REDUCEOPERATION = 8
10076  };
10077  bool keepDims() const {
10078  return GetField<uint8_t>(VT_KEEPDIMS, 0) != 0;
10079  }
10080  const flatbuffers::Vector<uint32_t> *axis() const {
10081  return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_AXIS);
10082  }
10084  return static_cast<armnnSerializer::ReduceOperation>(GetField<int8_t>(VT_REDUCEOPERATION, 0));
10085  }
10086  bool Verify(flatbuffers::Verifier &verifier) const {
10087  return VerifyTableStart(verifier) &&
10088  VerifyField<uint8_t>(verifier, VT_KEEPDIMS) &&
10089  VerifyOffset(verifier, VT_AXIS) &&
10090  verifier.VerifyVector(axis()) &&
10091  VerifyField<int8_t>(verifier, VT_REDUCEOPERATION) &&
10092  verifier.EndTable();
10093  }
10094 };
10095 
10097  typedef ReduceDescriptor Table;
10098  flatbuffers::FlatBufferBuilder &fbb_;
10099  flatbuffers::uoffset_t start_;
10100  void add_keepDims(bool keepDims) {
10101  fbb_.AddElement<uint8_t>(ReduceDescriptor::VT_KEEPDIMS, static_cast<uint8_t>(keepDims), 0);
10102  }
10103  void add_axis(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> axis) {
10104  fbb_.AddOffset(ReduceDescriptor::VT_AXIS, axis);
10105  }
10107  fbb_.AddElement<int8_t>(ReduceDescriptor::VT_REDUCEOPERATION, static_cast<int8_t>(reduceOperation), 0);
10108  }
10109  explicit ReduceDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
10110  : fbb_(_fbb) {
10111  start_ = fbb_.StartTable();
10112  }
10114  flatbuffers::Offset<ReduceDescriptor> Finish() {
10115  const auto end = fbb_.EndTable(start_);
10116  auto o = flatbuffers::Offset<ReduceDescriptor>(end);
10117  return o;
10118  }
10119 };
10120 
10121 inline flatbuffers::Offset<ReduceDescriptor> CreateReduceDescriptor(
10122  flatbuffers::FlatBufferBuilder &_fbb,
10123  bool keepDims = false,
10124  flatbuffers::Offset<flatbuffers::Vector<uint32_t>> axis = 0,
10126  ReduceDescriptorBuilder builder_(_fbb);
10127  builder_.add_axis(axis);
10128  builder_.add_reduceOperation(reduceOperation);
10129  builder_.add_keepDims(keepDims);
10130  return builder_.Finish();
10131 }
10132 
10133 inline flatbuffers::Offset<ReduceDescriptor> CreateReduceDescriptorDirect(
10134  flatbuffers::FlatBufferBuilder &_fbb,
10135  bool keepDims = false,
10136  const std::vector<uint32_t> *axis = nullptr,
10138  auto axis__ = axis ? _fbb.CreateVector<uint32_t>(*axis) : 0;
10140  _fbb,
10141  keepDims,
10142  axis__,
10143  reduceOperation);
10144 }
10145 
10146 struct UnidirectionalSequenceLstmDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
10148  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
10149  VT_ACTIVATIONFUNC = 4,
10152  VT_CIFGENABLED = 10,
10153  VT_PEEPHOLEENABLED = 12,
10154  VT_PROJECTIONENABLED = 14,
10155  VT_LAYERNORMENABLED = 16,
10156  VT_TIMEMAJOR = 18
10157  };
10158  uint32_t activationFunc() const {
10159  return GetField<uint32_t>(VT_ACTIVATIONFUNC, 0);
10160  }
10161  float clippingThresCell() const {
10162  return GetField<float>(VT_CLIPPINGTHRESCELL, 0.0f);
10163  }
10164  float clippingThresProj() const {
10165  return GetField<float>(VT_CLIPPINGTHRESPROJ, 0.0f);
10166  }
10167  bool cifgEnabled() const {
10168  return GetField<uint8_t>(VT_CIFGENABLED, 1) != 0;
10169  }
10170  bool peepholeEnabled() const {
10171  return GetField<uint8_t>(VT_PEEPHOLEENABLED, 0) != 0;
10172  }
10173  bool projectionEnabled() const {
10174  return GetField<uint8_t>(VT_PROJECTIONENABLED, 0) != 0;
10175  }
10176  bool layerNormEnabled() const {
10177  return GetField<uint8_t>(VT_LAYERNORMENABLED, 0) != 0;
10178  }
10179  bool timeMajor() const {
10180  return GetField<uint8_t>(VT_TIMEMAJOR, 0) != 0;
10181  }
10182  bool Verify(flatbuffers::Verifier &verifier) const {
10183  return VerifyTableStart(verifier) &&
10184  VerifyField<uint32_t>(verifier, VT_ACTIVATIONFUNC) &&
10185  VerifyField<float>(verifier, VT_CLIPPINGTHRESCELL) &&
10186  VerifyField<float>(verifier, VT_CLIPPINGTHRESPROJ) &&
10187  VerifyField<uint8_t>(verifier, VT_CIFGENABLED) &&
10188  VerifyField<uint8_t>(verifier, VT_PEEPHOLEENABLED) &&
10189  VerifyField<uint8_t>(verifier, VT_PROJECTIONENABLED) &&
10190  VerifyField<uint8_t>(verifier, VT_LAYERNORMENABLED) &&
10191  VerifyField<uint8_t>(verifier, VT_TIMEMAJOR) &&
10192  verifier.EndTable();
10193  }
10194 };
10195 
10198  flatbuffers::FlatBufferBuilder &fbb_;
10199  flatbuffers::uoffset_t start_;
10200  void add_activationFunc(uint32_t activationFunc) {
10201  fbb_.AddElement<uint32_t>(UnidirectionalSequenceLstmDescriptor::VT_ACTIVATIONFUNC, activationFunc, 0);
10202  }
10203  void add_clippingThresCell(float clippingThresCell) {
10204  fbb_.AddElement<float>(UnidirectionalSequenceLstmDescriptor::VT_CLIPPINGTHRESCELL, clippingThresCell, 0.0f);
10205  }
10206  void add_clippingThresProj(float clippingThresProj) {
10207  fbb_.AddElement<float>(UnidirectionalSequenceLstmDescriptor::VT_CLIPPINGTHRESPROJ, clippingThresProj, 0.0f);
10208  }
10209  void add_cifgEnabled(bool cifgEnabled) {
10210  fbb_.AddElement<uint8_t>(UnidirectionalSequenceLstmDescriptor::VT_CIFGENABLED, static_cast<uint8_t>(cifgEnabled), 1);
10211  }
10212  void add_peepholeEnabled(bool peepholeEnabled) {
10213  fbb_.AddElement<uint8_t>(UnidirectionalSequenceLstmDescriptor::VT_PEEPHOLEENABLED, static_cast<uint8_t>(peepholeEnabled), 0);
10214  }
10215  void add_projectionEnabled(bool projectionEnabled) {
10216  fbb_.AddElement<uint8_t>(UnidirectionalSequenceLstmDescriptor::VT_PROJECTIONENABLED, static_cast<uint8_t>(projectionEnabled), 0);
10217  }
10218  void add_layerNormEnabled(bool layerNormEnabled) {
10219  fbb_.AddElement<uint8_t>(UnidirectionalSequenceLstmDescriptor::VT_LAYERNORMENABLED, static_cast<uint8_t>(layerNormEnabled), 0);
10220  }
10221  void add_timeMajor(bool timeMajor) {
10222  fbb_.AddElement<uint8_t>(UnidirectionalSequenceLstmDescriptor::VT_TIMEMAJOR, static_cast<uint8_t>(timeMajor), 0);
10223  }
10224  explicit UnidirectionalSequenceLstmDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
10225  : fbb_(_fbb) {
10226  start_ = fbb_.StartTable();
10227  }
10229  flatbuffers::Offset<UnidirectionalSequenceLstmDescriptor> Finish() {
10230  const auto end = fbb_.EndTable(start_);
10231  auto o = flatbuffers::Offset<UnidirectionalSequenceLstmDescriptor>(end);
10232  return o;
10233  }
10234 };
10235 
10236 inline flatbuffers::Offset<UnidirectionalSequenceLstmDescriptor> CreateUnidirectionalSequenceLstmDescriptor(
10237  flatbuffers::FlatBufferBuilder &_fbb,
10238  uint32_t activationFunc = 0,
10239  float clippingThresCell = 0.0f,
10240  float clippingThresProj = 0.0f,
10241  bool cifgEnabled = true,
10242  bool peepholeEnabled = false,
10243  bool projectionEnabled = false,
10244  bool layerNormEnabled = false,
10245  bool timeMajor = false) {
10247  builder_.add_clippingThresProj(clippingThresProj);
10248  builder_.add_clippingThresCell(clippingThresCell);
10249  builder_.add_activationFunc(activationFunc);
10250  builder_.add_timeMajor(timeMajor);
10251  builder_.add_layerNormEnabled(layerNormEnabled);
10252  builder_.add_projectionEnabled(projectionEnabled);
10253  builder_.add_peepholeEnabled(peepholeEnabled);
10254  builder_.add_cifgEnabled(cifgEnabled);
10255  return builder_.Finish();
10256 }
10257 
10258 struct UnidirectionalSequenceLstmLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
10260  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
10261  VT_BASE = 4,
10262  VT_DESCRIPTOR = 6,
10263  VT_INPUTPARAMS = 8
10264  };
10265  const armnnSerializer::LayerBase *base() const {
10266  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
10267  }
10269  return GetPointer<const armnnSerializer::UnidirectionalSequenceLstmDescriptor *>(VT_DESCRIPTOR);
10270  }
10271  const armnnSerializer::LstmInputParams *inputParams() const {
10272  return GetPointer<const armnnSerializer::LstmInputParams *>(VT_INPUTPARAMS);
10273  }
10274  bool Verify(flatbuffers::Verifier &verifier) const {
10275  return VerifyTableStart(verifier) &&
10276  VerifyOffset(verifier, VT_BASE) &&
10277  verifier.VerifyTable(base()) &&
10278  VerifyOffset(verifier, VT_DESCRIPTOR) &&
10279  verifier.VerifyTable(descriptor()) &&
10280  VerifyOffset(verifier, VT_INPUTPARAMS) &&
10281  verifier.VerifyTable(inputParams()) &&
10282  verifier.EndTable();
10283  }
10284 };
10285 
10287  typedef UnidirectionalSequenceLstmLayer Table;
10288  flatbuffers::FlatBufferBuilder &fbb_;
10289  flatbuffers::uoffset_t start_;
10290  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
10291  fbb_.AddOffset(UnidirectionalSequenceLstmLayer::VT_BASE, base);
10292  }
10293  void add_descriptor(flatbuffers::Offset<armnnSerializer::UnidirectionalSequenceLstmDescriptor> descriptor) {
10294  fbb_.AddOffset(UnidirectionalSequenceLstmLayer::VT_DESCRIPTOR, descriptor);
10295  }
10296  void add_inputParams(flatbuffers::Offset<armnnSerializer::LstmInputParams> inputParams) {
10297  fbb_.AddOffset(UnidirectionalSequenceLstmLayer::VT_INPUTPARAMS, inputParams);
10298  }
10299  explicit UnidirectionalSequenceLstmLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
10300  : fbb_(_fbb) {
10301  start_ = fbb_.StartTable();
10302  }
10304  flatbuffers::Offset<UnidirectionalSequenceLstmLayer> Finish() {
10305  const auto end = fbb_.EndTable(start_);
10306  auto o = flatbuffers::Offset<UnidirectionalSequenceLstmLayer>(end);
10307  return o;
10308  }
10309 };
10310 
10311 inline flatbuffers::Offset<UnidirectionalSequenceLstmLayer> CreateUnidirectionalSequenceLstmLayer(
10312  flatbuffers::FlatBufferBuilder &_fbb,
10313  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
10314  flatbuffers::Offset<armnnSerializer::UnidirectionalSequenceLstmDescriptor> descriptor = 0,
10315  flatbuffers::Offset<armnnSerializer::LstmInputParams> inputParams = 0) {
10317  builder_.add_inputParams(inputParams);
10318  builder_.add_descriptor(descriptor);
10319  builder_.add_base(base);
10320  return builder_.Finish();
10321 }
10322 
10323 struct AnyLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
10325  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
10327  VT_LAYER = 6
10328  };
10330  return static_cast<armnnSerializer::Layer>(GetField<uint8_t>(VT_LAYER_TYPE, 0));
10331  }
10332  const void *layer() const {
10333  return GetPointer<const void *>(VT_LAYER);
10334  }
10335  template<typename T> const T *layer_as() const;
10336  const armnnSerializer::ActivationLayer *layer_as_ActivationLayer() const {
10337  return layer_type() == armnnSerializer::Layer_ActivationLayer ? static_cast<const armnnSerializer::ActivationLayer *>(layer()) : nullptr;
10338  }
10339  const armnnSerializer::AdditionLayer *layer_as_AdditionLayer() const {
10340  return layer_type() == armnnSerializer::Layer_AdditionLayer ? static_cast<const armnnSerializer::AdditionLayer *>(layer()) : nullptr;
10341  }
10342  const armnnSerializer::BatchToSpaceNdLayer *layer_as_BatchToSpaceNdLayer() const {
10343  return layer_type() == armnnSerializer::Layer_BatchToSpaceNdLayer ? static_cast<const armnnSerializer::BatchToSpaceNdLayer *>(layer()) : nullptr;
10344  }
10345  const armnnSerializer::BatchNormalizationLayer *layer_as_BatchNormalizationLayer() const {
10346  return layer_type() == armnnSerializer::Layer_BatchNormalizationLayer ? static_cast<const armnnSerializer::BatchNormalizationLayer *>(layer()) : nullptr;
10347  }
10348  const armnnSerializer::ConstantLayer *layer_as_ConstantLayer() const {
10349  return layer_type() == armnnSerializer::Layer_ConstantLayer ? static_cast<const armnnSerializer::ConstantLayer *>(layer()) : nullptr;
10350  }
10351  const armnnSerializer::Convolution2dLayer *layer_as_Convolution2dLayer() const {
10352  return layer_type() == armnnSerializer::Layer_Convolution2dLayer ? static_cast<const armnnSerializer::Convolution2dLayer *>(layer()) : nullptr;
10353  }
10354  const armnnSerializer::DepthwiseConvolution2dLayer *layer_as_DepthwiseConvolution2dLayer() const {
10355  return layer_type() == armnnSerializer::Layer_DepthwiseConvolution2dLayer ? static_cast<const armnnSerializer::DepthwiseConvolution2dLayer *>(layer()) : nullptr;
10356  }
10357  const armnnSerializer::FullyConnectedLayer *layer_as_FullyConnectedLayer() const {
10358  return layer_type() == armnnSerializer::Layer_FullyConnectedLayer ? static_cast<const armnnSerializer::FullyConnectedLayer *>(layer()) : nullptr;
10359  }
10360  const armnnSerializer::InputLayer *layer_as_InputLayer() const {
10361  return layer_type() == armnnSerializer::Layer_InputLayer ? static_cast<const armnnSerializer::InputLayer *>(layer()) : nullptr;
10362  }
10363  const armnnSerializer::MultiplicationLayer *layer_as_MultiplicationLayer() const {
10364  return layer_type() == armnnSerializer::Layer_MultiplicationLayer ? static_cast<const armnnSerializer::MultiplicationLayer *>(layer()) : nullptr;
10365  }
10366  const armnnSerializer::OutputLayer *layer_as_OutputLayer() const {
10367  return layer_type() == armnnSerializer::Layer_OutputLayer ? static_cast<const armnnSerializer::OutputLayer *>(layer()) : nullptr;
10368  }
10369  const armnnSerializer::PermuteLayer *layer_as_PermuteLayer() const {
10370  return layer_type() == armnnSerializer::Layer_PermuteLayer ? static_cast<const armnnSerializer::PermuteLayer *>(layer()) : nullptr;
10371  }
10372  const armnnSerializer::Pooling2dLayer *layer_as_Pooling2dLayer() const {
10373  return layer_type() == armnnSerializer::Layer_Pooling2dLayer ? static_cast<const armnnSerializer::Pooling2dLayer *>(layer()) : nullptr;
10374  }
10375  const armnnSerializer::ReshapeLayer *layer_as_ReshapeLayer() const {
10376  return layer_type() == armnnSerializer::Layer_ReshapeLayer ? static_cast<const armnnSerializer::ReshapeLayer *>(layer()) : nullptr;
10377  }
10378  const armnnSerializer::SoftmaxLayer *layer_as_SoftmaxLayer() const {
10379  return layer_type() == armnnSerializer::Layer_SoftmaxLayer ? static_cast<const armnnSerializer::SoftmaxLayer *>(layer()) : nullptr;
10380  }
10381  const armnnSerializer::SpaceToBatchNdLayer *layer_as_SpaceToBatchNdLayer() const {
10382  return layer_type() == armnnSerializer::Layer_SpaceToBatchNdLayer ? static_cast<const armnnSerializer::SpaceToBatchNdLayer *>(layer()) : nullptr;
10383  }
10384  const armnnSerializer::DivisionLayer *layer_as_DivisionLayer() const {
10385  return layer_type() == armnnSerializer::Layer_DivisionLayer ? static_cast<const armnnSerializer::DivisionLayer *>(layer()) : nullptr;
10386  }
10387  const armnnSerializer::MinimumLayer *layer_as_MinimumLayer() const {
10388  return layer_type() == armnnSerializer::Layer_MinimumLayer ? static_cast<const armnnSerializer::MinimumLayer *>(layer()) : nullptr;
10389  }
10390  const armnnSerializer::EqualLayer *layer_as_EqualLayer() const {
10391  return layer_type() == armnnSerializer::Layer_EqualLayer ? static_cast<const armnnSerializer::EqualLayer *>(layer()) : nullptr;
10392  }
10393  const armnnSerializer::MaximumLayer *layer_as_MaximumLayer() const {
10394  return layer_type() == armnnSerializer::Layer_MaximumLayer ? static_cast<const armnnSerializer::MaximumLayer *>(layer()) : nullptr;
10395  }
10396  const armnnSerializer::NormalizationLayer *layer_as_NormalizationLayer() const {
10397  return layer_type() == armnnSerializer::Layer_NormalizationLayer ? static_cast<const armnnSerializer::NormalizationLayer *>(layer()) : nullptr;
10398  }
10399  const armnnSerializer::PadLayer *layer_as_PadLayer() const {
10400  return layer_type() == armnnSerializer::Layer_PadLayer ? static_cast<const armnnSerializer::PadLayer *>(layer()) : nullptr;
10401  }
10402  const armnnSerializer::RsqrtLayer *layer_as_RsqrtLayer() const {
10403  return layer_type() == armnnSerializer::Layer_RsqrtLayer ? static_cast<const armnnSerializer::RsqrtLayer *>(layer()) : nullptr;
10404  }
10405  const armnnSerializer::FloorLayer *layer_as_FloorLayer() const {
10406  return layer_type() == armnnSerializer::Layer_FloorLayer ? static_cast<const armnnSerializer::FloorLayer *>(layer()) : nullptr;
10407  }
10408  const armnnSerializer::GreaterLayer *layer_as_GreaterLayer() const {
10409  return layer_type() == armnnSerializer::Layer_GreaterLayer ? static_cast<const armnnSerializer::GreaterLayer *>(layer()) : nullptr;
10410  }
10411  const armnnSerializer::ResizeBilinearLayer *layer_as_ResizeBilinearLayer() const {
10412  return layer_type() == armnnSerializer::Layer_ResizeBilinearLayer ? static_cast<const armnnSerializer::ResizeBilinearLayer *>(layer()) : nullptr;
10413  }
10414  const armnnSerializer::SubtractionLayer *layer_as_SubtractionLayer() const {
10415  return layer_type() == armnnSerializer::Layer_SubtractionLayer ? static_cast<const armnnSerializer::SubtractionLayer *>(layer()) : nullptr;
10416  }
10417  const armnnSerializer::StridedSliceLayer *layer_as_StridedSliceLayer() const {
10418  return layer_type() == armnnSerializer::Layer_StridedSliceLayer ? static_cast<const armnnSerializer::StridedSliceLayer *>(layer()) : nullptr;
10419  }
10420  const armnnSerializer::GatherLayer *layer_as_GatherLayer() const {
10421  return layer_type() == armnnSerializer::Layer_GatherLayer ? static_cast<const armnnSerializer::GatherLayer *>(layer()) : nullptr;
10422  }
10423  const armnnSerializer::MeanLayer *layer_as_MeanLayer() const {
10424  return layer_type() == armnnSerializer::Layer_MeanLayer ? static_cast<const armnnSerializer::MeanLayer *>(layer()) : nullptr;
10425  }
10427  return layer_type() == armnnSerializer::Layer_MergerLayer ? static_cast<const armnnSerializer::MergerLayer *>(layer()) : nullptr;
10428  }
10429  const armnnSerializer::L2NormalizationLayer *layer_as_L2NormalizationLayer() const {
10430  return layer_type() == armnnSerializer::Layer_L2NormalizationLayer ? static_cast<const armnnSerializer::L2NormalizationLayer *>(layer()) : nullptr;
10431  }
10432  const armnnSerializer::SplitterLayer *layer_as_SplitterLayer() const {
10433  return layer_type() == armnnSerializer::Layer_SplitterLayer ? static_cast<const armnnSerializer::SplitterLayer *>(layer()) : nullptr;
10434  }
10435  const armnnSerializer::DetectionPostProcessLayer *layer_as_DetectionPostProcessLayer() const {
10436  return layer_type() == armnnSerializer::Layer_DetectionPostProcessLayer ? static_cast<const armnnSerializer::DetectionPostProcessLayer *>(layer()) : nullptr;
10437  }
10438  const armnnSerializer::LstmLayer *layer_as_LstmLayer() const {
10439  return layer_type() == armnnSerializer::Layer_LstmLayer ? static_cast<const armnnSerializer::LstmLayer *>(layer()) : nullptr;
10440  }
10441  const armnnSerializer::QuantizedLstmLayer *layer_as_QuantizedLstmLayer() const {
10442  return layer_type() == armnnSerializer::Layer_QuantizedLstmLayer ? static_cast<const armnnSerializer::QuantizedLstmLayer *>(layer()) : nullptr;
10443  }
10444  const armnnSerializer::QuantizeLayer *layer_as_QuantizeLayer() const {
10445  return layer_type() == armnnSerializer::Layer_QuantizeLayer ? static_cast<const armnnSerializer::QuantizeLayer *>(layer()) : nullptr;
10446  }
10447  const armnnSerializer::DequantizeLayer *layer_as_DequantizeLayer() const {
10448  return layer_type() == armnnSerializer::Layer_DequantizeLayer ? static_cast<const armnnSerializer::DequantizeLayer *>(layer()) : nullptr;
10449  }
10450  const armnnSerializer::MergeLayer *layer_as_MergeLayer() const {
10451  return layer_type() == armnnSerializer::Layer_MergeLayer ? static_cast<const armnnSerializer::MergeLayer *>(layer()) : nullptr;
10452  }
10453  const armnnSerializer::SwitchLayer *layer_as_SwitchLayer() const {
10454  return layer_type() == armnnSerializer::Layer_SwitchLayer ? static_cast<const armnnSerializer::SwitchLayer *>(layer()) : nullptr;
10455  }
10456  const armnnSerializer::ConcatLayer *layer_as_ConcatLayer() const {
10457  return layer_type() == armnnSerializer::Layer_ConcatLayer ? static_cast<const armnnSerializer::ConcatLayer *>(layer()) : nullptr;
10458  }
10459  const armnnSerializer::SpaceToDepthLayer *layer_as_SpaceToDepthLayer() const {
10460  return layer_type() == armnnSerializer::Layer_SpaceToDepthLayer ? static_cast<const armnnSerializer::SpaceToDepthLayer *>(layer()) : nullptr;
10461  }
10462  const armnnSerializer::PreluLayer *layer_as_PreluLayer() const {
10463  return layer_type() == armnnSerializer::Layer_PreluLayer ? static_cast<const armnnSerializer::PreluLayer *>(layer()) : nullptr;
10464  }
10465  const armnnSerializer::TransposeConvolution2dLayer *layer_as_TransposeConvolution2dLayer() const {
10466  return layer_type() == armnnSerializer::Layer_TransposeConvolution2dLayer ? static_cast<const armnnSerializer::TransposeConvolution2dLayer *>(layer()) : nullptr;
10467  }
10468  const armnnSerializer::ResizeLayer *layer_as_ResizeLayer() const {
10469  return layer_type() == armnnSerializer::Layer_ResizeLayer ? static_cast<const armnnSerializer::ResizeLayer *>(layer()) : nullptr;
10470  }
10471  const armnnSerializer::StackLayer *layer_as_StackLayer() const {
10472  return layer_type() == armnnSerializer::Layer_StackLayer ? static_cast<const armnnSerializer::StackLayer *>(layer()) : nullptr;
10473  }
10474  const armnnSerializer::AbsLayer *layer_as_AbsLayer() const {
10475  return layer_type() == armnnSerializer::Layer_AbsLayer ? static_cast<const armnnSerializer::AbsLayer *>(layer()) : nullptr;
10476  }
10477  const armnnSerializer::ArgMinMaxLayer *layer_as_ArgMinMaxLayer() const {
10478  return layer_type() == armnnSerializer::Layer_ArgMinMaxLayer ? static_cast<const armnnSerializer::ArgMinMaxLayer *>(layer()) : nullptr;
10479  }
10480  const armnnSerializer::SliceLayer *layer_as_SliceLayer() const {
10481  return layer_type() == armnnSerializer::Layer_SliceLayer ? static_cast<const armnnSerializer::SliceLayer *>(layer()) : nullptr;
10482  }
10483  const armnnSerializer::DepthToSpaceLayer *layer_as_DepthToSpaceLayer() const {
10484  return layer_type() == armnnSerializer::Layer_DepthToSpaceLayer ? static_cast<const armnnSerializer::DepthToSpaceLayer *>(layer()) : nullptr;
10485  }
10486  const armnnSerializer::InstanceNormalizationLayer *layer_as_InstanceNormalizationLayer() const {
10487  return layer_type() == armnnSerializer::Layer_InstanceNormalizationLayer ? static_cast<const armnnSerializer::InstanceNormalizationLayer *>(layer()) : nullptr;
10488  }
10489  const armnnSerializer::LogSoftmaxLayer *layer_as_LogSoftmaxLayer() const {
10490  return layer_type() == armnnSerializer::Layer_LogSoftmaxLayer ? static_cast<const armnnSerializer::LogSoftmaxLayer *>(layer()) : nullptr;
10491  }
10492  const armnnSerializer::ComparisonLayer *layer_as_ComparisonLayer() const {
10493  return layer_type() == armnnSerializer::Layer_ComparisonLayer ? static_cast<const armnnSerializer::ComparisonLayer *>(layer()) : nullptr;
10494  }
10495  const armnnSerializer::StandInLayer *layer_as_StandInLayer() const {
10496  return layer_type() == armnnSerializer::Layer_StandInLayer ? static_cast<const armnnSerializer::StandInLayer *>(layer()) : nullptr;
10497  }
10498  const armnnSerializer::ElementwiseUnaryLayer *layer_as_ElementwiseUnaryLayer() const {
10499  return layer_type() == armnnSerializer::Layer_ElementwiseUnaryLayer ? static_cast<const armnnSerializer::ElementwiseUnaryLayer *>(layer()) : nullptr;
10500  }
10501  const armnnSerializer::TransposeLayer *layer_as_TransposeLayer() const {
10502  return layer_type() == armnnSerializer::Layer_TransposeLayer ? static_cast<const armnnSerializer::TransposeLayer *>(layer()) : nullptr;
10503  }
10504  const armnnSerializer::QLstmLayer *layer_as_QLstmLayer() const {
10505  return layer_type() == armnnSerializer::Layer_QLstmLayer ? static_cast<const armnnSerializer::QLstmLayer *>(layer()) : nullptr;
10506  }
10507  const armnnSerializer::FillLayer *layer_as_FillLayer() const {
10508  return layer_type() == armnnSerializer::Layer_FillLayer ? static_cast<const armnnSerializer::FillLayer *>(layer()) : nullptr;
10509  }
10510  const armnnSerializer::RankLayer *layer_as_RankLayer() const {
10511  return layer_type() == armnnSerializer::Layer_RankLayer ? static_cast<const armnnSerializer::RankLayer *>(layer()) : nullptr;
10512  }
10513  const armnnSerializer::LogicalBinaryLayer *layer_as_LogicalBinaryLayer() const {
10514  return layer_type() == armnnSerializer::Layer_LogicalBinaryLayer ? static_cast<const armnnSerializer::LogicalBinaryLayer *>(layer()) : nullptr;
10515  }
10516  const armnnSerializer::ReduceLayer *layer_as_ReduceLayer() const {
10517  return layer_type() == armnnSerializer::Layer_ReduceLayer ? static_cast<const armnnSerializer::ReduceLayer *>(layer()) : nullptr;
10518  }
10519  const armnnSerializer::CastLayer *layer_as_CastLayer() const {
10520  return layer_type() == armnnSerializer::Layer_CastLayer ? static_cast<const armnnSerializer::CastLayer *>(layer()) : nullptr;
10521  }
10522  const armnnSerializer::ShapeLayer *layer_as_ShapeLayer() const {
10523  return layer_type() == armnnSerializer::Layer_ShapeLayer ? static_cast<const armnnSerializer::ShapeLayer *>(layer()) : nullptr;
10524  }
10525  const armnnSerializer::UnidirectionalSequenceLstmLayer *layer_as_UnidirectionalSequenceLstmLayer() const {
10526  return layer_type() == armnnSerializer::Layer_UnidirectionalSequenceLstmLayer ? static_cast<const armnnSerializer::UnidirectionalSequenceLstmLayer *>(layer()) : nullptr;
10527  }
10528  const armnnSerializer::ChannelShuffleLayer *layer_as_ChannelShuffleLayer() const {
10529  return layer_type() == armnnSerializer::Layer_ChannelShuffleLayer ? static_cast<const armnnSerializer::ChannelShuffleLayer *>(layer()) : nullptr;
10530  }
10531  const armnnSerializer::Convolution3dLayer *layer_as_Convolution3dLayer() const {
10532  return layer_type() == armnnSerializer::Layer_Convolution3dLayer ? static_cast<const armnnSerializer::Convolution3dLayer *>(layer()) : nullptr;
10533  }
10534  const armnnSerializer::Pooling3dLayer *layer_as_Pooling3dLayer() const {
10535  return layer_type() == armnnSerializer::Layer_Pooling3dLayer ? static_cast<const armnnSerializer::Pooling3dLayer *>(layer()) : nullptr;
10536  }
10537  bool Verify(flatbuffers::Verifier &verifier) const {
10538  return VerifyTableStart(verifier) &&
10539  VerifyField<uint8_t>(verifier, VT_LAYER_TYPE) &&
10540  VerifyOffset(verifier, VT_LAYER) &&
10541  VerifyLayer(verifier, layer(), layer_type()) &&
10542  verifier.EndTable();
10543  }
10544 };
10545 
10546 template<> inline const armnnSerializer::ActivationLayer *AnyLayer::layer_as<armnnSerializer::ActivationLayer>() const {
10547  return layer_as_ActivationLayer();
10548 }
10549 
10550 template<> inline const armnnSerializer::AdditionLayer *AnyLayer::layer_as<armnnSerializer::AdditionLayer>() const {
10551  return layer_as_AdditionLayer();
10552 }
10553 
10554 template<> inline const armnnSerializer::BatchToSpaceNdLayer *AnyLayer::layer_as<armnnSerializer::BatchToSpaceNdLayer>() const {
10555  return layer_as_BatchToSpaceNdLayer();
10556 }
10557 
10558 template<> inline const armnnSerializer::BatchNormalizationLayer *AnyLayer::layer_as<armnnSerializer::BatchNormalizationLayer>() const {
10559  return layer_as_BatchNormalizationLayer();
10560 }
10561 
10562 template<> inline const armnnSerializer::ConstantLayer *AnyLayer::layer_as<armnnSerializer::ConstantLayer>() const {
10563  return layer_as_ConstantLayer();
10564 }
10565 
10566 template<> inline const armnnSerializer::Convolution2dLayer *AnyLayer::layer_as<armnnSerializer::Convolution2dLayer>() const {
10567  return layer_as_Convolution2dLayer();
10568 }
10569 
10570 template<> inline const armnnSerializer::DepthwiseConvolution2dLayer *AnyLayer::layer_as<armnnSerializer::DepthwiseConvolution2dLayer>() const {
10571  return layer_as_DepthwiseConvolution2dLayer();
10572 }
10573 
10574 template<> inline const armnnSerializer::FullyConnectedLayer *AnyLayer::layer_as<armnnSerializer::FullyConnectedLayer>() const {
10575  return layer_as_FullyConnectedLayer();
10576 }
10577 
10578 template<> inline const armnnSerializer::InputLayer *AnyLayer::layer_as<armnnSerializer::InputLayer>() const {
10579  return layer_as_InputLayer();
10580 }
10581 
10582 template<> inline const armnnSerializer::MultiplicationLayer *AnyLayer::layer_as<armnnSerializer::MultiplicationLayer>() const {
10583  return layer_as_MultiplicationLayer();
10584 }
10585 
10586 template<> inline const armnnSerializer::OutputLayer *AnyLayer::layer_as<armnnSerializer::OutputLayer>() const {
10587  return layer_as_OutputLayer();
10588 }
10589 
10590 template<> inline const armnnSerializer::PermuteLayer *AnyLayer::layer_as<armnnSerializer::PermuteLayer>() const {
10591  return layer_as_PermuteLayer();
10592 }
10593 
10594 template<> inline const armnnSerializer::Pooling2dLayer *AnyLayer::layer_as<armnnSerializer::Pooling2dLayer>() const {
10595  return layer_as_Pooling2dLayer();
10596 }
10597 
10598 template<> inline const armnnSerializer::ReshapeLayer *AnyLayer::layer_as<armnnSerializer::ReshapeLayer>() const {
10599  return layer_as_ReshapeLayer();
10600 }
10601 
10602 template<> inline const armnnSerializer::SoftmaxLayer *AnyLayer::layer_as<armnnSerializer::SoftmaxLayer>() const {
10603  return layer_as_SoftmaxLayer();
10604 }
10605 
10606 template<> inline const armnnSerializer::SpaceToBatchNdLayer *AnyLayer::layer_as<armnnSerializer::SpaceToBatchNdLayer>() const {
10607  return layer_as_SpaceToBatchNdLayer();
10608 }
10609 
10610 template<> inline const armnnSerializer::DivisionLayer *AnyLayer::layer_as<armnnSerializer::DivisionLayer>() const {
10611  return layer_as_DivisionLayer();
10612 }
10613 
10614 template<> inline const armnnSerializer::MinimumLayer *AnyLayer::layer_as<armnnSerializer::MinimumLayer>() const {
10615  return layer_as_MinimumLayer();
10616 }
10617 
10618 template<> inline const armnnSerializer::EqualLayer *AnyLayer::layer_as<armnnSerializer::EqualLayer>() const {
10619  return layer_as_EqualLayer();
10620 }
10621 
10622 template<> inline const armnnSerializer::MaximumLayer *AnyLayer::layer_as<armnnSerializer::MaximumLayer>() const {
10623  return layer_as_MaximumLayer();
10624 }
10625 
10626 template<> inline const armnnSerializer::NormalizationLayer *AnyLayer::layer_as<armnnSerializer::NormalizationLayer>() const {
10627  return layer_as_NormalizationLayer();
10628 }
10629 
10630 template<> inline const armnnSerializer::PadLayer *AnyLayer::layer_as<armnnSerializer::PadLayer>() const {
10631  return layer_as_PadLayer();
10632 }
10633 
10634 template<> inline const armnnSerializer::RsqrtLayer *AnyLayer::layer_as<armnnSerializer::RsqrtLayer>() const {
10635  return layer_as_RsqrtLayer();
10636 }
10637 
10638 template<> inline const armnnSerializer::FloorLayer *AnyLayer::layer_as<armnnSerializer::FloorLayer>() const {
10639  return layer_as_FloorLayer();
10640 }
10641 
10642 template<> inline const armnnSerializer::GreaterLayer *AnyLayer::layer_as<armnnSerializer::GreaterLayer>() const {
10643  return layer_as_GreaterLayer();
10644 }
10645 
10646 template<> inline const armnnSerializer::ResizeBilinearLayer *AnyLayer::layer_as<armnnSerializer::ResizeBilinearLayer>() const {
10647  return layer_as_ResizeBilinearLayer();
10648 }
10649 
10650 template<> inline const armnnSerializer::SubtractionLayer *AnyLayer::layer_as<armnnSerializer::SubtractionLayer>() const {
10651  return layer_as_SubtractionLayer();
10652 }
10653 
10654 template<> inline const armnnSerializer::StridedSliceLayer *AnyLayer::layer_as<armnnSerializer::StridedSliceLayer>() const {
10655  return layer_as_StridedSliceLayer();
10656 }
10657 
10658 template<> inline const armnnSerializer::GatherLayer *AnyLayer::layer_as<armnnSerializer::GatherLayer>() const {
10659  return layer_as_GatherLayer();
10660 }
10661 
10662 template<> inline const armnnSerializer::MeanLayer *AnyLayer::layer_as<armnnSerializer::MeanLayer>() const {
10663  return layer_as_MeanLayer();
10664 }
10665 
10666 template<> inline const armnnSerializer::MergerLayer *AnyLayer::layer_as<armnnSerializer::MergerLayer>() const {
10667  return layer_as_MergerLayer();
10668 }
10669 
10670 template<> inline const armnnSerializer::L2NormalizationLayer *AnyLayer::layer_as<armnnSerializer::L2NormalizationLayer>() const {
10671  return layer_as_L2NormalizationLayer();
10672 }
10673 
10674 template<> inline const armnnSerializer::SplitterLayer *AnyLayer::layer_as<armnnSerializer::SplitterLayer>() const {
10675  return layer_as_SplitterLayer();
10676 }
10677 
10678 template<> inline const armnnSerializer::DetectionPostProcessLayer *AnyLayer::layer_as<armnnSerializer::DetectionPostProcessLayer>() const {
10679  return layer_as_DetectionPostProcessLayer();
10680 }
10681 
10682 template<> inline const armnnSerializer::LstmLayer *AnyLayer::layer_as<armnnSerializer::LstmLayer>() const {
10683  return layer_as_LstmLayer();
10684 }
10685 
10686 template<> inline const armnnSerializer::QuantizedLstmLayer *AnyLayer::layer_as<armnnSerializer::QuantizedLstmLayer>() const {
10687  return layer_as_QuantizedLstmLayer();
10688 }
10689 
10690 template<> inline const armnnSerializer::QuantizeLayer *AnyLayer::layer_as<armnnSerializer::QuantizeLayer>() const {
10691  return layer_as_QuantizeLayer();
10692 }
10693 
10694 template<> inline const armnnSerializer::DequantizeLayer *AnyLayer::layer_as<armnnSerializer::DequantizeLayer>() const {
10695  return layer_as_DequantizeLayer();
10696 }
10697 
10698 template<> inline const armnnSerializer::MergeLayer *AnyLayer::layer_as<armnnSerializer::MergeLayer>() const {
10699  return layer_as_MergeLayer();
10700 }
10701 
10702 template<> inline const armnnSerializer::SwitchLayer *AnyLayer::layer_as<armnnSerializer::SwitchLayer>() const {
10703  return layer_as_SwitchLayer();
10704 }
10705 
10706 template<> inline const armnnSerializer::ConcatLayer *AnyLayer::layer_as<armnnSerializer::ConcatLayer>() const {
10707  return layer_as_ConcatLayer();
10708 }
10709 
10710 template<> inline const armnnSerializer::SpaceToDepthLayer *AnyLayer::layer_as<armnnSerializer::SpaceToDepthLayer>() const {
10711  return layer_as_SpaceToDepthLayer();
10712 }
10713 
10714 template<> inline const armnnSerializer::PreluLayer *AnyLayer::layer_as<armnnSerializer::PreluLayer>() const {
10715  return layer_as_PreluLayer();
10716 }
10717 
10718 template<> inline const armnnSerializer::TransposeConvolution2dLayer *AnyLayer::layer_as<armnnSerializer::TransposeConvolution2dLayer>() const {
10719  return layer_as_TransposeConvolution2dLayer();
10720 }
10721 
10722 template<> inline const armnnSerializer::ResizeLayer *AnyLayer::layer_as<armnnSerializer::ResizeLayer>() const {
10723  return layer_as_ResizeLayer();
10724 }
10725 
10726 template<> inline const armnnSerializer::StackLayer *AnyLayer::layer_as<armnnSerializer::StackLayer>() const {
10727  return layer_as_StackLayer();
10728 }
10729 
10730 template<> inline const armnnSerializer::AbsLayer *AnyLayer::layer_as<armnnSerializer::AbsLayer>() const {
10731  return layer_as_AbsLayer();
10732 }
10733 
10734 template<> inline const armnnSerializer::ArgMinMaxLayer *AnyLayer::layer_as<armnnSerializer::ArgMinMaxLayer>() const {
10735  return layer_as_ArgMinMaxLayer();
10736 }
10737 
10738 template<> inline const armnnSerializer::SliceLayer *AnyLayer::layer_as<armnnSerializer::SliceLayer>() const {
10739  return layer_as_SliceLayer();
10740 }
10741 
10742 template<> inline const armnnSerializer::DepthToSpaceLayer *AnyLayer::layer_as<armnnSerializer::DepthToSpaceLayer>() const {
10743  return layer_as_DepthToSpaceLayer();
10744 }
10745 
10746 template<> inline const armnnSerializer::InstanceNormalizationLayer *AnyLayer::layer_as<armnnSerializer::InstanceNormalizationLayer>() const {
10747  return layer_as_InstanceNormalizationLayer();
10748 }
10749 
10750 template<> inline const armnnSerializer::LogSoftmaxLayer *AnyLayer::layer_as<armnnSerializer::LogSoftmaxLayer>() const {
10751  return layer_as_LogSoftmaxLayer();
10752 }
10753 
10754 template<> inline const armnnSerializer::ComparisonLayer *AnyLayer::layer_as<armnnSerializer::ComparisonLayer>() const {
10755  return layer_as_ComparisonLayer();
10756 }
10757 
10758 template<> inline const armnnSerializer::StandInLayer *AnyLayer::layer_as<armnnSerializer::StandInLayer>() const {
10759  return layer_as_StandInLayer();
10760 }
10761 
10762 template<> inline const armnnSerializer::ElementwiseUnaryLayer *AnyLayer::layer_as<armnnSerializer::ElementwiseUnaryLayer>() const {
10763  return layer_as_ElementwiseUnaryLayer();
10764 }
10765 
10766 template<> inline const armnnSerializer::TransposeLayer *AnyLayer::layer_as<armnnSerializer::TransposeLayer>() const {
10767  return layer_as_TransposeLayer();
10768 }
10769 
10770 template<> inline const armnnSerializer::QLstmLayer *AnyLayer::layer_as<armnnSerializer::QLstmLayer>() const {
10771  return layer_as_QLstmLayer();
10772 }
10773 
10774 template<> inline const armnnSerializer::FillLayer *AnyLayer::layer_as<armnnSerializer::FillLayer>() const {
10775  return layer_as_FillLayer();
10776 }
10777 
10778 template<> inline const armnnSerializer::RankLayer *AnyLayer::layer_as<armnnSerializer::RankLayer>() const {
10779  return layer_as_RankLayer();
10780 }
10781 
10782 template<> inline const armnnSerializer::LogicalBinaryLayer *AnyLayer::layer_as<armnnSerializer::LogicalBinaryLayer>() const {
10783  return layer_as_LogicalBinaryLayer();
10784 }
10785 
10786 template<> inline const armnnSerializer::ReduceLayer *AnyLayer::layer_as<armnnSerializer::ReduceLayer>() const {
10787  return layer_as_ReduceLayer();
10788 }
10789 
10790 template<> inline const armnnSerializer::CastLayer *AnyLayer::layer_as<armnnSerializer::CastLayer>() const {
10791  return layer_as_CastLayer();
10792 }
10793 
10794 template<> inline const armnnSerializer::ShapeLayer *AnyLayer::layer_as<armnnSerializer::ShapeLayer>() const {
10795  return layer_as_ShapeLayer();
10796 }
10797 
10798 template<> inline const armnnSerializer::UnidirectionalSequenceLstmLayer *AnyLayer::layer_as<armnnSerializer::UnidirectionalSequenceLstmLayer>() const {
10799  return layer_as_UnidirectionalSequenceLstmLayer();
10800 }
10801 
10802 template<> inline const armnnSerializer::ChannelShuffleLayer *AnyLayer::layer_as<armnnSerializer::ChannelShuffleLayer>() const {
10803  return layer_as_ChannelShuffleLayer();
10804 }
10805 
10806 template<> inline const armnnSerializer::Convolution3dLayer *AnyLayer::layer_as<armnnSerializer::Convolution3dLayer>() const {
10807  return layer_as_Convolution3dLayer();
10808 }
10809 
10810 template<> inline const armnnSerializer::Pooling3dLayer *AnyLayer::layer_as<armnnSerializer::Pooling3dLayer>() const {
10811  return layer_as_Pooling3dLayer();
10812 }
10813 
10815  typedef AnyLayer Table;
10816  flatbuffers::FlatBufferBuilder &fbb_;
10817  flatbuffers::uoffset_t start_;
10819  fbb_.AddElement<uint8_t>(AnyLayer::VT_LAYER_TYPE, static_cast<uint8_t>(layer_type), 0);
10820  }
10821  void add_layer(flatbuffers::Offset<void> layer) {
10822  fbb_.AddOffset(AnyLayer::VT_LAYER, layer);
10823  }
10824  explicit AnyLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
10825  : fbb_(_fbb) {
10826  start_ = fbb_.StartTable();
10827  }
10828  AnyLayerBuilder &operator=(const AnyLayerBuilder &);
10829  flatbuffers::Offset<AnyLayer> Finish() {
10830  const auto end = fbb_.EndTable(start_);
10831  auto o = flatbuffers::Offset<AnyLayer>(end);
10832  return o;
10833  }
10834 };
10835 
10836 inline flatbuffers::Offset<AnyLayer> CreateAnyLayer(
10837  flatbuffers::FlatBufferBuilder &_fbb,
10839  flatbuffers::Offset<void> layer = 0) {
10840  AnyLayerBuilder builder_(_fbb);
10841  builder_.add_layer(layer);
10842  builder_.add_layer_type(layer_type);
10843  return builder_.Finish();
10844 }
10845 
10846 struct FeatureCompatibilityVersions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
10848  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
10851  VT_CONSTANTTENSORSASINPUTS = 8
10852  };
10853  uint32_t bindingIdsScheme() const {
10854  return GetField<uint32_t>(VT_BINDINGIDSSCHEME, 0);
10855  }
10856  uint32_t weightsLayoutScheme() const {
10857  return GetField<uint32_t>(VT_WEIGHTSLAYOUTSCHEME, 0);
10858  }
10859  uint32_t constantTensorsAsInputs() const {
10860  return GetField<uint32_t>(VT_CONSTANTTENSORSASINPUTS, 0);
10861  }
10862  bool Verify(flatbuffers::Verifier &verifier) const {
10863  return VerifyTableStart(verifier) &&
10864  VerifyField<uint32_t>(verifier, VT_BINDINGIDSSCHEME) &&
10865  VerifyField<uint32_t>(verifier, VT_WEIGHTSLAYOUTSCHEME) &&
10866  VerifyField<uint32_t>(verifier, VT_CONSTANTTENSORSASINPUTS) &&
10867  verifier.EndTable();
10868  }
10869 };
10870 
10872  typedef FeatureCompatibilityVersions Table;
10873  flatbuffers::FlatBufferBuilder &fbb_;
10874  flatbuffers::uoffset_t start_;
10875  void add_bindingIdsScheme(uint32_t bindingIdsScheme) {
10876  fbb_.AddElement<uint32_t>(FeatureCompatibilityVersions::VT_BINDINGIDSSCHEME, bindingIdsScheme, 0);
10877  }
10878  void add_weightsLayoutScheme(uint32_t weightsLayoutScheme) {
10879  fbb_.AddElement<uint32_t>(FeatureCompatibilityVersions::VT_WEIGHTSLAYOUTSCHEME, weightsLayoutScheme, 0);
10880  }
10881  void add_constantTensorsAsInputs(uint32_t constantTensorsAsInputs) {
10882  fbb_.AddElement<uint32_t>(FeatureCompatibilityVersions::VT_CONSTANTTENSORSASINPUTS, constantTensorsAsInputs, 0);
10883  }
10884  explicit FeatureCompatibilityVersionsBuilder(flatbuffers::FlatBufferBuilder &_fbb)
10885  : fbb_(_fbb) {
10886  start_ = fbb_.StartTable();
10887  }
10889  flatbuffers::Offset<FeatureCompatibilityVersions> Finish() {
10890  const auto end = fbb_.EndTable(start_);
10891  auto o = flatbuffers::Offset<FeatureCompatibilityVersions>(end);
10892  return o;
10893  }
10894 };
10895 
10896 inline flatbuffers::Offset<FeatureCompatibilityVersions> CreateFeatureCompatibilityVersions(
10897  flatbuffers::FlatBufferBuilder &_fbb,
10898  uint32_t bindingIdsScheme = 0,
10899  uint32_t weightsLayoutScheme = 0,
10900  uint32_t constantTensorsAsInputs = 0) {
10901  FeatureCompatibilityVersionsBuilder builder_(_fbb);
10902  builder_.add_constantTensorsAsInputs(constantTensorsAsInputs);
10903  builder_.add_weightsLayoutScheme(weightsLayoutScheme);
10904  builder_.add_bindingIdsScheme(bindingIdsScheme);
10905  return builder_.Finish();
10906 }
10907 
10908 struct SerializedGraph FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
10910  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
10914  VT_FEATUREVERSIONS = 10
10915  };
10916  const flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::AnyLayer>> *layers() const {
10917  return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::AnyLayer>> *>(VT_LAYERS);
10918  }
10919  const flatbuffers::Vector<int32_t> *inputIds() const {
10920  return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_INPUTIDS);
10921  }
10922  const flatbuffers::Vector<int32_t> *outputIds() const {
10923  return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_OUTPUTIDS);
10924  }
10925  const armnnSerializer::FeatureCompatibilityVersions *featureVersions() const {
10926  return GetPointer<const armnnSerializer::FeatureCompatibilityVersions *>(VT_FEATUREVERSIONS);
10927  }
10928  bool Verify(flatbuffers::Verifier &verifier) const {
10929  return VerifyTableStart(verifier) &&
10930  VerifyOffset(verifier, VT_LAYERS) &&
10931  verifier.VerifyVector(layers()) &&
10932  verifier.VerifyVectorOfTables(layers()) &&
10933  VerifyOffset(verifier, VT_INPUTIDS) &&
10934  verifier.VerifyVector(inputIds()) &&
10935  VerifyOffset(verifier, VT_OUTPUTIDS) &&
10936  verifier.VerifyVector(outputIds()) &&
10937  VerifyOffset(verifier, VT_FEATUREVERSIONS) &&
10938  verifier.VerifyTable(featureVersions()) &&
10939  verifier.EndTable();
10940  }
10941 };
10942 
10944  typedef SerializedGraph Table;
10945  flatbuffers::FlatBufferBuilder &fbb_;
10946  flatbuffers::uoffset_t start_;
10947  void add_layers(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::AnyLayer>>> layers) {
10948  fbb_.AddOffset(SerializedGraph::VT_LAYERS, layers);
10949  }
10950  void add_inputIds(flatbuffers::Offset<flatbuffers::Vector<int32_t>> inputIds) {
10951  fbb_.AddOffset(SerializedGraph::VT_INPUTIDS, inputIds);
10952  }
10953  void add_outputIds(flatbuffers::Offset<flatbuffers::Vector<int32_t>> outputIds) {
10954  fbb_.AddOffset(SerializedGraph::VT_OUTPUTIDS, outputIds);
10955  }
10956  void add_featureVersions(flatbuffers::Offset<armnnSerializer::FeatureCompatibilityVersions> featureVersions) {
10957  fbb_.AddOffset(SerializedGraph::VT_FEATUREVERSIONS, featureVersions);
10958  }
10959  explicit SerializedGraphBuilder(flatbuffers::FlatBufferBuilder &_fbb)
10960  : fbb_(_fbb) {
10961  start_ = fbb_.StartTable();
10962  }
10963  SerializedGraphBuilder &operator=(const SerializedGraphBuilder &);
10964  flatbuffers::Offset<SerializedGraph> Finish() {
10965  const auto end = fbb_.EndTable(start_);
10966  auto o = flatbuffers::Offset<SerializedGraph>(end);
10967  return o;
10968  }
10969 };
10970 
10971 inline flatbuffers::Offset<SerializedGraph> CreateSerializedGraph(
10972  flatbuffers::FlatBufferBuilder &_fbb,
10973  flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::AnyLayer>>> layers = 0,
10974  flatbuffers::Offset<flatbuffers::Vector<int32_t>> inputIds = 0,
10975  flatbuffers::Offset<flatbuffers::Vector<int32_t>> outputIds = 0,
10976  flatbuffers::Offset<armnnSerializer::FeatureCompatibilityVersions> featureVersions = 0) {
10977  SerializedGraphBuilder builder_(_fbb);
10978  builder_.add_featureVersions(featureVersions);
10979  builder_.add_outputIds(outputIds);
10980  builder_.add_inputIds(inputIds);
10981  builder_.add_layers(layers);
10982  return builder_.Finish();
10983 }
10984 
10985 inline flatbuffers::Offset<SerializedGraph> CreateSerializedGraphDirect(
10986  flatbuffers::FlatBufferBuilder &_fbb,
10987  const std::vector<flatbuffers::Offset<armnnSerializer::AnyLayer>> *layers = nullptr,
10988  const std::vector<int32_t> *inputIds = nullptr,
10989  const std::vector<int32_t> *outputIds = nullptr,
10990  flatbuffers::Offset<armnnSerializer::FeatureCompatibilityVersions> featureVersions = 0) {
10991  auto layers__ = layers ? _fbb.CreateVector<flatbuffers::Offset<armnnSerializer::AnyLayer>>(*layers) : 0;
10992  auto inputIds__ = inputIds ? _fbb.CreateVector<int32_t>(*inputIds) : 0;
10993  auto outputIds__ = outputIds ? _fbb.CreateVector<int32_t>(*outputIds) : 0;
10995  _fbb,
10996  layers__,
10997  inputIds__,
10998  outputIds__,
10999  featureVersions);
11000 }
11001 
11002 inline bool VerifyConstTensorData(flatbuffers::Verifier &verifier, const void *obj, ConstTensorData type) {
11003  switch (type) {
11004  case ConstTensorData_NONE: {
11005  return true;
11006  }
11007  case ConstTensorData_ByteData: {
11008  auto ptr = reinterpret_cast<const armnnSerializer::ByteData *>(obj);
11009  return verifier.VerifyTable(ptr);
11010  }
11012  auto ptr = reinterpret_cast<const armnnSerializer::ShortData *>(obj);
11013  return verifier.VerifyTable(ptr);
11014  }
11015  case ConstTensorData_IntData: {
11016  auto ptr = reinterpret_cast<const armnnSerializer::IntData *>(obj);
11017  return verifier.VerifyTable(ptr);
11018  }
11019  case ConstTensorData_LongData: {
11020  auto ptr = reinterpret_cast<const armnnSerializer::LongData *>(obj);
11021  return verifier.VerifyTable(ptr);
11022  }
11023  default: return true;
11024  }
11025 }
11026 
11027 inline bool VerifyConstTensorDataVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types) {
11028  if (!values || !types) return !values && !types;
11029  if (values->size() != types->size()) return false;
11030  for (flatbuffers::uoffset_t i = 0; i < values->size(); ++i) {
11031  if (!VerifyConstTensorData(
11032  verifier, values->Get(i), types->GetEnum<ConstTensorData>(i))) {
11033  return false;
11034  }
11035  }
11036  return true;
11037 }
11038 
11039 inline bool VerifyLayer(flatbuffers::Verifier &verifier, const void *obj, Layer type) {
11040  switch (type) {
11041  case Layer_NONE: {
11042  return true;
11043  }
11044  case Layer_ActivationLayer: {
11045  auto ptr = reinterpret_cast<const armnnSerializer::ActivationLayer *>(obj);
11046  return verifier.VerifyTable(ptr);
11047  }
11048  case Layer_AdditionLayer: {
11049  auto ptr = reinterpret_cast<const armnnSerializer::AdditionLayer *>(obj);
11050  return verifier.VerifyTable(ptr);
11051  }
11053  auto ptr = reinterpret_cast<const armnnSerializer::BatchToSpaceNdLayer *>(obj);
11054  return verifier.VerifyTable(ptr);
11055  }
11057  auto ptr = reinterpret_cast<const armnnSerializer::BatchNormalizationLayer *>(obj);
11058  return verifier.VerifyTable(ptr);
11059  }
11060  case Layer_ConstantLayer: {
11061  auto ptr = reinterpret_cast<const armnnSerializer::ConstantLayer *>(obj);
11062  return verifier.VerifyTable(ptr);
11063  }
11064  case Layer_Convolution2dLayer: {
11065  auto ptr = reinterpret_cast<const armnnSerializer::Convolution2dLayer *>(obj);
11066  return verifier.VerifyTable(ptr);
11067  }
11069  auto ptr = reinterpret_cast<const armnnSerializer::DepthwiseConvolution2dLayer *>(obj);
11070  return verifier.VerifyTable(ptr);
11071  }
11073  auto ptr = reinterpret_cast<const armnnSerializer::FullyConnectedLayer *>(obj);
11074  return verifier.VerifyTable(ptr);
11075  }
11076  case Layer_InputLayer: {
11077  auto ptr = reinterpret_cast<const armnnSerializer::InputLayer *>(obj);
11078  return verifier.VerifyTable(ptr);
11079  }
11081  auto ptr = reinterpret_cast<const armnnSerializer::MultiplicationLayer *>(obj);
11082  return verifier.VerifyTable(ptr);
11083  }
11084  case Layer_OutputLayer: {
11085  auto ptr = reinterpret_cast<const armnnSerializer::OutputLayer *>(obj);
11086  return verifier.VerifyTable(ptr);
11087  }
11088  case Layer_PermuteLayer: {
11089  auto ptr = reinterpret_cast<const armnnSerializer::PermuteLayer *>(obj);
11090  return verifier.VerifyTable(ptr);
11091  }
11092  case Layer_Pooling2dLayer: {
11093  auto ptr = reinterpret_cast<const armnnSerializer::Pooling2dLayer *>(obj);
11094  return verifier.VerifyTable(ptr);
11095  }
11096  case Layer_ReshapeLayer: {
11097  auto ptr = reinterpret_cast<const armnnSerializer::ReshapeLayer *>(obj);
11098  return verifier.VerifyTable(ptr);
11099  }
11100  case Layer_SoftmaxLayer: {
11101  auto ptr = reinterpret_cast<const armnnSerializer::SoftmaxLayer *>(obj);
11102  return verifier.VerifyTable(ptr);
11103  }
11105  auto ptr = reinterpret_cast<const armnnSerializer::SpaceToBatchNdLayer *>(obj);
11106  return verifier.VerifyTable(ptr);
11107  }
11108  case Layer_DivisionLayer: {
11109  auto ptr = reinterpret_cast<const armnnSerializer::DivisionLayer *>(obj);
11110  return verifier.VerifyTable(ptr);
11111  }
11112  case Layer_MinimumLayer: {
11113  auto ptr = reinterpret_cast<const armnnSerializer::MinimumLayer *>(obj);
11114  return verifier.VerifyTable(ptr);
11115  }
11116  case Layer_EqualLayer: {
11117  auto ptr = reinterpret_cast<const armnnSerializer::EqualLayer *>(obj);
11118  return verifier.VerifyTable(ptr);
11119  }
11120  case Layer_MaximumLayer: {
11121  auto ptr = reinterpret_cast<const armnnSerializer::MaximumLayer *>(obj);
11122  return verifier.VerifyTable(ptr);
11123  }
11124  case Layer_NormalizationLayer: {
11125  auto ptr = reinterpret_cast<const armnnSerializer::NormalizationLayer *>(obj);
11126  return verifier.VerifyTable(ptr);
11127  }
11128  case Layer_PadLayer: {
11129  auto ptr = reinterpret_cast<const armnnSerializer::PadLayer *>(obj);
11130  return verifier.VerifyTable(ptr);
11131  }
11132  case Layer_RsqrtLayer: {
11133  auto ptr = reinterpret_cast<const armnnSerializer::RsqrtLayer *>(obj);
11134  return verifier.VerifyTable(ptr);
11135  }
11136  case Layer_FloorLayer: {
11137  auto ptr = reinterpret_cast<const armnnSerializer::FloorLayer *>(obj);
11138  return verifier.VerifyTable(ptr);
11139  }
11140  case Layer_GreaterLayer: {
11141  auto ptr = reinterpret_cast<const armnnSerializer::GreaterLayer *>(obj);
11142  return verifier.VerifyTable(ptr);
11143  }
11145  auto ptr = reinterpret_cast<const armnnSerializer::ResizeBilinearLayer *>(obj);
11146  return verifier.VerifyTable(ptr);
11147  }
11148  case Layer_SubtractionLayer: {
11149  auto ptr = reinterpret_cast<const armnnSerializer::SubtractionLayer *>(obj);
11150  return verifier.VerifyTable(ptr);
11151  }
11152  case Layer_StridedSliceLayer: {
11153  auto ptr = reinterpret_cast<const armnnSerializer::StridedSliceLayer *>(obj);
11154  return verifier.VerifyTable(ptr);
11155  }
11156  case Layer_GatherLayer: {
11157  auto ptr = reinterpret_cast<const armnnSerializer::GatherLayer *>(obj);
11158  return verifier.VerifyTable(ptr);
11159  }
11160  case Layer_MeanLayer: {
11161  auto ptr = reinterpret_cast<const armnnSerializer::MeanLayer *>(obj);
11162  return verifier.VerifyTable(ptr);
11163  }
11164  case Layer_MergerLayer: {
11165  auto ptr = reinterpret_cast<const armnnSerializer::MergerLayer *>(obj);
11166  return verifier.VerifyTable(ptr);
11167  }
11169  auto ptr = reinterpret_cast<const armnnSerializer::L2NormalizationLayer *>(obj);
11170  return verifier.VerifyTable(ptr);
11171  }
11172  case Layer_SplitterLayer: {
11173  auto ptr = reinterpret_cast<const armnnSerializer::SplitterLayer *>(obj);
11174  return verifier.VerifyTable(ptr);
11175  }
11177  auto ptr = reinterpret_cast<const armnnSerializer::DetectionPostProcessLayer *>(obj);
11178  return verifier.VerifyTable(ptr);
11179  }
11180  case Layer_LstmLayer: {
11181  auto ptr = reinterpret_cast<const armnnSerializer::LstmLayer *>(obj);
11182  return verifier.VerifyTable(ptr);
11183  }
11184  case Layer_QuantizedLstmLayer: {
11185  auto ptr = reinterpret_cast<const armnnSerializer::QuantizedLstmLayer *>(obj);
11186  return verifier.VerifyTable(ptr);
11187  }
11188  case Layer_QuantizeLayer: {
11189  auto ptr = reinterpret_cast<const armnnSerializer::QuantizeLayer *>(obj);
11190  return verifier.VerifyTable(ptr);
11191  }
11192  case Layer_DequantizeLayer: {
11193  auto ptr = reinterpret_cast<const armnnSerializer::DequantizeLayer *>(obj);
11194  return verifier.VerifyTable(ptr);
11195  }
11196  case Layer_MergeLayer: {
11197  auto ptr = reinterpret_cast<const armnnSerializer::MergeLayer *>(obj);
11198  return verifier.VerifyTable(ptr);
11199  }
11200  case Layer_SwitchLayer: {
11201  auto ptr = reinterpret_cast<const armnnSerializer::SwitchLayer *>(obj);
11202  return verifier.VerifyTable(ptr);
11203  }
11204  case Layer_ConcatLayer: {
11205  auto ptr = reinterpret_cast<const armnnSerializer::ConcatLayer *>(obj);
11206  return verifier.VerifyTable(ptr);
11207  }
11208  case Layer_SpaceToDepthLayer: {
11209  auto ptr = reinterpret_cast<const armnnSerializer::SpaceToDepthLayer *>(obj);
11210  return verifier.VerifyTable(ptr);
11211  }
11212  case Layer_PreluLayer: {
11213  auto ptr = reinterpret_cast<const armnnSerializer::PreluLayer *>(obj);
11214  return verifier.VerifyTable(ptr);
11215  }
11217  auto ptr = reinterpret_cast<const armnnSerializer::TransposeConvolution2dLayer *>(obj);
11218  return verifier.VerifyTable(ptr);
11219  }
11220  case Layer_ResizeLayer: {
11221  auto ptr = reinterpret_cast<const armnnSerializer::ResizeLayer *>(obj);
11222  return verifier.VerifyTable(ptr);
11223  }
11224  case Layer_StackLayer: {
11225  auto ptr = reinterpret_cast<const armnnSerializer::StackLayer *>(obj);
11226  return verifier.VerifyTable(ptr);
11227  }
11228  case Layer_AbsLayer: {
11229  auto ptr = reinterpret_cast<const armnnSerializer::AbsLayer *>(obj);
11230  return verifier.VerifyTable(ptr);
11231  }
11232  case Layer_ArgMinMaxLayer: {
11233  auto ptr = reinterpret_cast<const armnnSerializer::ArgMinMaxLayer *>(obj);
11234  return verifier.VerifyTable(ptr);
11235  }
11236  case Layer_SliceLayer: {
11237  auto ptr = reinterpret_cast<const armnnSerializer::SliceLayer *>(obj);
11238  return verifier.VerifyTable(ptr);
11239  }
11240  case Layer_DepthToSpaceLayer: {
11241  auto ptr = reinterpret_cast<const armnnSerializer::DepthToSpaceLayer *>(obj);
11242  return verifier.VerifyTable(ptr);
11243  }
11245  auto ptr = reinterpret_cast<const armnnSerializer::InstanceNormalizationLayer *>(obj);
11246  return verifier.VerifyTable(ptr);
11247  }
11248  case Layer_LogSoftmaxLayer: {
11249  auto ptr = reinterpret_cast<const armnnSerializer::LogSoftmaxLayer *>(obj);
11250  return verifier.VerifyTable(ptr);
11251  }
11252  case Layer_ComparisonLayer: {
11253  auto ptr = reinterpret_cast<const armnnSerializer::ComparisonLayer *>(obj);
11254  return verifier.VerifyTable(ptr);
11255  }
11256  case Layer_StandInLayer: {
11257  auto ptr = reinterpret_cast<const armnnSerializer::StandInLayer *>(obj);
11258  return verifier.VerifyTable(ptr);
11259  }
11261  auto ptr = reinterpret_cast<const armnnSerializer::ElementwiseUnaryLayer *>(obj);
11262  return verifier.VerifyTable(ptr);
11263  }
11264  case Layer_TransposeLayer: {
11265  auto ptr = reinterpret_cast<const armnnSerializer::TransposeLayer *>(obj);
11266  return verifier.VerifyTable(ptr);
11267  }
11268  case Layer_QLstmLayer: {
11269  auto ptr = reinterpret_cast<const armnnSerializer::QLstmLayer *>(obj);
11270  return verifier.VerifyTable(ptr);
11271  }
11272  case Layer_FillLayer: {
11273  auto ptr = reinterpret_cast<const armnnSerializer::FillLayer *>(obj);
11274  return verifier.VerifyTable(ptr);
11275  }
11276  case Layer_RankLayer: {
11277  auto ptr = reinterpret_cast<const armnnSerializer::RankLayer *>(obj);
11278  return verifier.VerifyTable(ptr);
11279  }
11280  case Layer_LogicalBinaryLayer: {
11281  auto ptr = reinterpret_cast<const armnnSerializer::LogicalBinaryLayer *>(obj);
11282  return verifier.VerifyTable(ptr);
11283  }
11284  case Layer_ReduceLayer: {
11285  auto ptr = reinterpret_cast<const armnnSerializer::ReduceLayer *>(obj);
11286  return verifier.VerifyTable(ptr);
11287  }
11288  case Layer_CastLayer: {
11289  auto ptr = reinterpret_cast<const armnnSerializer::CastLayer *>(obj);
11290  return verifier.VerifyTable(ptr);
11291  }
11292  case Layer_ShapeLayer: {
11293  auto ptr = reinterpret_cast<const armnnSerializer::ShapeLayer *>(obj);
11294  return verifier.VerifyTable(ptr);
11295  }
11297  auto ptr = reinterpret_cast<const armnnSerializer::UnidirectionalSequenceLstmLayer *>(obj);
11298  return verifier.VerifyTable(ptr);
11299  }
11301  auto ptr = reinterpret_cast<const armnnSerializer::ChannelShuffleLayer *>(obj);
11302  return verifier.VerifyTable(ptr);
11303  }
11304  case Layer_Convolution3dLayer: {
11305  auto ptr = reinterpret_cast<const armnnSerializer::Convolution3dLayer *>(obj);
11306  return verifier.VerifyTable(ptr);
11307  }
11308  case Layer_Pooling3dLayer: {
11309  auto ptr = reinterpret_cast<const armnnSerializer::Pooling3dLayer *>(obj);
11310  return verifier.VerifyTable(ptr);
11311  }
11312  default: return true;
11313  }
11314 }
11315 
11316 inline bool VerifyLayerVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types) {
11317  if (!values || !types) return !values && !types;
11318  if (values->size() != types->size()) return false;
11319  for (flatbuffers::uoffset_t i = 0; i < values->size(); ++i) {
11320  if (!VerifyLayer(
11321  verifier, values->Get(i), types->GetEnum<Layer>(i))) {
11322  return false;
11323  }
11324  }
11325  return true;
11326 }
11327 
11328 inline const armnnSerializer::SerializedGraph *GetSerializedGraph(const void *buf) {
11329  return flatbuffers::GetRoot<armnnSerializer::SerializedGraph>(buf);
11330 }
11331 
11332 inline const armnnSerializer::SerializedGraph *GetSizePrefixedSerializedGraph(const void *buf) {
11333  return flatbuffers::GetSizePrefixedRoot<armnnSerializer::SerializedGraph>(buf);
11334 }
11335 
11336 inline const char *SerializedGraphIdentifier() {
11337  return "ARMN";
11338 }
11339 
11340 inline bool SerializedGraphBufferHasIdentifier(const void *buf) {
11341  return flatbuffers::BufferHasIdentifier(
11342  buf, SerializedGraphIdentifier());
11343 }
11344 
11346  flatbuffers::Verifier &verifier) {
11347  return verifier.VerifyBuffer<armnnSerializer::SerializedGraph>(SerializedGraphIdentifier());
11348 }
11349 
11351  flatbuffers::Verifier &verifier) {
11352  return verifier.VerifySizePrefixedBuffer<armnnSerializer::SerializedGraph>(SerializedGraphIdentifier());
11353 }
11354 
11355 inline const char *SerializedGraphExtension() {
11356  return "armnn";
11357 }
11358 
11360  flatbuffers::FlatBufferBuilder &fbb,
11361  flatbuffers::Offset<armnnSerializer::SerializedGraph> root) {
11362  fbb.Finish(root, SerializedGraphIdentifier());
11363 }
11364 
11366  flatbuffers::FlatBufferBuilder &fbb,
11367  flatbuffers::Offset<armnnSerializer::SerializedGraph> root) {
11368  fbb.FinishSizePrefixed(root, SerializedGraphIdentifier());
11369 }
11370 
11371 } // namespace armnnSerializer
11372 
11373 #endif // FLATBUFFERS_GENERATED_ARMNNSCHEMA_ARMNNSERIALIZER_H_
flatbuffers::Offset< LayerBase > CreateLayerBaseDirect(flatbuffers::FlatBufferBuilder &_fbb, uint32_t index=0, const char *layerName=nullptr, armnnSerializer::LayerType layerType=armnnSerializer::LayerType_Addition, const std::vector< flatbuffers::Offset< armnnSerializer::InputSlot >> *inputSlots=nullptr, const std::vector< flatbuffers::Offset< armnnSerializer::OutputSlot >> *outputSlots=nullptr)
const armnnSerializer::ConstTensor * weights() const
void add_dataLayout(armnnSerializer::DataLayout dataLayout)
flatbuffers::Offset< MeanLayer > Finish()
flatbuffers::Offset< CastLayer > Finish()
flatbuffers::Offset< TensorInfo > Finish()
const armnnSerializer::RankLayer * layer_as_RankLayer() const
LogSoftmaxDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_poolType(armnnSerializer::PoolingAlgorithm poolType)
flatbuffers::Offset< DepthToSpaceDescriptor > Finish()
void add_descriptor(flatbuffers::Offset< armnnSerializer::NormalizationDescriptor > descriptor)
flatbuffers::Offset< DepthToSpaceLayer > Finish()
const armnnSerializer::ConstTensor * inputToOutputWeights() const
ConstantLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_anchors(flatbuffers::Offset< armnnSerializer::ConstTensor > anchors)
const armnnSerializer::AdditionLayer * layer_as_AdditionLayer() const
ReduceDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::Offset< SplitterLayer > Finish()
flatbuffers::Offset< Convolution3dDescriptor > CreateConvolution3dDescriptor(flatbuffers::FlatBufferBuilder &_fbb, uint32_t padLeft=0, uint32_t padRight=0, uint32_t padTop=0, uint32_t padBottom=0, uint32_t padFront=0, uint32_t padBack=0, uint32_t strideX=0, uint32_t strideY=0, uint32_t strideZ=0, uint32_t dilationX=1, uint32_t dilationY=1, uint32_t dilationZ=1, bool biasEnabled=false, armnnSerializer::DataLayout dataLayout=armnnSerializer::DataLayout_NDHWC)
flatbuffers::Offset< LongData > CreateLongData(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< flatbuffers::Vector< int64_t >> data=0)
void add_scaleW(float scaleW)
void add_dataLayout(armnnSerializer::DataLayout dataLayout)
ElementwiseUnaryLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
VT_ARGMINMAXFUNCTION
const armnnSerializer::UnidirectionalSequenceLstmDescriptor * descriptor() const
flatbuffers::Offset< LongData > Finish()
void add_recurrentToInputWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > recurrentToInputWeights)
Pooling3dLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::Offset< ElementwiseUnaryDescriptor > Finish()
const armnnSerializer::MaximumLayer * layer_as_MaximumLayer() const
ElementwiseUnaryDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_descriptor(flatbuffers::Offset< armnnSerializer::ResizeBilinearDescriptor > descriptor)
QuantizedLstmLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_outputLayerNormWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > outputLayerNormWeights)
flatbuffers::Offset< ReshapeDescriptor > CreateReshapeDescriptor(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< flatbuffers::Vector< uint32_t >> targetShape=0)
void add_forgetLayerNormWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > forgetLayerNormWeights)
const armnnSerializer::SliceLayer * layer_as_SliceLayer() const
flatbuffers::FlatBufferBuilder & fbb_
SubtractionLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
RsqrtLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::Offset< ReduceLayer > CreateReduceLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::ReduceDescriptor > descriptor=0)
void add_descriptor(flatbuffers::Offset< armnnSerializer::SpaceToBatchNdDescriptor > descriptor)
const armnnSerializer::ConcatLayer * layer_as_ConcatLayer() const
void add_info(flatbuffers::Offset< armnnSerializer::TensorInfo > info)
flatbuffers::Offset< SerializedGraph > CreateSerializedGraphDirect(flatbuffers::FlatBufferBuilder &_fbb, const std::vector< flatbuffers::Offset< armnnSerializer::AnyLayer >> *layers=nullptr, const std::vector< int32_t > *inputIds=nullptr, const std::vector< int32_t > *outputIds=nullptr, flatbuffers::Offset< armnnSerializer::FeatureCompatibilityVersions > featureVersions=0)
const char * EnumNameUnaryOperation(UnaryOperation e)
flatbuffers::Offset< PermuteLayer > Finish()
const armnnSerializer::ConstTensor * inputGateBias() const
const armnnSerializer::NormalizationLayer * layer_as_NormalizationLayer() const
void add_layerNormEnabled(bool layerNormEnabled)
BatchToSpaceNdLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
const armnnSerializer::FillDescriptor * descriptor() const
const Layer(& EnumValuesLayer())[68]
flatbuffers::FlatBufferBuilder & fbb_
void add_maxClassesPerDetection(uint32_t maxClassesPerDetection)
const armnnSerializer::PermuteLayer * layer_as_PermuteLayer() const
flatbuffers::Offset< OutputSlot > CreateOutputSlot(flatbuffers::FlatBufferBuilder &_fbb, uint32_t index=0, flatbuffers::Offset< armnnSerializer::TensorInfo > tensorInfo=0)
flatbuffers::Offset< QLstmDescriptor > Finish()
armnnSerializer::NormalizationAlgorithmMethod normMethodType() const
flatbuffers::Offset< DepthwiseConvolution2dDescriptor > CreateDepthwiseConvolution2dDescriptor(flatbuffers::FlatBufferBuilder &_fbb, uint32_t padLeft=0, uint32_t padRight=0, uint32_t padTop=0, uint32_t padBottom=0, uint32_t strideX=0, uint32_t strideY=0, uint32_t dilationX=1, uint32_t dilationY=1, bool biasEnabled=false, armnnSerializer::DataLayout dataLayout=armnnSerializer::DataLayout_NCHW)
void add_data_type(armnnSerializer::ConstTensorData data_type)
MergerLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
const armnnSerializer::QLstmDescriptor * descriptor() const
SliceDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
const armnnSerializer::ConstTensor * recurrentToForgetWeights() const
ConcatLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
const char *const * EnumNamesLogicalBinaryOperation()
ElementwiseUnaryDescriptorBuilder Builder
const armnnSerializer::ComparisonDescriptor * descriptor() const
const armnnSerializer::FeatureCompatibilityVersions * featureVersions() const
armnnSerializer::DataType dataType() const
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
flatbuffers::FlatBufferBuilder & fbb_
armnnSerializer::LogicalBinaryOperation operation() const
const char *const * EnumNamesReduceOperation()
AdditionLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
VT_CELLTOFORGETWEIGHTS
const armnnSerializer::RsqrtLayer * layer_as_RsqrtLayer() const
void add_descriptor(flatbuffers::Offset< armnnSerializer::SliceDescriptor > descriptor)
flatbuffers::Offset< UnidirectionalSequenceLstmLayer > Finish()
const armnnSerializer::CastLayer * layer_as_CastLayer() const
LstmLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_descriptor(flatbuffers::Offset< armnnSerializer::TransposeDescriptor > descriptor)
flatbuffers::Offset< ActivationLayer > Finish()
BatchNormalizationLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
bool VerifyLayerVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector< flatbuffers::Offset< void >> *values, const flatbuffers::Vector< uint8_t > *types)
void add_descriptor(flatbuffers::Offset< armnnSerializer::BatchToSpaceNdDescriptor > descriptor)
TransposeConvolution2dLayerBuilder Builder
const armnnSerializer::ElementwiseUnaryDescriptor * descriptor() const
void add_descriptor(flatbuffers::Offset< armnnSerializer::GatherDescriptor > descriptor)
flatbuffers::Offset< TransposeConvolution2dLayer > Finish()
armnnSerializer::LayerType layerType() const
const char *const * EnumNamesPaddingMode()
const armnnSerializer::ConstTensor * outputLayerNormWeights() const
const armnnSerializer::ConstTensor * cellLayerNormWeights() const
void add_quantizationScale(float quantizationScale)
flatbuffers::Offset< MaximumLayer > Finish()
const DataType(& EnumValuesDataType())[11]
flatbuffers::Offset< MergerLayer > CreateMergerLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::OriginsDescriptor > descriptor=0)
flatbuffers::Offset< AbsLayer > CreateAbsLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0)
flatbuffers::Offset< LstmLayer > CreateLstmLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::LstmDescriptor > descriptor=0, flatbuffers::Offset< armnnSerializer::LstmInputParams > inputParams=0)
flatbuffers::Offset< PermuteDescriptor > Finish()
flatbuffers::Offset< L2NormalizationLayer > CreateL2NormalizationLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::L2NormalizationDescriptor > descriptor=0)
flatbuffers::FlatBufferBuilder & fbb_
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
flatbuffers::FlatBufferBuilder & fbb_
const armnnSerializer::Convolution2dLayer * layer_as_Convolution2dLayer() const
void add_recurrentToCellWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > recurrentToCellWeights)
const flatbuffers::Vector< int16_t > * data() const
const flatbuffers::Vector< uint32_t > * blockShape() const
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
void add_method(armnnSerializer::ResizeMethod method)
flatbuffers::Offset< TransposeConvolution2dDescriptor > CreateTransposeConvolution2dDescriptor(flatbuffers::FlatBufferBuilder &_fbb, uint32_t padLeft=0, uint32_t padRight=0, uint32_t padTop=0, uint32_t padBottom=0, uint32_t strideX=0, uint32_t strideY=0, bool biasEnabled=false, armnnSerializer::DataLayout dataLayout=armnnSerializer::DataLayout_NCHW)
flatbuffers::Offset< GatherLayer > Finish()
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
const flatbuffers::Vector< uint32_t > * dimMappings() const
bool VerifyLayer(flatbuffers::Verifier &verifier, const void *obj, Layer type)
SpaceToBatchNdLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
const flatbuffers::Vector< int32_t > * end() const
flatbuffers::Offset< LogSoftmaxLayer > Finish()
ShapeLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_weights(flatbuffers::Offset< armnnSerializer::ConstTensor > weights)
Pooling3dDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_biases(flatbuffers::Offset< armnnSerializer::ConstTensor > biases)
void add_descriptor(flatbuffers::Offset< armnnSerializer::FullyConnectedDescriptor > descriptor)
unsigned int Offset(const TensorShape &shape, unsigned int batch, unsigned int height, unsigned int width, unsigned int channels, const DataLayoutIndexed &dataLayout)
flatbuffers::FlatBufferBuilder & fbb_
flatbuffers::Offset< ResizeDescriptor > CreateResizeDescriptor(flatbuffers::FlatBufferBuilder &_fbb, uint32_t targetHeight=0, uint32_t targetWidth=0, armnnSerializer::ResizeMethod method=armnnSerializer::ResizeMethod_NearestNeighbor, armnnSerializer::DataLayout dataLayout=armnnSerializer::DataLayout_NHWC, bool alignCorners=false, bool halfPixelCenters=false)
flatbuffers::Offset< FillLayer > CreateFillLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::FillDescriptor > descriptor=0)
const char *const * EnumNamesResizeMethod()
flatbuffers::FlatBufferBuilder & fbb_
SpaceToBatchNdDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
const armnnSerializer::UnidirectionalSequenceLstmLayer * layer_as_UnidirectionalSequenceLstmLayer() const
const char *const * EnumNamesDataLayout()
flatbuffers::Offset< ShortData > CreateShortDataDirect(flatbuffers::FlatBufferBuilder &_fbb, const std::vector< int16_t > *data=nullptr)
flatbuffers::Offset< IntData > CreateIntDataDirect(flatbuffers::FlatBufferBuilder &_fbb, const std::vector< int32_t > *data=nullptr)
void add_normMethodType(armnnSerializer::NormalizationAlgorithmMethod normMethodType)
const char *const * EnumNamesActivationFunction()
void add_inputToForgetWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > inputToForgetWeights)
void add_descriptor(flatbuffers::Offset< armnnSerializer::PadDescriptor > descriptor)
void add_halfPixelCenters(bool halfPixelCenters)
void add_peepholeEnabled(bool peepholeEnabled)
flatbuffers::FlatBufferBuilder & fbb_
ArgMinMaxDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_quantizationOffset(int32_t quantizationOffset)
flatbuffers::Offset< StackDescriptor > CreateStackDescriptorDirect(flatbuffers::FlatBufferBuilder &_fbb, uint32_t axis=0, uint32_t numInputs=0, const std::vector< uint32_t > *inputShape=nullptr)
void add_inputToCellWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > inputToCellWeights)
void add_connection(const armnnSerializer::Connection *connection)
flatbuffers::Offset< LogicalBinaryDescriptor > Finish()
void add_numClasses(uint32_t numClasses)
armnnSerializer::ReduceOperation reduceOperation() const
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
flatbuffers::Offset< DequantizeLayer > Finish()
ViewsDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::Offset< LongData > CreateLongDataDirect(flatbuffers::FlatBufferBuilder &_fbb, const std::vector< int64_t > *data=nullptr)
void add_descriptor(flatbuffers::Offset< armnnSerializer::ActivationDescriptor > descriptor)
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
SwitchLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_viewSizes(flatbuffers::Offset< flatbuffers::Vector< flatbuffers::Offset< armnnSerializer::UintVector >>> viewSizes)
VT_INPUTTOOUTPUTWEIGHTS
void add_projectionEnabled(bool projectionEnabled)
void add_begin(flatbuffers::Offset< flatbuffers::Vector< int32_t >> begin)
const armnnSerializer::ByteData * data_as_ByteData() const
DetectionPostProcessLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
const armnnSerializer::ShapeLayer * layer_as_ShapeLayer() const
const armnnSerializer::ElementwiseUnaryLayer * layer_as_ElementwiseUnaryLayer() const
VT_INPUTTOCELLWEIGHTS
void add_descriptor(flatbuffers::Offset< armnnSerializer::LogicalBinaryDescriptor > descriptor)
const armnnSerializer::ConstTensor * gamma() const
flatbuffers::Offset< GatherLayer > CreateGatherLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::GatherDescriptor > descriptor=0)
Pooling2dLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_descriptor(flatbuffers::Offset< armnnSerializer::ElementwiseUnaryDescriptor > descriptor)
const armnnSerializer::SpaceToBatchNdDescriptor * descriptor() const
const armnnSerializer::PadDescriptor * descriptor() const
DivisionLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_descriptor(flatbuffers::Offset< armnnSerializer::StackDescriptor > descriptor)
const armnnSerializer::ReduceDescriptor * descriptor() const
VT_RECURRENTTOINPUTWEIGHTS
flatbuffers::Offset< RankLayer > CreateRankLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0)
const armnnSerializer::ConstTensor * mean() const
const armnnSerializer::SwitchLayer * layer_as_SwitchLayer() const
flatbuffers::Offset< StackLayer > Finish()
const armnnSerializer::Convolution3dDescriptor * descriptor() const
NormalizationDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::Offset< TransposeLayer > CreateTransposeLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::TransposeDescriptor > descriptor=0)
TransposeConvolution2dDescriptorBuilder Builder
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
VT_WEIGHTSLAYOUTSCHEME
const armnnSerializer::ReshapeLayer * layer_as_ReshapeLayer() const
DequantizeLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_base(flatbuffers::Offset< armnnSerializer::BindableLayerBase > base)
flatbuffers::FlatBufferBuilder & fbb_
flatbuffers::FlatBufferBuilder & fbb_
QuantizedLstmInputParamsBuilder(flatbuffers::FlatBufferBuilder &_fbb)
VT_CELLTOOUTPUTWEIGHTS
SoftmaxLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::FlatBufferBuilder & fbb_
const char * EnumNamePoolingAlgorithm(PoolingAlgorithm e)
BatchNormalizationDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::Offset< SpaceToDepthDescriptor > Finish()
flatbuffers::Offset< ComparisonLayer > CreateComparisonLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::ComparisonDescriptor > descriptor=0)
flatbuffers::Offset< SpaceToBatchNdLayer > Finish()
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
flatbuffers::Offset< SwitchLayer > Finish()
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
const char * EnumNameConstTensorData(ConstTensorData e)
void add_descriptor(flatbuffers::Offset< armnnSerializer::StridedSliceDescriptor > descriptor)
void add_padList(flatbuffers::Offset< flatbuffers::Vector< uint32_t >> padList)
flatbuffers::Offset< AdditionLayer > Finish()
MaximumLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
const char * EnumNameReduceOperation(ReduceOperation e)
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
flatbuffers::Offset< ChannelShuffleLayer > Finish()
void add_transposeWeightsMatrix(bool transposeWeightsMatrix)
const armnnSerializer::ConstTensor * inputLayerNormWeights() const
PreluLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
const armnnSerializer::ResizeBilinearLayer * layer_as_ResizeBilinearLayer() const
flatbuffers::Offset< ConstTensor > CreateConstTensor(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::TensorInfo > info=0, armnnSerializer::ConstTensorData data_type=armnnSerializer::ConstTensorData_NONE, flatbuffers::Offset< void > data=0)
void add_crops(flatbuffers::Offset< flatbuffers::Vector< uint32_t >> crops)
flatbuffers::Offset< QuantizeLayer > CreateQuantizeLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0)
void add_recurrentToForgetWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > recurrentToForgetWeights)
const armnnSerializer::DivisionLayer * layer_as_DivisionLayer() const
const armnnSerializer::TransposeDescriptor * descriptor() const
flatbuffers::Offset< LstmInputParams > Finish()
const flatbuffers::Vector< int32_t > * begin() const
const armnnSerializer::Pooling2dLayer * layer_as_Pooling2dLayer() const
MeanDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
const PaddingMethod(& EnumValuesPaddingMethod())[2]
InputLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::Offset< InputSlot > CreateInputSlot(flatbuffers::FlatBufferBuilder &_fbb, uint32_t index=0, const armnnSerializer::Connection *connection=0)
flatbuffers::FlatBufferBuilder & fbb_
flatbuffers::FlatBufferBuilder & fbb_
ResizeBilinearLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::Offset< SpaceToDepthDescriptor > CreateSpaceToDepthDescriptor(flatbuffers::FlatBufferBuilder &_fbb, uint32_t blockSize=0, armnnSerializer::DataLayout dataLayout=armnnSerializer::DataLayout_NHWC)
void add_inputLayerNormWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > inputLayerNormWeights)
flatbuffers::FlatBufferBuilder & fbb_
armnnSerializer::NormalizationAlgorithmChannel normChannelType() const
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
void add_recurrentToOutputWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > recurrentToOutputWeights)
flatbuffers::Offset< SerializedGraph > Finish()
void FinishSerializedGraphBuffer(flatbuffers::FlatBufferBuilder &fbb, flatbuffers::Offset< armnnSerializer::SerializedGraph > root)
flatbuffers::Offset< QuantizedLstmLayer > CreateQuantizedLstmLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::QuantizedLstmInputParams > inputParams=0)
VT_CELLTOINPUTWEIGHTS
flatbuffers::FlatBufferBuilder & fbb_
QLstmLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::FlatBufferBuilder & fbb_
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
flatbuffers::Offset< TransposeDescriptor > CreateTransposeDescriptorDirect(flatbuffers::FlatBufferBuilder &_fbb, const std::vector< uint32_t > *dimMappings=nullptr)
flatbuffers::Offset< ResizeBilinearDescriptor > Finish()
flatbuffers::Offset< TransposeDescriptor > CreateTransposeDescriptor(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< flatbuffers::Vector< uint32_t >> dimMappings=0)
DepthwiseConvolution2dLayerBuilder Builder
const flatbuffers::Vector< int8_t > * data() const
TensorInfoBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_hiddenStateZeroPoint(int32_t hiddenStateZeroPoint)
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
const armnnSerializer::LogSoftmaxLayer * layer_as_LogSoftmaxLayer() const
VT_INPUTTOFORGETWEIGHTS
flatbuffers::FlatBufferBuilder & fbb_
flatbuffers::FlatBufferBuilder & fbb_
armnnSerializer::ComparisonOperation operation() const
void add_cellIntermediateScale(float cellIntermediateScale)
const armnnSerializer::ResizeLayer * layer_as_ResizeLayer() const
void add_dimensionality(uint32_t dimensionality)
const armnnSerializer::ComparisonLayer * layer_as_ComparisonLayer() const
flatbuffers::Offset< DetectionPostProcessDescriptor > CreateDetectionPostProcessDescriptor(flatbuffers::FlatBufferBuilder &_fbb, uint32_t maxDetections=0, uint32_t maxClassesPerDetection=0, uint32_t detectionsPerClass=0, float nmsScoreThreshold=0.0f, float nmsIouThreshold=0.0f, uint32_t numClasses=0, bool useRegularNms=false, float scaleX=0.0f, float scaleY=0.0f, float scaleW=0.0f, float scaleH=0.0f)
flatbuffers::Offset< InstanceNormalizationLayer > Finish()
flatbuffers::FlatBufferBuilder & fbb_
const OutputShapeRounding(& EnumValuesOutputShapeRounding())[2]
const armnnSerializer::SerializedGraph * GetSerializedGraph(const void *buf)
const char *const * EnumNamesLayerType()
flatbuffers::Offset< Pooling3dLayer > CreatePooling3dLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::Pooling3dDescriptor > descriptor=0)
void add_cellBias(flatbuffers::Offset< armnnSerializer::ConstTensor > cellBias)
void add_data(flatbuffers::Offset< flatbuffers::Vector< int64_t >> data)
const armnnSerializer::LogicalBinaryDescriptor * descriptor() const
flatbuffers::Offset< AnyLayer > CreateAnyLayer(flatbuffers::FlatBufferBuilder &_fbb, armnnSerializer::Layer layer_type=armnnSerializer::Layer_NONE, flatbuffers::Offset< void > layer=0)
GatherDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
MeanLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::Offset< OutputLayer > Finish()
void add_projectionBias(flatbuffers::Offset< armnnSerializer::ConstTensor > projectionBias)
flatbuffers::Offset< DepthwiseConvolution2dLayer > CreateDepthwiseConvolution2dLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::DepthwiseConvolution2dDescriptor > descriptor=0, flatbuffers::Offset< armnnSerializer::ConstTensor > weights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > biases=0)
const char * EnumNameLayer(Layer e)
flatbuffers::Offset< MergeLayer > CreateMergeLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0)
flatbuffers::Offset< SliceLayer > Finish()
const armnnSerializer::FloorLayer * layer_as_FloorLayer() const
BatchNormalizationDescriptorBuilder Builder
L2NormalizationDescriptorBuilder Builder
VT_PROJECTIONENABLED
void add_recurrentToOutputWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > recurrentToOutputWeights)
flatbuffers::FlatBufferBuilder & fbb_
StackDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_cellToInputWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > cellToInputWeights)
const armnnSerializer::MultiplicationLayer * layer_as_MultiplicationLayer() const
StridedSliceLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
VT_QUANTIZATIONSCALES
const armnnSerializer::TensorInfo * info() const
const armnnSerializer::SoftmaxDescriptor * descriptor() const
EqualLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::FlatBufferBuilder & fbb_
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
void add_activationFunction(armnnSerializer::ActivationFunction activationFunction)
flatbuffers::Offset< SoftmaxLayer > Finish()
const flatbuffers::Vector< flatbuffers::Offset< armnnSerializer::OutputSlot > > * outputSlots() const
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
flatbuffers::Offset< ActivationDescriptor > Finish()
VT_MAXCLASSESPERDETECTION
bool VerifyConstTensorData(flatbuffers::Verifier &verifier, const void *obj, ConstTensorData type)
const flatbuffers::Vector< uint32_t > * targetShape() const
flatbuffers::Offset< QLstmInputParams > CreateQLstmInputParams(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::ConstTensor > inputToForgetWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > inputToCellWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > inputToOutputWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > recurrentToForgetWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > recurrentToCellWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > recurrentToOutputWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > forgetGateBias=0, flatbuffers::Offset< armnnSerializer::ConstTensor > cellBias=0, flatbuffers::Offset< armnnSerializer::ConstTensor > outputGateBias=0, flatbuffers::Offset< armnnSerializer::ConstTensor > inputToInputWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > recurrentToInputWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > inputGateBias=0, flatbuffers::Offset< armnnSerializer::ConstTensor > projectionWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > projectionBias=0, flatbuffers::Offset< armnnSerializer::ConstTensor > cellToInputWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > cellToForgetWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > cellToOutputWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > inputLayerNormWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > forgetLayerNormWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > cellLayerNormWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > outputLayerNormWeights=0)
flatbuffers::Offset< ResizeLayer > Finish()
const armnnSerializer::ConstTensor * cellToForgetWeights() const
ResizeBilinearDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::Offset< ReshapeDescriptor > Finish()
const LayerType(& EnumValuesLayerType())[67]
const flatbuffers::Vector< uint32_t > * axis() const
InputSlotBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::Offset< ShortData > Finish()
void add_inputSlots(flatbuffers::Offset< flatbuffers::Vector< flatbuffers::Offset< armnnSerializer::InputSlot >>> inputSlots)
void add_dataLayout(armnnSerializer::DataLayout dataLayout)
void add_input(flatbuffers::Offset< armnnSerializer::ConstTensor > input)
const armnnSerializer::LayerBase * base() const
flatbuffers::Offset< TensorInfo > CreateTensorInfo(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< flatbuffers::Vector< uint32_t >> dimensions=0, armnnSerializer::DataType dataType=armnnSerializer::DataType_Float16, float quantizationScale=1.0f, int32_t quantizationOffset=0, flatbuffers::Offset< flatbuffers::Vector< float >> quantizationScales=0, uint32_t quantizationDim=0, uint32_t dimensionality=1, flatbuffers::Offset< flatbuffers::Vector< uint8_t >> dimensionSpecificity=0, bool isConstant=false)
bool Verify(flatbuffers::Verifier &verifier) const
flatbuffers::FlatBufferBuilder & fbb_
VT_QUANTIZATIONSCALE
void add_paddingMethod(armnnSerializer::PaddingMethod paddingMethod)
flatbuffers::Offset< ConstantLayer > Finish()
VT_RECURRENTTOOUTPUTWEIGHTS
void add_dataLayout(armnnSerializer::DataLayout dataLayout)
flatbuffers::Offset< SpaceToBatchNdDescriptor > CreateSpaceToBatchNdDescriptorDirect(flatbuffers::FlatBufferBuilder &_fbb, const std::vector< uint32_t > *blockShape=nullptr, const std::vector< uint32_t > *padList=nullptr, armnnSerializer::DataLayout dataLayout=armnnSerializer::DataLayout_NHWC)
flatbuffers::FlatBufferBuilder & fbb_
const armnnSerializer::BindableLayerBase * base() const
const char *const * EnumNamesOutputShapeRounding()
flatbuffers::Offset< FullyConnectedDescriptor > CreateFullyConnectedDescriptor(flatbuffers::FlatBufferBuilder &_fbb, bool biasEnabled=false, bool transposeWeightsMatrix=false, bool constantWeights=true)
flatbuffers::Offset< ElementwiseUnaryLayer > Finish()
flatbuffers::FlatBufferBuilder & fbb_
flatbuffers::Offset< ComparisonLayer > Finish()
flatbuffers::Offset< TransposeConvolution2dLayer > CreateTransposeConvolution2dLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::TransposeConvolution2dDescriptor > descriptor=0, flatbuffers::Offset< armnnSerializer::ConstTensor > weights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > biases=0)
flatbuffers::Offset< MinimumLayer > Finish()
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
void add_dataLayout(armnnSerializer::DataLayout dataLayout)
const armnnSerializer::ActivationLayer * layer_as_ActivationLayer() const
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
const armnnSerializer::DequantizeLayer * layer_as_DequantizeLayer() const
Pooling2dDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::FlatBufferBuilder & fbb_
void add_constantTensorsAsInputs(uint32_t constantTensorsAsInputs)
void add_data(flatbuffers::Offset< flatbuffers::Vector< int32_t >> data)
flatbuffers::FlatBufferBuilder & fbb_
const ArgMinMaxFunction(& EnumValuesArgMinMaxFunction())[2]
const armnnSerializer::StandInLayer * layer_as_StandInLayer() const
flatbuffers::Offset< PreluLayer > CreatePreluLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0)
Convolution3dDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_outputIntermediateScale(float outputIntermediateScale)
IntDataBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_inputToOutputWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > inputToOutputWeights)
const armnnSerializer::BatchToSpaceNdLayer * layer_as_BatchToSpaceNdLayer() const
flatbuffers::Offset< StandInDescriptor > Finish()
void add_dataLayout(armnnSerializer::DataLayout dataLayout)
flatbuffers::Offset< StandInDescriptor > CreateStandInDescriptor(flatbuffers::FlatBufferBuilder &_fbb, uint32_t numInputs=0, uint32_t numOutputs=0)
const armnnSerializer::ConstTensor * variance() const
const armnnSerializer::Pooling2dDescriptor * Pooling2dDescriptor
flatbuffers::Offset< NormalizationLayer > Finish()
flatbuffers::Offset< PreluLayer > Finish()
FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(4) Connection FLATBUFFERS_FINAL_CLASS
void add_dimMappings(flatbuffers::Offset< flatbuffers::Vector< uint32_t >> dimMappings)
flatbuffers::Offset< ByteData > Finish()
TransposeConvolution2dDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::Offset< TransposeLayer > Finish()
flatbuffers::Offset< GreaterLayer > Finish()
flatbuffers::Offset< Convolution3dLayer > Finish()
void add_descriptor(flatbuffers::Offset< armnnSerializer::ReduceDescriptor > descriptor)
flatbuffers::FlatBufferBuilder & fbb_
void add_quantizationScales(flatbuffers::Offset< flatbuffers::Vector< float >> quantizationScales)
flatbuffers::Offset< QLstmLayer > Finish()
void add_cellLayerNormWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > cellLayerNormWeights)
const armnnSerializer::ArgMinMaxLayer * layer_as_ArgMinMaxLayer() const
void add_dataLayout(armnnSerializer::DataLayout dataLayout)
flatbuffers::Offset< MultiplicationLayer > CreateMultiplicationLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0)
SpaceToDepthDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::Offset< DepthToSpaceLayer > CreateDepthToSpaceLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::DepthToSpaceDescriptor > descriptor=0)
void add_outputGateBias(flatbuffers::Offset< armnnSerializer::ConstTensor > outputGateBias)
flatbuffers::Offset< InstanceNormalizationLayer > CreateInstanceNormalizationLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::InstanceNormalizationDescriptor > descriptor=0)
flatbuffers::Offset< ReduceLayer > Finish()
const armnnSerializer::Pooling3dLayer * layer_as_Pooling3dLayer() const
const PaddingMode(& EnumValuesPaddingMode())[3]
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
const armnnSerializer::Pooling3dDescriptor * descriptor() const
flatbuffers::FlatBufferBuilder & fbb_
const armnnSerializer::DepthwiseConvolution2dDescriptor * descriptor() const
flatbuffers::Offset< SliceLayer > CreateSliceLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::SliceDescriptor > descriptor=0)
armnnSerializer::UnaryOperation operation() const
void add_end(flatbuffers::Offset< flatbuffers::Vector< int32_t >> end)
void add_cellBias(flatbuffers::Offset< armnnSerializer::ConstTensor > cellBias)
void add_biases(flatbuffers::Offset< armnnSerializer::ConstTensor > biases)
flatbuffers::Offset< TensorInfo > CreateTensorInfoDirect(flatbuffers::FlatBufferBuilder &_fbb, const std::vector< uint32_t > *dimensions=nullptr, armnnSerializer::DataType dataType=armnnSerializer::DataType_Float16, float quantizationScale=1.0f, int32_t quantizationOffset=0, const std::vector< float > *quantizationScales=nullptr, uint32_t quantizationDim=0, uint32_t dimensionality=1, const std::vector< uint8_t > *dimensionSpecificity=nullptr, bool isConstant=false)
VT_CLIPPINGTHRESPROJ
void add_recurrentToOutputWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > recurrentToOutputWeights)
flatbuffers::FlatBufferBuilder & fbb_
void add_axis(flatbuffers::Offset< flatbuffers::Vector< uint32_t >> axis)
flatbuffers::Offset< Convolution2dDescriptor > CreateConvolution2dDescriptor(flatbuffers::FlatBufferBuilder &_fbb, uint32_t padLeft=0, uint32_t padRight=0, uint32_t padTop=0, uint32_t padBottom=0, uint32_t strideX=0, uint32_t strideY=0, uint32_t dilationX=1, uint32_t dilationY=1, bool biasEnabled=false, armnnSerializer::DataLayout dataLayout=armnnSerializer::DataLayout_NCHW)
flatbuffers::Offset< PadDescriptor > CreatePadDescriptorDirect(flatbuffers::FlatBufferBuilder &_fbb, const std::vector< uint32_t > *padList=nullptr, float padValue=0.0f, armnnSerializer::PaddingMode paddingMode=armnnSerializer::PaddingMode_Constant)
void add_dataLayout(armnnSerializer::DataLayout dataLayout)
flatbuffers::Offset< BatchNormalizationDescriptor > Finish()
flatbuffers::FlatBufferBuilder & fbb_
flatbuffers::Offset< Pooling3dDescriptor > CreatePooling3dDescriptor(flatbuffers::FlatBufferBuilder &_fbb, armnnSerializer::PoolingAlgorithm poolType=armnnSerializer::PoolingAlgorithm_Max, uint32_t padLeft=0, uint32_t padRight=0, uint32_t padTop=0, uint32_t padBottom=0, uint32_t padFront=0, uint32_t padBack=0, uint32_t poolWidth=0, uint32_t poolHeight=0, uint32_t poolDepth=0, uint32_t strideX=0, uint32_t strideY=0, uint32_t strideZ=0, armnnSerializer::OutputShapeRounding outputShapeRounding=armnnSerializer::OutputShapeRounding_Floor, armnnSerializer::PaddingMethod paddingMethod=armnnSerializer::PaddingMethod_IgnoreValue, armnnSerializer::DataLayout dataLayout=armnnSerializer::DataLayout_NHWC)
const char *const * EnumNamesLayer()
void add_biases(flatbuffers::Offset< armnnSerializer::ConstTensor > biases)
flatbuffers::Offset< InputLayer > CreateInputLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::BindableLayerBase > base=0)
void add_axis(flatbuffers::Offset< flatbuffers::Vector< uint32_t >> axis)
const armnnSerializer::NormalizationDescriptor * descriptor() const
flatbuffers::Offset< Pooling3dLayer > Finish()
void add_scaleY(float scaleY)
void add_dataType(armnnSerializer::DataType dataType)
const char * SerializedGraphIdentifier()
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
flatbuffers::Offset< MultiplicationLayer > Finish()
const armnnSerializer::LstmDescriptor * descriptor() const
flatbuffers::Offset< ShortData > CreateShortData(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< flatbuffers::Vector< int16_t >> data=0)
void add_outputSlots(flatbuffers::Offset< flatbuffers::Vector< flatbuffers::Offset< armnnSerializer::OutputSlot >>> outputSlots)
flatbuffers::Offset< ConcatLayer > CreateConcatLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::OriginsDescriptor > descriptor=0)
flatbuffers::Offset< FillDescriptor > Finish()
flatbuffers::Offset< IntData > Finish()
const armnnSerializer::ConstTensor * biases() const
Convolution2dDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
ComparisonDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
const flatbuffers::Vector< uint8_t > * dimensionSpecificity() const
flatbuffers::Offset< LstmDescriptor > Finish()
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
const armnnSerializer::ReduceLayer * layer_as_ReduceLayer() const
armnnSerializer::PaddingMode paddingMode() const
VT_RECURRENTTOFORGETWEIGHTS
void add_stride(flatbuffers::Offset< flatbuffers::Vector< int32_t >> stride)
VT_QUANTIZATIONOFFSET
bool VerifySizePrefixedSerializedGraphBuffer(flatbuffers::Verifier &verifier)
flatbuffers::Offset< SubtractionLayer > CreateSubtractionLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0)
void add_descriptor(flatbuffers::Offset< armnnSerializer::SoftmaxDescriptor > descriptor)
flatbuffers::Offset< EqualLayer > Finish()
flatbuffers::Offset< BindableLayerBase > CreateBindableLayerBase(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, int32_t layerBindingId=0)
flatbuffers::FlatBufferBuilder & fbb_
flatbuffers::Offset< NormalizationDescriptor > Finish()
QLstmDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
const flatbuffers::String * layerName() const
flatbuffers::FlatBufferBuilder & fbb_
armnnSerializer::DataLayout dataLayout() const
void add_projectionWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > projectionWeights)
void add_descriptor(flatbuffers::Offset< armnnSerializer::Convolution3dDescriptor > descriptor)
const armnnSerializer::TransposeConvolution2dLayer * layer_as_TransposeConvolution2dLayer() const
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
flatbuffers::FlatBufferBuilder & fbb_
void add_normChannelType(armnnSerializer::NormalizationAlgorithmChannel normChannelType)
flatbuffers::Offset< ArgMinMaxLayer > CreateArgMinMaxLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::ArgMinMaxDescriptor > descriptor=0)
void add_descriptor(flatbuffers::Offset< armnnSerializer::ReshapeDescriptor > descriptor)
const armnnSerializer::BatchToSpaceNdDescriptor * descriptor() const
void add_blockShape(flatbuffers::Offset< flatbuffers::Vector< uint32_t >> blockShape)
const armnnSerializer::BatchNormalizationLayer * layer_as_BatchNormalizationLayer() const
const flatbuffers::Vector< uint32_t > * size() const
flatbuffers::Offset< DepthwiseConvolution2dDescriptor > Finish()
const armnnSerializer::ConstTensor * projectionBias() const
void add_dataLayout(armnnSerializer::DataLayout dataLayout)
const armnnSerializer::GreaterLayer * layer_as_GreaterLayer() const
flatbuffers::Offset< LayerBase > Finish()
const flatbuffers::Vector< int32_t > * inputIds() const
flatbuffers::Offset< AbsLayer > Finish()
void add_maxDetections(uint32_t maxDetections)
void add_inputIds(flatbuffers::Offset< flatbuffers::Vector< int32_t >> inputIds)
armnnSerializer::ActivationFunction activationFunction() const
const armnnSerializer::ConstTensor * cellToInputWeights() const
void add_inputIntermediateScale(float inputIntermediateScale)
void add_dimMappings(flatbuffers::Offset< flatbuffers::Vector< uint32_t >> dimMappings)
VT_NMSSCORETHRESHOLD
FullyConnectedLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::Offset< QLstmDescriptor > CreateQLstmDescriptor(flatbuffers::FlatBufferBuilder &_fbb, bool cifgEnabled=true, bool peepholeEnabled=false, bool projectionEnabled=false, bool layerNormEnabled=false, float cellClip=0.0f, float projectionClip=0.0f, float inputIntermediateScale=0.0f, float forgetIntermediateScale=0.0f, float cellIntermediateScale=0.0f, float outputIntermediateScale=0.0f, int32_t hiddenStateZeroPoint=0, float hiddenStateScale=0.0f)
flatbuffers::FlatBufferBuilder & fbb_
NormalizationLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::Offset< GreaterLayer > CreateGreaterLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0)
void add_clippingThresProj(float clippingThresProj)
flatbuffers::Offset< SpaceToDepthLayer > Finish()
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
void add_descriptor(flatbuffers::Offset< armnnSerializer::Pooling2dDescriptor > descriptor)
void add_inputParams(flatbuffers::Offset< armnnSerializer::QuantizedLstmInputParams > inputParams)
const armnnSerializer::StridedSliceLayer * layer_as_StridedSliceLayer() const
void add_forgetIntermediateScale(float forgetIntermediateScale)
flatbuffers::Offset< ReshapeLayer > CreateReshapeLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::ReshapeDescriptor > descriptor=0)
const char * EnumNameActivationFunction(ActivationFunction e)
void add_inputParams(flatbuffers::Offset< armnnSerializer::QLstmInputParams > inputParams)
flatbuffers::Offset< MeanDescriptor > CreateMeanDescriptorDirect(flatbuffers::FlatBufferBuilder &_fbb, const std::vector< uint32_t > *axis=nullptr, bool keepDims=false)
armnnSerializer::OutputShapeRounding outputShapeRounding() const
flatbuffers::Offset< ArgMinMaxDescriptor > CreateArgMinMaxDescriptor(flatbuffers::FlatBufferBuilder &_fbb, armnnSerializer::ArgMinMaxFunction argMinMaxFunction=armnnSerializer::ArgMinMaxFunction_Min, int32_t axis=0)
void add_descriptor(flatbuffers::Offset< armnnSerializer::UnidirectionalSequenceLstmDescriptor > descriptor)
flatbuffers::Offset< SoftmaxDescriptor > CreateSoftmaxDescriptor(flatbuffers::FlatBufferBuilder &_fbb, float beta=0.0f, int32_t axis=-1)
flatbuffers::FlatBufferBuilder & fbb_
void add_forgetGateBias(flatbuffers::Offset< armnnSerializer::ConstTensor > forgetGateBias)
const armnnSerializer::MergerLayer * layer_as_MergerLayer() const
flatbuffers::Offset< AdditionLayer > CreateAdditionLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0)
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
FullyConnectedDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_begin(flatbuffers::Offset< flatbuffers::Vector< uint32_t >> begin)
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
const armnnSerializer::BatchNormalizationDescriptor * descriptor() const
ConcatLayer MergerLayer
Definition: MergerLayer.hpp:9
flatbuffers::Offset< L2NormalizationDescriptor > CreateL2NormalizationDescriptor(flatbuffers::FlatBufferBuilder &_fbb, armnnSerializer::DataLayout dataLayout=armnnSerializer::DataLayout_NCHW, float eps=1e-12f)
void add_paddingMode(armnnSerializer::PaddingMode paddingMode)
MultiplicationLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
SliceLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
const char * EnumNameNormalizationAlgorithmMethod(NormalizationAlgorithmMethod e)
const armnnSerializer::ResizeDescriptor * descriptor() const
void add_biases(flatbuffers::Offset< armnnSerializer::ConstTensor > biases)
flatbuffers::FlatBufferBuilder & fbb_
flatbuffers::Offset< MinimumLayer > CreateMinimumLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0)
const char *const * EnumNamesDataType()
void add_clippingThresCell(float clippingThresCell)
void add_cellToOutputWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > cellToOutputWeights)
flatbuffers::Offset< ByteData > CreateByteData(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< flatbuffers::Vector< int8_t >> data=0)
flatbuffers::Offset< RsqrtLayer > Finish()
const armnnSerializer::ActivationDescriptor * descriptor() const
flatbuffers::Offset< FeatureCompatibilityVersions > CreateFeatureCompatibilityVersions(flatbuffers::FlatBufferBuilder &_fbb, uint32_t bindingIdsScheme=0, uint32_t weightsLayoutScheme=0, uint32_t constantTensorsAsInputs=0)
VT_ACTIVATIONFUNCTION
const armnnSerializer::ConstTensor * inputToInputWeights() const
ChannelShuffleLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
const armnnSerializer::ConstantLayer * layer_as_ConstantLayer() const
flatbuffers::Offset< DepthToSpaceDescriptor > CreateDepthToSpaceDescriptor(flatbuffers::FlatBufferBuilder &_fbb, uint32_t blockSize=0, armnnSerializer::DataLayout dataLayout=armnnSerializer::DataLayout_NHWC)
void add_padList(flatbuffers::Offset< flatbuffers::Vector< uint32_t >> padList)
VT_DETECTIONSPERCLASS
DetectionPostProcessDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
const char * EnumNamePaddingMode(PaddingMode e)
const armnnSerializer::DepthToSpaceDescriptor * descriptor() const
CastLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
const armnnSerializer::ConstTensor * projectionWeights() const
void add_outputShapeRounding(armnnSerializer::OutputShapeRounding outputShapeRounding)
FillDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::Offset< LstmInputParams > CreateLstmInputParams(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::ConstTensor > inputToForgetWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > inputToCellWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > inputToOutputWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > recurrentToForgetWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > recurrentToCellWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > recurrentToOutputWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > forgetGateBias=0, flatbuffers::Offset< armnnSerializer::ConstTensor > cellBias=0, flatbuffers::Offset< armnnSerializer::ConstTensor > outputGateBias=0, flatbuffers::Offset< armnnSerializer::ConstTensor > inputToInputWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > recurrentToInputWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > cellToInputWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > inputGateBias=0, flatbuffers::Offset< armnnSerializer::ConstTensor > projectionWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > projectionBias=0, flatbuffers::Offset< armnnSerializer::ConstTensor > cellToForgetWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > cellToOutputWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > inputLayerNormWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > forgetLayerNormWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > cellLayerNormWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > outputLayerNormWeights=0)
const LogicalBinaryOperation(& EnumValuesLogicalBinaryOperation())[2]
const flatbuffers::Vector< int32_t > * stride() const
flatbuffers::uoffset_t start_
const ResizeMethod(& EnumValuesResizeMethod())[2]
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
PermuteDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::Offset< CastLayer > CreateCastLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0)
void add_variance(flatbuffers::Offset< armnnSerializer::ConstTensor > variance)
flatbuffers::Offset< LayerBase > CreateLayerBase(flatbuffers::FlatBufferBuilder &_fbb, uint32_t index=0, flatbuffers::Offset< flatbuffers::String > layerName=0, armnnSerializer::LayerType layerType=armnnSerializer::LayerType_Addition, flatbuffers::Offset< flatbuffers::Vector< flatbuffers::Offset< armnnSerializer::InputSlot >>> inputSlots=0, flatbuffers::Offset< flatbuffers::Vector< flatbuffers::Offset< armnnSerializer::OutputSlot >>> outputSlots=0)
flatbuffers::Offset< ShapeLayer > CreateShapeLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0)
void add_descriptor(flatbuffers::Offset< armnnSerializer::L2NormalizationDescriptor > descriptor)
const char *const * EnumNamesConstTensorData()
void add_argMinMaxFunction(armnnSerializer::ArgMinMaxFunction argMinMaxFunction)
flatbuffers::Offset< QuantizeLayer > Finish()
const ActivationFunction(& EnumValuesActivationFunction())[12]
const armnnSerializer::QuantizedLstmInputParams * inputParams() const
flatbuffers::Offset< QLstmInputParams > Finish()
flatbuffers::Offset< LogSoftmaxDescriptor > Finish()
const char *const * EnumNamesNormalizationAlgorithmMethod()
MergeLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
const armnnSerializer::InstanceNormalizationLayer * layer_as_InstanceNormalizationLayer() const
void add_outputLayerNormWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > outputLayerNormWeights)
const armnnSerializer::QuantizedLstmLayer * layer_as_QuantizedLstmLayer() const
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
flatbuffers::Offset< QuantizedLstmInputParams > CreateQuantizedLstmInputParams(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::ConstTensor > inputToInputWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > inputToForgetWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > inputToCellWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > inputToOutputWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > recurrentToInputWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > recurrentToForgetWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > recurrentToCellWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > recurrentToOutputWeights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > inputGateBias=0, flatbuffers::Offset< armnnSerializer::ConstTensor > forgetGateBias=0, flatbuffers::Offset< armnnSerializer::ConstTensor > cellBias=0, flatbuffers::Offset< armnnSerializer::ConstTensor > outputGateBias=0)
void add_descriptor(flatbuffers::Offset< armnnSerializer::Pooling3dDescriptor > descriptor)
flatbuffers::Offset< ReduceDescriptor > CreateReduceDescriptor(flatbuffers::FlatBufferBuilder &_fbb, bool keepDims=false, flatbuffers::Offset< flatbuffers::Vector< uint32_t >> axis=0, armnnSerializer::ReduceOperation reduceOperation=armnnSerializer::ReduceOperation_Sum)
flatbuffers::Offset< StackDescriptor > CreateStackDescriptor(flatbuffers::FlatBufferBuilder &_fbb, uint32_t axis=0, uint32_t numInputs=0, flatbuffers::Offset< flatbuffers::Vector< uint32_t >> inputShape=0)
flatbuffers::Offset< BatchToSpaceNdDescriptor > CreateBatchToSpaceNdDescriptor(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< flatbuffers::Vector< uint32_t >> blockShape=0, flatbuffers::Offset< flatbuffers::Vector< uint32_t >> crops=0, armnnSerializer::DataLayout dataLayout=armnnSerializer::DataLayout_NHWC)
const flatbuffers::Vector< uint32_t > * dimensions() const
VT_HIDDENSTATEZEROPOINT
const armnnSerializer::ReshapeDescriptor * descriptor() const
void add_cellLayerNormWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > cellLayerNormWeights)
void add_inputShape(flatbuffers::Offset< flatbuffers::Vector< uint32_t >> inputShape)
LogicalBinaryLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
QuantizeLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_forgetGateBias(flatbuffers::Offset< armnnSerializer::ConstTensor > forgetGateBias)
LayerBaseBuilder(flatbuffers::FlatBufferBuilder &_fbb)
const DataLayout(& EnumValuesDataLayout())[4]
flatbuffers::Offset< ResizeDescriptor > Finish()
VT_CELLLAYERNORMWEIGHTS
DepthwiseConvolution2dLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_cellToOutputWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > cellToOutputWeights)
void add_inputToInputWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > inputToInputWeights)
flatbuffers::Offset< SplitterLayer > CreateSplitterLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::ViewsDescriptor > descriptor=0)
flatbuffers::FlatBufferBuilder & fbb_
void add_viewOrigins(flatbuffers::Offset< flatbuffers::Vector< flatbuffers::Offset< armnnSerializer::UintVector >>> viewOrigins)
void add_gamma(flatbuffers::Offset< armnnSerializer::ConstTensor > gamma)
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
void add_projectionBias(flatbuffers::Offset< armnnSerializer::ConstTensor > projectionBias)
OriginsDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
SerializedGraphBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::Offset< OutputLayer > CreateOutputLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::BindableLayerBase > base=0)
void add_descriptor(flatbuffers::Offset< armnnSerializer::InstanceNormalizationDescriptor > descriptor)
void add_dataLayout(armnnSerializer::DataLayout dataLayout)
const armnnSerializer::ChannelShuffleDescriptor * descriptor() const
flatbuffers::Offset< BatchToSpaceNdLayer > Finish()
flatbuffers::Offset< SoftmaxLayer > CreateSoftmaxLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::SoftmaxDescriptor > descriptor=0)
void add_descriptor(flatbuffers::Offset< armnnSerializer::LogSoftmaxDescriptor > descriptor)
flatbuffers::Offset< FillDescriptor > CreateFillDescriptor(flatbuffers::FlatBufferBuilder &_fbb, float value=0.0f)
void add_poolType(armnnSerializer::PoolingAlgorithm poolType)
flatbuffers::Offset< ConstTensor > Finish()
flatbuffers::FlatBufferBuilder & fbb_
armnnSerializer::ResizeMethod method() const
const armnnSerializer::Convolution3dLayer * layer_as_Convolution3dLayer() const
const flatbuffers::Vector< flatbuffers::Offset< armnnSerializer::UintVector > > * viewOrigins() const
FeatureCompatibilityVersionsBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_inputParams(flatbuffers::Offset< armnnSerializer::LstmInputParams > inputParams)
void add_descriptor(flatbuffers::Offset< armnnSerializer::TransposeConvolution2dDescriptor > descriptor)
flatbuffers::Offset< StridedSliceLayer > CreateStridedSliceLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::StridedSliceDescriptor > descriptor=0)
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
flatbuffers::Offset< LogSoftmaxDescriptor > CreateLogSoftmaxDescriptor(flatbuffers::FlatBufferBuilder &_fbb, float beta=1.0f, int32_t axis=-1)
flatbuffers::Offset< SoftmaxDescriptor > Finish()
flatbuffers::FlatBufferBuilder & fbb_
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
flatbuffers::FlatBufferBuilder & fbb_
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
const armnnSerializer::PadLayer * layer_as_PadLayer() const
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
flatbuffers::Offset< SliceDescriptor > CreateSliceDescriptorDirect(flatbuffers::FlatBufferBuilder &_fbb, const std::vector< uint32_t > *begin=nullptr, const std::vector< uint32_t > *size=nullptr)
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
OutputSlotBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_descriptor(flatbuffers::Offset< armnnSerializer::FillDescriptor > descriptor)
const char *const * EnumNamesNormalizationAlgorithmChannel()
LstmDescriptor UnidirectionalSequenceLstmDescriptor
void add_descriptor(flatbuffers::Offset< armnnSerializer::ChannelShuffleDescriptor > descriptor)
DepthToSpaceLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
const ComparisonOperation(& EnumValuesComparisonOperation())[6]
flatbuffers::Offset< RsqrtLayer > CreateRsqrtLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0)
LstmInputParamsBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_data(flatbuffers::Offset< flatbuffers::Vector< int8_t >> data)
const flatbuffers::Vector< flatbuffers::Offset< armnnSerializer::UintVector > > * viewSizes() const
const armnnSerializer::DepthwiseConvolution2dLayer * layer_as_DepthwiseConvolution2dLayer() const
flatbuffers::Offset< FullyConnectedLayer > Finish()
void add_descriptor(flatbuffers::Offset< armnnSerializer::ComparisonDescriptor > descriptor)
flatbuffers::Offset< MeanLayer > CreateMeanLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::MeanDescriptor > descriptor=0)
flatbuffers::Offset< L2NormalizationLayer > Finish()
StridedSliceDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
DepthToSpaceDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
VT_FORGETINTERMEDIATESCALE
const flatbuffers::Vector< uint32_t > * inputShape() const
flatbuffers::Offset< DetectionPostProcessLayer > Finish()
void add_blockShape(flatbuffers::Offset< flatbuffers::Vector< uint32_t >> blockShape)
const armnnSerializer::L2NormalizationDescriptor * descriptor() const
flatbuffers::Offset< ActivationLayer > CreateActivationLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::ActivationDescriptor > descriptor=0)
flatbuffers::Offset< SpaceToDepthLayer > CreateSpaceToDepthLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::SpaceToDepthDescriptor > descriptor=0)
flatbuffers::Offset< SliceDescriptor > CreateSliceDescriptor(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< flatbuffers::Vector< uint32_t >> begin=0, flatbuffers::Offset< flatbuffers::Vector< uint32_t >> size=0)
const armnnSerializer::OriginsDescriptor * origins() const
VT_CLIPPINGTHRESCELL
TransposeConvolution2dLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
LstmDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_inputGateBias(flatbuffers::Offset< armnnSerializer::ConstTensor > inputGateBias)
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
void add_inputLayerNormWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > inputLayerNormWeights)
flatbuffers::Offset< BatchNormalizationLayer > CreateBatchNormalizationLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::BatchNormalizationDescriptor > descriptor=0, flatbuffers::Offset< armnnSerializer::ConstTensor > mean=0, flatbuffers::Offset< armnnSerializer::ConstTensor > variance=0, flatbuffers::Offset< armnnSerializer::ConstTensor > beta=0, flatbuffers::Offset< armnnSerializer::ConstTensor > gamma=0)
void add_inputToOutputWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > inputToOutputWeights)
DepthwiseConvolution2dDescriptorBuilder Builder
flatbuffers::Offset< BatchNormalizationDescriptor > CreateBatchNormalizationDescriptor(flatbuffers::FlatBufferBuilder &_fbb, float eps=0.0f, armnnSerializer::DataLayout dataLayout=armnnSerializer::DataLayout_NHWC)
const flatbuffers::Vector< int32_t > * outputIds() const
flatbuffers::Offset< Pooling2dLayer > Finish()
flatbuffers::Offset< ChannelShuffleDescriptor > Finish()
flatbuffers::Offset< QuantizedLstmInputParams > Finish()
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
flatbuffers::Offset< GatherDescriptor > CreateGatherDescriptor(flatbuffers::FlatBufferBuilder &_fbb, int32_t axis=0)
const armnnSerializer::FullyConnectedLayer * layer_as_FullyConnectedLayer() const
flatbuffers::Offset< FillLayer > Finish()
flatbuffers::Offset< Convolution3dLayer > CreateConvolution3dLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::Convolution3dDescriptor > descriptor=0)
flatbuffers::Offset< ActivationDescriptor > CreateActivationDescriptor(flatbuffers::FlatBufferBuilder &_fbb, armnnSerializer::ActivationFunction activationFunction=armnnSerializer::ActivationFunction_Sigmoid, float a=0.0f, float b=0.0f)
void add_descriptor(flatbuffers::Offset< armnnSerializer::ViewsDescriptor > descriptor)
const armnnSerializer::StridedSliceDescriptor * descriptor() const
flatbuffers::Offset< NormalizationLayer > CreateNormalizationLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::NormalizationDescriptor > descriptor=0)
flatbuffers::Offset< OriginsDescriptor > Finish()
L2NormalizationLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
ReshapeLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
const armnnSerializer::ChannelShuffleLayer * layer_as_ChannelShuffleLayer() const
FeatureCompatibilityVersionsBuilder Builder
flatbuffers::Offset< AnyLayer > Finish()
const char *const * EnumNamesComparisonOperation()
flatbuffers::FlatBufferBuilder & fbb_
flatbuffers::Offset< ViewsDescriptor > CreateViewsDescriptor(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::OriginsDescriptor > origins=0, flatbuffers::Offset< flatbuffers::Vector< flatbuffers::Offset< armnnSerializer::UintVector >>> viewSizes=0)
flatbuffers::Offset< PermuteDescriptor > CreatePermuteDescriptor(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< flatbuffers::Vector< uint32_t >> dimMappings=0)
void add_recurrentToInputWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > recurrentToInputWeights)
const armnnSerializer::TensorInfo * tensorInfo() const
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
flatbuffers::Offset< SubtractionLayer > Finish()
flatbuffers::Offset< MeanDescriptor > CreateMeanDescriptor(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< flatbuffers::Vector< uint32_t >> axis=0, bool keepDims=false)
void add_cellToInputWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > cellToInputWeights)
flatbuffers::FlatBufferBuilder & fbb_
flatbuffers::FlatBufferBuilder & fbb_
flatbuffers::Offset< StandInLayer > CreateStandInLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::StandInDescriptor > descriptor=0)
const armnnSerializer::Pooling2dDescriptor * descriptor() const
flatbuffers::FlatBufferBuilder & fbb_
const char * EnumNameResizeMethod(ResizeMethod e)
const armnnSerializer::ConstTensor * forgetGateBias() const
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
void add_scaleX(float scaleX)
DetectionPostProcessDescriptorBuilder Builder
flatbuffers::FlatBufferBuilder & fbb_
flatbuffers::Offset< ReduceDescriptor > Finish()
const armnnSerializer::Convolution2dDescriptor * descriptor() const
void add_descriptor(flatbuffers::Offset< armnnSerializer::ResizeDescriptor > descriptor)
void add_outputIds(flatbuffers::Offset< flatbuffers::Vector< int32_t >> outputIds)
void add_operation(armnnSerializer::LogicalBinaryOperation operation)
void add_mean(flatbuffers::Offset< armnnSerializer::ConstTensor > mean)
flatbuffers::Offset< UintVector > Finish()
const armnnSerializer::IntData * data_as_IntData() const
flatbuffers::Offset< StandInLayer > Finish()
flatbuffers::FlatBufferBuilder & fbb_
VT_DIMENSIONSPECIFICITY
const armnnSerializer::LogicalBinaryLayer * layer_as_LogicalBinaryLayer() const
GreaterLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
const armnnSerializer::ConstTensor * cellToOutputWeights() const
flatbuffers::Offset< StridedSliceDescriptor > Finish()
const armnnSerializer::ConstTensor * inputToForgetWeights() const
flatbuffers::Offset< Convolution3dDescriptor > Finish()
flatbuffers::Offset< DetectionPostProcessDescriptor > Finish()
flatbuffers::Offset< SwitchLayer > CreateSwitchLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0)
const armnnSerializer::InputLayer * layer_as_InputLayer() const
flatbuffers::FlatBufferBuilder & fbb_
VT_RECURRENTTOCELLWEIGHTS
const NormalizationAlgorithmMethod(& EnumValuesNormalizationAlgorithmMethod())[2]
flatbuffers::Offset< UintVector > CreateUintVectorDirect(flatbuffers::FlatBufferBuilder &_fbb, const std::vector< uint32_t > *data=nullptr)
flatbuffers::Offset< ResizeBilinearDescriptor > CreateResizeBilinearDescriptor(flatbuffers::FlatBufferBuilder &_fbb, uint32_t targetWidth=0, uint32_t targetHeight=0, armnnSerializer::DataLayout dataLayout=armnnSerializer::DataLayout_NHWC, bool alignCorners=false, bool halfPixelCenters=false)
const ConstTensorData(& EnumValuesConstTensorData())[5]
const armnnSerializer::QLstmInputParams * inputParams() const
void add_layerName(flatbuffers::Offset< flatbuffers::String > layerName)
const armnnSerializer::GatherLayer * layer_as_GatherLayer() const
L2NormalizationDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::Offset< ElementwiseUnaryDescriptor > CreateElementwiseUnaryDescriptor(flatbuffers::FlatBufferBuilder &_fbb, armnnSerializer::UnaryOperation operation=armnnSerializer::UnaryOperation_Abs)
void add_size(flatbuffers::Offset< flatbuffers::Vector< uint32_t >> size)
flatbuffers::Offset< Pooling3dDescriptor > Finish()
void add_forgetLayerNormWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > forgetLayerNormWeights)
flatbuffers::Offset< ReshapeDescriptor > CreateReshapeDescriptorDirect(flatbuffers::FlatBufferBuilder &_fbb, const std::vector< uint32_t > *targetShape=nullptr)
const armnnSerializer::SplitterLayer * layer_as_SplitterLayer() const
void add_nmsScoreThreshold(float nmsScoreThreshold)
flatbuffers::Offset< BatchNormalizationLayer > Finish()
void add_dataLayout(armnnSerializer::DataLayout dataLayout)
ActivationLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::FlatBufferBuilder & fbb_
const char * EnumNameArgMinMaxFunction(ArgMinMaxFunction e)
void add_inputToForgetWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > inputToForgetWeights)
flatbuffers::FlatBufferBuilder & fbb_
void add_inputToInputWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > inputToInputWeights)
flatbuffers::Offset< Convolution2dDescriptor > Finish()
flatbuffers::Offset< PadDescriptor > CreatePadDescriptor(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< flatbuffers::Vector< uint32_t >> padList=0, float padValue=0.0f, armnnSerializer::PaddingMode paddingMode=armnnSerializer::PaddingMode_Constant)
const armnnSerializer::QLstmLayer * layer_as_QLstmLayer() const
void add_useRegularNms(bool useRegularNms)
const armnnSerializer::SpaceToBatchNdLayer * layer_as_SpaceToBatchNdLayer() const
void add_descriptor(flatbuffers::Offset< armnnSerializer::QLstmDescriptor > descriptor)
flatbuffers::Offset< TransposeConvolution2dDescriptor > Finish()
const PoolingAlgorithm(& EnumValuesPoolingAlgorithm())[3]
flatbuffers::Offset< PadLayer > CreatePadLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::PadDescriptor > descriptor=0)
flatbuffers::Offset< FloorLayer > CreateFloorLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0)
void add_descriptor(flatbuffers::Offset< armnnSerializer::DepthwiseConvolution2dDescriptor > descriptor)
flatbuffers::Offset< DivisionLayer > Finish()
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
void add_projectionEnabled(bool projectionEnabled)
DetectionPostProcessLayerBuilder Builder
flatbuffers::Offset< NormalizationDescriptor > CreateNormalizationDescriptor(flatbuffers::FlatBufferBuilder &_fbb, armnnSerializer::NormalizationAlgorithmChannel normChannelType=armnnSerializer::NormalizationAlgorithmChannel_Across, armnnSerializer::NormalizationAlgorithmMethod normMethodType=armnnSerializer::NormalizationAlgorithmMethod_LocalBrightness, uint32_t normSize=0, float alpha=0.0f, float beta=0.0f, float k=0.0f, armnnSerializer::DataLayout dataLayout=armnnSerializer::DataLayout_NCHW)
RankLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
const armnnSerializer::PermuteDescriptor * descriptor() const
const armnnSerializer::ConstTensor * recurrentToCellWeights() const
flatbuffers::Offset< InputSlot > Finish()
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
FillLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::Offset< Pooling2dDescriptor > CreatePooling2dDescriptor(flatbuffers::FlatBufferBuilder &_fbb, armnnSerializer::PoolingAlgorithm poolType=armnnSerializer::PoolingAlgorithm_Max, uint32_t padLeft=0, uint32_t padRight=0, uint32_t padTop=0, uint32_t padBottom=0, uint32_t poolWidth=0, uint32_t poolHeight=0, uint32_t strideX=0, uint32_t strideY=0, armnnSerializer::OutputShapeRounding outputShapeRounding=armnnSerializer::OutputShapeRounding_Floor, armnnSerializer::PaddingMethod paddingMethod=armnnSerializer::PaddingMethod_IgnoreValue, armnnSerializer::DataLayout dataLayout=armnnSerializer::DataLayout_NHWC)
void add_descriptor(flatbuffers::Offset< armnnSerializer::DepthToSpaceDescriptor > descriptor)
SoftmaxDescriptor LogSoftmaxDescriptor
A LogSoftmaxDescriptor for the LogSoftmaxLayer.
flatbuffers::Offset< EqualLayer > CreateEqualLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0)
VT_CELLINTERMEDIATESCALE
LogicalBinaryDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_quantizationDim(uint32_t quantizationDim)
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
void add_inputToCellWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > inputToCellWeights)
const armnnSerializer::ConstTensor * recurrentToInputWeights() const
void add_dataLayout(armnnSerializer::DataLayout dataLayout)
flatbuffers::Offset< ConstantLayer > CreateConstantLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::ConstTensor > input=0)
flatbuffers::Offset< StackDescriptor > Finish()
flatbuffers::Offset< FullyConnectedDescriptor > Finish()
const armnnSerializer::LstmLayer * layer_as_LstmLayer() const
const armnnSerializer::MeanLayer * layer_as_MeanLayer() const
flatbuffers::Offset< ChannelShuffleLayer > CreateChannelShuffleLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::ChannelShuffleDescriptor > descriptor=0)
void add_weights(flatbuffers::Offset< armnnSerializer::ConstTensor > weights)
flatbuffers::Offset< ShapeLayer > Finish()
InstanceNormalizationLayerBuilder Builder
flatbuffers::Offset< UintVector > CreateUintVector(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< flatbuffers::Vector< uint32_t >> data=0)
flatbuffers::Offset< StackLayer > CreateStackLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::StackDescriptor > descriptor=0)
TransposeLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_descriptor(flatbuffers::Offset< armnnSerializer::DetectionPostProcessDescriptor > descriptor)
ReshapeDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
ResizeLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
flatbuffers::FlatBufferBuilder & fbb_
const armnnSerializer::FillLayer * layer_as_FillLayer() const
flatbuffers::Offset< ReshapeLayer > Finish()
UintVectorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
LongDataBuilder(flatbuffers::FlatBufferBuilder &_fbb)
UnidirectionalSequenceLstmDescriptorBuilder Builder
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
flatbuffers::FlatBufferBuilder & fbb_
void add_descriptor(flatbuffers::Offset< armnnSerializer::OriginsDescriptor > descriptor)
flatbuffers::Offset< ViewsDescriptor > Finish()
ArgMinMaxLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
UnidirectionalSequenceLstmLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_recurrentToForgetWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > recurrentToForgetWeights)
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
TransposeDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::FlatBufferBuilder & fbb_
void add_dataLayout(armnnSerializer::DataLayout dataLayout)
StandInDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
const armnnSerializer::PreluLayer * layer_as_PreluLayer() const
ByteDataBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::Offset< StridedSliceLayer > Finish()
void add_dataLayout(armnnSerializer::DataLayout dataLayout)
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
void add_layerNormEnabled(bool layerNormEnabled)
flatbuffers::FlatBufferBuilder & fbb_
const armnnSerializer::MeanDescriptor * descriptor() const
flatbuffers::Offset< Convolution2dLayer > CreateConvolution2dLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::Convolution2dDescriptor > descriptor=0, flatbuffers::Offset< armnnSerializer::ConstTensor > weights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > biases=0)
const armnnSerializer::SpaceToDepthLayer * layer_as_SpaceToDepthLayer() const
flatbuffers::Offset< DepthwiseConvolution2dLayer > Finish()
UnidirectionalSequenceLstmDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::Offset< UnidirectionalSequenceLstmLayer > CreateUnidirectionalSequenceLstmLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::UnidirectionalSequenceLstmDescriptor > descriptor=0, flatbuffers::Offset< armnnSerializer::LstmInputParams > inputParams=0)
void add_descriptor(flatbuffers::Offset< armnnSerializer::ArgMinMaxDescriptor > descriptor)
const armnnSerializer::SoftmaxLayer * layer_as_SoftmaxLayer() const
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
const armnnSerializer::OutputLayer * layer_as_OutputLayer() const
const armnnSerializer::LstmInputParams * inputParams() const
flatbuffers::Offset< LogicalBinaryLayer > Finish()
flatbuffers::Offset< FloorLayer > Finish()
flatbuffers::Offset< Pooling2dLayer > CreatePooling2dLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::Pooling2dDescriptor > descriptor=0)
const armnnSerializer::ConstTensor * forgetLayerNormWeights() const
void add_scaleH(float scaleH)
const armnnSerializer::QuantizeLayer * layer_as_QuantizeLayer() const
VT_OUTPUTSHAPEROUNDING
flatbuffers::Offset< FeatureCompatibilityVersions > Finish()
flatbuffers::Offset< MergerLayer > Finish()
flatbuffers::Offset< SpaceToBatchNdLayer > CreateSpaceToBatchNdLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::SpaceToBatchNdDescriptor > descriptor=0)
void add_outputGateBias(flatbuffers::Offset< armnnSerializer::ConstTensor > outputGateBias)
void add_descriptor(flatbuffers::Offset< armnnSerializer::Convolution2dDescriptor > descriptor)
flatbuffers::Offset< UnidirectionalSequenceLstmDescriptor > CreateUnidirectionalSequenceLstmDescriptor(flatbuffers::FlatBufferBuilder &_fbb, uint32_t activationFunc=0, float clippingThresCell=0.0f, float clippingThresProj=0.0f, bool cifgEnabled=true, bool peepholeEnabled=false, bool projectionEnabled=false, bool layerNormEnabled=false, bool timeMajor=false)
ConstTensorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
const flatbuffers::Vector< uint32_t > * crops() const
const armnnSerializer::DetectionPostProcessLayer * layer_as_DetectionPostProcessLayer() const
const armnnSerializer::FullyConnectedDescriptor * descriptor() const
void add_recurrentToForgetWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > recurrentToForgetWeights)
void add_dataLayout(armnnSerializer::DataLayout dataLayout)
void add_detectionsPerClass(uint32_t detectionsPerClass)
flatbuffers::FlatBufferBuilder & fbb_
const armnnSerializer::ConstTensor * cellBias() const
Convolution2dLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_operation(armnnSerializer::ComparisonOperation operation)
ChannelShuffleDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
bool VerifyConstTensorDataVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector< flatbuffers::Offset< void >> *values, const flatbuffers::Vector< uint8_t > *types)
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
armnnSerializer::ArgMinMaxFunction argMinMaxFunction() const
InstanceNormalizationDescriptorBuilder Builder
const armnnSerializer::StackDescriptor * descriptor() const
flatbuffers::Offset< BatchToSpaceNdDescriptor > CreateBatchToSpaceNdDescriptorDirect(flatbuffers::FlatBufferBuilder &_fbb, const std::vector< uint32_t > *blockShape=nullptr, const std::vector< uint32_t > *crops=nullptr, armnnSerializer::DataLayout dataLayout=armnnSerializer::DataLayout_NHWC)
const armnnSerializer::ConstTensor * anchors() const
void add_descriptor(flatbuffers::Offset< armnnSerializer::LstmDescriptor > descriptor)
flatbuffers::Offset< ComparisonDescriptor > CreateComparisonDescriptor(flatbuffers::FlatBufferBuilder &_fbb, armnnSerializer::ComparisonOperation operation=armnnSerializer::ComparisonOperation_Equal)
flatbuffers::Offset< BatchToSpaceNdDescriptor > Finish()
void add_forgetGateBias(flatbuffers::Offset< armnnSerializer::ConstTensor > forgetGateBias)
const armnnSerializer::SpaceToDepthDescriptor * descriptor() const
flatbuffers::Offset< BindableLayerBase > Finish()
InstanceNormalizationLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::Offset< MaximumLayer > CreateMaximumLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0)
flatbuffers::FlatBufferBuilder & fbb_
const char * EnumNameComparisonOperation(ComparisonOperation e)
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
const armnnSerializer::ConstTensor * recurrentToOutputWeights() const
void add_nmsIouThreshold(float nmsIouThreshold)
void add_recurrentToInputWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > recurrentToInputWeights)
flatbuffers::Offset< LstmLayer > Finish()
const char *const * EnumNamesArgMinMaxFunction()
const armnnSerializer::StandInDescriptor * descriptor() const
VT_TRANSPOSEWEIGHTSMATRIX
AbsLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
SplitterLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_base(flatbuffers::Offset< armnnSerializer::BindableLayerBase > base)
const flatbuffers::Vector< float > * quantizationScales() const
flatbuffers::Offset< ByteData > CreateByteDataDirect(flatbuffers::FlatBufferBuilder &_fbb, const std::vector< int8_t > *data=nullptr)
const armnnSerializer::EqualLayer * layer_as_EqualLayer() const
DepthwiseConvolution2dDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::Offset< InstanceNormalizationDescriptor > CreateInstanceNormalizationDescriptor(flatbuffers::FlatBufferBuilder &_fbb, float gamma=0.0f, float beta=0.0f, float eps=0.0f, armnnSerializer::DataLayout dataLayout=armnnSerializer::DataLayout_NHWC)
void add_dimensions(flatbuffers::Offset< flatbuffers::Vector< uint32_t >> dimensions)
ActivationDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
const char *const * EnumNamesPoolingAlgorithm()
AnyLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
const armnnSerializer::OriginsDescriptor * descriptor() const
const armnnSerializer::ShortData * data_as_ShortData() const
BindableLayerBaseBuilder(flatbuffers::FlatBufferBuilder &_fbb)
const armnnSerializer::AbsLayer * layer_as_AbsLayer() const
flatbuffers::Offset< ArgMinMaxLayer > Finish()
flatbuffers::Offset< MeanDescriptor > Finish()
const armnnSerializer::TransposeConvolution2dDescriptor * descriptor() const
const armnnSerializer::ConstTensor * inputToCellWeights() const
const flatbuffers::Vector< int32_t > * data() const
ReduceLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
const armnnSerializer::MergeLayer * layer_as_MergeLayer() const
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
Convolution3dLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
VT_INPUTINTERMEDIATESCALE
const armnnSerializer::ViewsDescriptor * descriptor() const
void add_layer_type(armnnSerializer::Layer layer_type)
StackLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
LogSoftmaxLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::FlatBufferBuilder & fbb_
flatbuffers::Offset< IntData > CreateIntData(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< flatbuffers::Vector< int32_t >> data=0)
void add_inputToInputWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > inputToInputWeights)
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
const armnnSerializer::SliceDescriptor * descriptor() const
void add_targetShape(flatbuffers::Offset< flatbuffers::Vector< uint32_t >> targetShape)
flatbuffers::Offset< ArgMinMaxDescriptor > Finish()
void add_hiddenStateScale(float hiddenStateScale)
void add_layer(flatbuffers::Offset< void > layer)
StandInLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_outputGateBias(flatbuffers::Offset< armnnSerializer::ConstTensor > outputGateBias)
flatbuffers::Offset< InputLayer > Finish()
flatbuffers::Offset< ConcatLayer > Finish()
flatbuffers::Offset< ResizeLayer > CreateResizeLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::ResizeDescriptor > descriptor=0)
armnnSerializer::PoolingAlgorithm poolType() const
flatbuffers::FlatBufferBuilder & fbb_
void add_paddingMethod(armnnSerializer::PaddingMethod paddingMethod)
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
flatbuffers::Offset< FullyConnectedLayer > CreateFullyConnectedLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::FullyConnectedDescriptor > descriptor=0, flatbuffers::Offset< armnnSerializer::ConstTensor > weights=0, flatbuffers::Offset< armnnSerializer::ConstTensor > biases=0)
flatbuffers::Offset< Convolution2dLayer > Finish()
const NormalizationAlgorithmChannel(& EnumValuesNormalizationAlgorithmChannel())[2]
const char * EnumNameLogicalBinaryOperation(LogicalBinaryOperation e)
GatherLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
ComparisonLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_dataLayout(armnnSerializer::DataLayout dataLayout)
flatbuffers::Offset< DequantizeLayer > CreateDequantizeLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0)
BatchToSpaceNdDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_projectionWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > projectionWeights)
flatbuffers::Offset< ChannelShuffleDescriptor > CreateChannelShuffleDescriptor(flatbuffers::FlatBufferBuilder &_fbb, uint32_t axis=0, uint32_t numGroups=0)
flatbuffers::FlatBufferBuilder & fbb_
void add_inputToCellWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > inputToCellWeights)
flatbuffers::Offset< ResizeBilinearLayer > CreateResizeBilinearLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::ResizeBilinearDescriptor > descriptor=0)
flatbuffers::Offset< InstanceNormalizationDescriptor > Finish()
flatbuffers::Offset< PadLayer > Finish()
void add_layerType(armnnSerializer::LayerType layerType)
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
void add_tensorInfo(flatbuffers::Offset< armnnSerializer::TensorInfo > tensorInfo)
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
void add_weights(flatbuffers::Offset< armnnSerializer::ConstTensor > weights)
void FinishSizePrefixedSerializedGraphBuffer(flatbuffers::FlatBufferBuilder &fbb, flatbuffers::Offset< armnnSerializer::SerializedGraph > root)
flatbuffers::Offset< ViewsDescriptor > CreateViewsDescriptorDirect(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::OriginsDescriptor > origins=0, const std::vector< flatbuffers::Offset< armnnSerializer::UintVector >> *viewSizes=nullptr)
void add_cellToForgetWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > cellToForgetWeights)
flatbuffers::Offset< PadDescriptor > Finish()
flatbuffers::Offset< OutputSlot > Finish()
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
flatbuffers::Offset< OriginsDescriptor > CreateOriginsDescriptorDirect(flatbuffers::FlatBufferBuilder &_fbb, uint32_t concatAxis=0, uint32_t numViews=0, uint32_t numDimensions=0, const std::vector< flatbuffers::Offset< armnnSerializer::UintVector >> *viewOrigins=nullptr)
flatbuffers::FlatBufferBuilder & fbb_
const char * EnumNameDataType(DataType e)
DetectionPostProcessDescriptor Table
const char * EnumNamePaddingMethod(PaddingMethod e)
void add_featureVersions(flatbuffers::Offset< armnnSerializer::FeatureCompatibilityVersions > featureVersions)
flatbuffers::Offset< DetectionPostProcessLayer > CreateDetectionPostProcessLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::DetectionPostProcessDescriptor > descriptor=0, flatbuffers::Offset< armnnSerializer::ConstTensor > anchors=0)
const flatbuffers::Vector< int64_t > * data() const
void add_data(flatbuffers::Offset< flatbuffers::Vector< int16_t >> data)
flatbuffers::FlatBufferBuilder & fbb_
PadDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::Offset< StridedSliceDescriptor > CreateStridedSliceDescriptorDirect(flatbuffers::FlatBufferBuilder &_fbb, const std::vector< int32_t > *begin=nullptr, const std::vector< int32_t > *end=nullptr, const std::vector< int32_t > *stride=nullptr, int32_t beginMask=0, int32_t endMask=0, int32_t shrinkAxisMask=0, int32_t ellipsisMask=0, int32_t newAxisMask=0, armnnSerializer::DataLayout dataLayout=armnnSerializer::DataLayout_NHWC)
void add_dataLayout(armnnSerializer::DataLayout dataLayout)
flatbuffers::Offset< Pooling2dDescriptor > Finish()
SoftmaxDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_descriptor(flatbuffers::Offset< armnnSerializer::MeanDescriptor > descriptor)
void add_inputGateBias(flatbuffers::Offset< armnnSerializer::ConstTensor > inputGateBias)
void add_reduceOperation(armnnSerializer::ReduceOperation reduceOperation)
flatbuffers::Offset< SpaceToBatchNdDescriptor > Finish()
void add_cellBias(flatbuffers::Offset< armnnSerializer::ConstTensor > cellBias)
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
void add_inputGateBias(flatbuffers::Offset< armnnSerializer::ConstTensor > inputGateBias)
flatbuffers::Offset< ComparisonDescriptor > Finish()
flatbuffers::Offset< QuantizedLstmLayer > Finish()
void add_data(flatbuffers::Offset< void > data)
const char * EnumNameOutputShapeRounding(OutputShapeRounding e)
const armnnSerializer::ConstTensor * beta() const
ResizeDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::FlatBufferBuilder & fbb_
const char * EnumNameNormalizationAlgorithmChannel(NormalizationAlgorithmChannel e)
flatbuffers::Offset< BatchToSpaceNdLayer > CreateBatchToSpaceNdLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::BatchToSpaceNdDescriptor > descriptor=0)
void add_operation(armnnSerializer::UnaryOperation operation)
bool VerifySerializedGraphBuffer(flatbuffers::Verifier &verifier)
VT_PROJECTIONWEIGHTS
flatbuffers::Offset< SliceDescriptor > Finish()
const flatbuffers::Vector< uint32_t > * begin() const
bool SerializedGraphBufferHasIdentifier(const void *buf)
flatbuffers::Offset< UnidirectionalSequenceLstmDescriptor > Finish()
const armnnSerializer::ResizeBilinearDescriptor * descriptor() const
const armnnSerializer::LongData * data_as_LongData() const
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
const armnnSerializer::SubtractionLayer * layer_as_SubtractionLayer() const
flatbuffers::uoffset_t start_
const armnnSerializer::StackLayer * layer_as_StackLayer() const
flatbuffers::Offset< LogSoftmaxLayer > CreateLogSoftmaxLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::LogSoftmaxDescriptor > descriptor=0)
flatbuffers::FlatBufferBuilder & fbb_
void add_recurrentToCellWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > recurrentToCellWeights)
void add_beta(flatbuffers::Offset< armnnSerializer::ConstTensor > beta)
const armnnSerializer::LogSoftmaxDescriptor * descriptor() const
UnidirectionalSequenceLstmLayerBuilder Builder
armnnSerializer::ConstTensorData data_type() const
void add_descriptor(flatbuffers::Offset< armnnSerializer::PermuteDescriptor > descriptor)
flatbuffers::Offset< StridedSliceDescriptor > CreateStridedSliceDescriptor(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< flatbuffers::Vector< int32_t >> begin=0, flatbuffers::Offset< flatbuffers::Vector< int32_t >> end=0, flatbuffers::Offset< flatbuffers::Vector< int32_t >> stride=0, int32_t beginMask=0, int32_t endMask=0, int32_t shrinkAxisMask=0, int32_t ellipsisMask=0, int32_t newAxisMask=0, armnnSerializer::DataLayout dataLayout=armnnSerializer::DataLayout_NHWC)
flatbuffers::Offset< OriginsDescriptor > CreateOriginsDescriptor(flatbuffers::FlatBufferBuilder &_fbb, uint32_t concatAxis=0, uint32_t numViews=0, uint32_t numDimensions=0, flatbuffers::Offset< flatbuffers::Vector< flatbuffers::Offset< armnnSerializer::UintVector >>> viewOrigins=0)
flatbuffers::Offset< QLstmLayer > CreateQLstmLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::QLstmDescriptor > descriptor=0, flatbuffers::Offset< armnnSerializer::QLstmInputParams > inputParams=0)
void add_activationFunc(uint32_t activationFunc)
flatbuffers::Offset< RankLayer > Finish()
flatbuffers::Offset< ReduceDescriptor > CreateReduceDescriptorDirect(flatbuffers::FlatBufferBuilder &_fbb, bool keepDims=false, const std::vector< uint32_t > *axis=nullptr, armnnSerializer::ReduceOperation reduceOperation=armnnSerializer::ReduceOperation_Sum)
flatbuffers::FlatBufferBuilder & fbb_
const armnnSerializer::ConstTensor * outputGateBias() const
flatbuffers::Offset< LstmDescriptor > CreateLstmDescriptor(flatbuffers::FlatBufferBuilder &_fbb, uint32_t activationFunc=0, float clippingThresCell=0.0f, float clippingThresProj=0.0f, bool cifgEnabled=true, bool peepholeEnabled=false, bool projectionEnabled=false, bool layerNormEnabled=false)
void add_inputToForgetWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > inputToForgetWeights)
void add_cellToForgetWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > cellToForgetWeights)
const flatbuffers::Vector< uint32_t > * data() const
flatbuffers::Offset< L2NormalizationDescriptor > Finish()
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
const char * SerializedGraphExtension()
const flatbuffers::Vector< uint32_t > * padList() const
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
flatbuffers::Offset< ElementwiseUnaryLayer > CreateElementwiseUnaryLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::ElementwiseUnaryDescriptor > descriptor=0)
FLATBUFFERS_STRUCT_END(Connection, 8)
flatbuffers::Offset< PermuteLayer > CreatePermuteLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::PermuteDescriptor > descriptor=0)
const ReduceOperation(& EnumValuesReduceOperation())[5]
void add_outputShapeRounding(armnnSerializer::OutputShapeRounding outputShapeRounding)
const armnnSerializer::L2NormalizationLayer * layer_as_L2NormalizationLayer() const
flatbuffers::Offset< GatherDescriptor > Finish()
FloorLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::FlatBufferBuilder & fbb_
void add_descriptor(flatbuffers::Offset< armnnSerializer::BatchNormalizationDescriptor > descriptor)
void add_inputToOutputWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > inputToOutputWeights)
QLstmInputParamsBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_weights(flatbuffers::Offset< armnnSerializer::ConstTensor > weights)
const armnnSerializer::ArgMinMaxDescriptor * descriptor() const
const UnaryOperation(& EnumValuesUnaryOperation())[8]
ShortDataBuilder(flatbuffers::FlatBufferBuilder &_fbb)
const char *const * EnumNamesUnaryOperation()
void add_inputParams(flatbuffers::Offset< armnnSerializer::LstmInputParams > inputParams)
flatbuffers::Offset< SpaceToBatchNdDescriptor > CreateSpaceToBatchNdDescriptor(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< flatbuffers::Vector< uint32_t >> blockShape=0, flatbuffers::Offset< flatbuffers::Vector< uint32_t >> padList=0, armnnSerializer::DataLayout dataLayout=armnnSerializer::DataLayout_NHWC)
const char * EnumNameLayerType(LayerType e)
InstanceNormalizationDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
const armnnSerializer::SerializedGraph * GetSizePrefixedSerializedGraph(const void *buf)
flatbuffers::Offset< PermuteDescriptor > CreatePermuteDescriptorDirect(flatbuffers::FlatBufferBuilder &_fbb, const std::vector< uint32_t > *dimMappings=nullptr)
VT_INPUTLAYERNORMWEIGHTS
void add_origins(flatbuffers::Offset< armnnSerializer::OriginsDescriptor > origins)
const armnnSerializer::TransposeLayer * layer_as_TransposeLayer() const
const armnnSerializer::InstanceNormalizationDescriptor * descriptor() const
flatbuffers::FlatBufferBuilder & fbb_
PermuteLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
flatbuffers::Offset< MergeLayer > Finish()
flatbuffers::Offset< SerializedGraph > CreateSerializedGraph(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< flatbuffers::Vector< flatbuffers::Offset< armnnSerializer::AnyLayer >>> layers=0, flatbuffers::Offset< flatbuffers::Vector< int32_t >> inputIds=0, flatbuffers::Offset< flatbuffers::Vector< int32_t >> outputIds=0, flatbuffers::Offset< armnnSerializer::FeatureCompatibilityVersions > featureVersions=0)
void add_recurrentToCellWeights(flatbuffers::Offset< armnnSerializer::ConstTensor > recurrentToCellWeights)
void add_dimensionSpecificity(flatbuffers::Offset< flatbuffers::Vector< uint8_t >> dimensionSpecificity)
flatbuffers::Offset< TransposeDescriptor > Finish()
void add_descriptor(flatbuffers::Offset< armnnSerializer::SpaceToDepthDescriptor > descriptor)
const char *const * EnumNamesPaddingMethod()
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
DetectionPostProcessLayer Table
flatbuffers::Offset< ResizeBilinearLayer > Finish()
void add_descriptor(flatbuffers::Offset< armnnSerializer::OriginsDescriptor > descriptor)
OutputLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
const flatbuffers::Vector< flatbuffers::Offset< armnnSerializer::AnyLayer > > * layers() const
const char * EnumNameDataLayout(DataLayout e)
VT_FORGETLAYERNORMWEIGHTS
SpaceToDepthDescriptor DepthToSpaceDescriptor
A DepthToSpaceDescriptor for the DepthToSpaceLayer.
flatbuffers::Offset< LogicalBinaryDescriptor > CreateLogicalBinaryDescriptor(flatbuffers::FlatBufferBuilder &_fbb, armnnSerializer::LogicalBinaryOperation operation=armnnSerializer::LogicalBinaryOperation_LogicalAnd)
VT_INPUTTOINPUTWEIGHTS
VT_OUTPUTINTERMEDIATESCALE
flatbuffers::Offset< DivisionLayer > CreateDivisionLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0)
armnnSerializer::PaddingMethod paddingMethod() const
MinimumLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
SpaceToDepthLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_layers(flatbuffers::Offset< flatbuffers::Vector< flatbuffers::Offset< armnnSerializer::AnyLayer >>> layers)
const flatbuffers::Vector< flatbuffers::Offset< armnnSerializer::InputSlot > > * inputSlots() const
flatbuffers::Offset< LogicalBinaryLayer > CreateLogicalBinaryLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0, flatbuffers::Offset< armnnSerializer::LogicalBinaryDescriptor > descriptor=0)
const armnnSerializer::Pooling3dDescriptor * Pooling3dDescriptor
const armnnSerializer::DetectionPostProcessDescriptor * descriptor() const
const armnnSerializer::ConstTensor * input() const
const armnnSerializer::MinimumLayer * layer_as_MinimumLayer() const
const armnnSerializer::DepthToSpaceLayer * layer_as_DepthToSpaceLayer() const
const armnnSerializer::GatherDescriptor * descriptor() const
const armnnSerializer::Connection * connection() const
flatbuffers::FlatBufferBuilder & fbb_
void add_descriptor(flatbuffers::Offset< armnnSerializer::StandInDescriptor > descriptor)
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
PadLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
void add_data(flatbuffers::Offset< flatbuffers::Vector< uint32_t >> data)