ArmNN
 21.08
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 ComparisonDescriptor;
69 struct ComparisonDescriptorBuilder;
70 
71 struct ComparisonLayer;
72 struct ComparisonLayerBuilder;
73 
74 struct ConstantLayer;
75 struct ConstantLayerBuilder;
76 
77 struct Convolution2dLayer;
78 struct Convolution2dLayerBuilder;
79 
80 struct Convolution2dDescriptor;
81 struct Convolution2dDescriptorBuilder;
82 
83 struct DepthToSpaceLayer;
84 struct DepthToSpaceLayerBuilder;
85 
87 struct DepthToSpaceDescriptorBuilder;
88 
89 struct DivisionLayer;
90 struct DivisionLayerBuilder;
91 
92 struct ElementwiseUnaryDescriptor;
93 struct ElementwiseUnaryDescriptorBuilder;
94 
95 struct ElementwiseUnaryLayer;
96 struct ElementwiseUnaryLayerBuilder;
97 
98 struct EqualLayer;
99 struct EqualLayerBuilder;
100 
101 struct FillLayer;
102 struct FillLayerBuilder;
103 
104 struct FillDescriptor;
105 struct FillDescriptorBuilder;
106 
107 struct FloorLayer;
108 struct FloorLayerBuilder;
109 
110 struct FullyConnectedLayer;
111 struct FullyConnectedLayerBuilder;
112 
113 struct FullyConnectedDescriptor;
114 struct FullyConnectedDescriptorBuilder;
115 
116 struct GatherLayer;
117 struct GatherLayerBuilder;
118 
119 struct GatherDescriptor;
120 struct GatherDescriptorBuilder;
121 
122 struct GreaterLayer;
123 struct GreaterLayerBuilder;
124 
125 struct InputLayer;
126 struct InputLayerBuilder;
127 
128 struct InstanceNormalizationLayer;
129 struct InstanceNormalizationLayerBuilder;
130 
131 struct InstanceNormalizationDescriptor;
132 struct InstanceNormalizationDescriptorBuilder;
133 
134 struct LogSoftmaxLayer;
135 struct LogSoftmaxLayerBuilder;
136 
137 struct LogSoftmaxDescriptor;
138 struct LogSoftmaxDescriptorBuilder;
139 
140 struct L2NormalizationLayer;
141 struct L2NormalizationLayerBuilder;
142 
143 struct L2NormalizationDescriptor;
144 struct L2NormalizationDescriptorBuilder;
145 
146 struct LogicalBinaryDescriptor;
147 struct LogicalBinaryDescriptorBuilder;
148 
149 struct LogicalBinaryLayer;
150 struct LogicalBinaryLayerBuilder;
151 
152 struct MinimumLayer;
153 struct MinimumLayerBuilder;
154 
155 struct MaximumLayer;
156 struct MaximumLayerBuilder;
157 
158 struct MultiplicationLayer;
159 struct MultiplicationLayerBuilder;
160 
161 struct Pooling2dLayer;
162 struct Pooling2dLayerBuilder;
163 
164 struct Pooling2dDescriptor;
165 struct Pooling2dDescriptorBuilder;
166 
167 struct QuantizeLayer;
168 struct QuantizeLayerBuilder;
169 
170 struct SoftmaxLayer;
171 struct SoftmaxLayerBuilder;
172 
173 struct SoftmaxDescriptor;
174 struct SoftmaxDescriptorBuilder;
175 
176 struct DepthwiseConvolution2dLayer;
177 struct DepthwiseConvolution2dLayerBuilder;
178 
179 struct DepthwiseConvolution2dDescriptor;
180 struct DepthwiseConvolution2dDescriptorBuilder;
181 
182 struct OutputLayer;
183 struct OutputLayerBuilder;
184 
185 struct ReshapeLayer;
186 struct ReshapeLayerBuilder;
187 
188 struct ReshapeDescriptor;
189 struct ReshapeDescriptorBuilder;
190 
191 struct PermuteLayer;
192 struct PermuteLayerBuilder;
193 
194 struct PermuteDescriptor;
195 struct PermuteDescriptorBuilder;
196 
197 struct ShapeLayer;
198 struct ShapeLayerBuilder;
199 
200 struct SpaceToBatchNdLayer;
201 struct SpaceToBatchNdLayerBuilder;
202 
203 struct SpaceToBatchNdDescriptor;
204 struct SpaceToBatchNdDescriptorBuilder;
205 
206 struct SpaceToDepthLayer;
207 struct SpaceToDepthLayerBuilder;
208 
209 struct SpaceToDepthDescriptor;
210 struct SpaceToDepthDescriptorBuilder;
211 
212 struct SubtractionLayer;
213 struct SubtractionLayerBuilder;
214 
215 struct BatchToSpaceNdLayer;
216 struct BatchToSpaceNdLayerBuilder;
217 
218 struct BatchToSpaceNdDescriptor;
219 struct BatchToSpaceNdDescriptorBuilder;
220 
221 struct NormalizationLayer;
222 struct NormalizationLayerBuilder;
223 
224 struct NormalizationDescriptor;
225 struct NormalizationDescriptorBuilder;
226 
227 struct MeanLayer;
228 struct MeanLayerBuilder;
229 
230 struct MeanDescriptor;
231 struct MeanDescriptorBuilder;
232 
233 struct PadLayer;
234 struct PadLayerBuilder;
235 
236 struct PadDescriptor;
237 struct PadDescriptorBuilder;
238 
239 struct RsqrtLayer;
240 struct RsqrtLayerBuilder;
241 
242 struct BatchNormalizationLayer;
243 struct BatchNormalizationLayerBuilder;
244 
245 struct BatchNormalizationDescriptor;
246 struct BatchNormalizationDescriptorBuilder;
247 
248 struct ResizeBilinearLayer;
249 struct ResizeBilinearLayerBuilder;
250 
251 struct ResizeBilinearDescriptor;
252 struct ResizeBilinearDescriptorBuilder;
253 
254 struct SliceLayer;
255 struct SliceLayerBuilder;
256 
257 struct SliceDescriptor;
258 struct SliceDescriptorBuilder;
259 
260 struct StridedSliceLayer;
261 struct StridedSliceLayerBuilder;
262 
263 struct StridedSliceDescriptor;
264 struct StridedSliceDescriptorBuilder;
265 
266 struct ConcatLayer;
267 struct ConcatLayerBuilder;
268 
269 struct MergerLayer;
270 struct MergerLayerBuilder;
271 
272 struct UintVector;
273 struct UintVectorBuilder;
274 
275 struct OriginsDescriptor;
276 struct OriginsDescriptorBuilder;
277 
278 struct ViewsDescriptor;
279 struct ViewsDescriptorBuilder;
280 
281 struct SplitterLayer;
282 struct SplitterLayerBuilder;
283 
284 struct DetectionPostProcessLayer;
285 struct DetectionPostProcessLayerBuilder;
286 
287 struct DetectionPostProcessDescriptor;
288 struct DetectionPostProcessDescriptorBuilder;
289 
290 struct LstmInputParams;
291 struct LstmInputParamsBuilder;
292 
293 struct LstmDescriptor;
294 struct LstmDescriptorBuilder;
295 
296 struct LstmLayer;
297 struct LstmLayerBuilder;
298 
299 struct QLstmInputParams;
300 struct QLstmInputParamsBuilder;
301 
302 struct QLstmDescriptor;
303 struct QLstmDescriptorBuilder;
304 
305 struct QLstmLayer;
306 struct QLstmLayerBuilder;
307 
308 struct QuantizedLstmInputParams;
309 struct QuantizedLstmInputParamsBuilder;
310 
311 struct QuantizedLstmLayer;
312 struct QuantizedLstmLayerBuilder;
313 
314 struct DequantizeLayer;
315 struct DequantizeLayerBuilder;
316 
317 struct MergeLayer;
318 struct MergeLayerBuilder;
319 
320 struct SwitchLayer;
321 struct SwitchLayerBuilder;
322 
323 struct PreluLayer;
324 struct PreluLayerBuilder;
325 
326 struct TransposeConvolution2dLayer;
327 struct TransposeConvolution2dLayerBuilder;
328 
329 struct TransposeConvolution2dDescriptor;
330 struct TransposeConvolution2dDescriptorBuilder;
331 
332 struct TransposeLayer;
333 struct TransposeLayerBuilder;
334 
335 struct TransposeDescriptor;
336 struct TransposeDescriptorBuilder;
337 
338 struct ResizeLayer;
339 struct ResizeLayerBuilder;
340 
341 struct ResizeDescriptor;
342 struct ResizeDescriptorBuilder;
343 
344 struct StackLayer;
345 struct StackLayerBuilder;
346 
347 struct StackDescriptor;
348 struct StackDescriptorBuilder;
349 
350 struct StandInDescriptor;
351 struct StandInDescriptorBuilder;
352 
353 struct StandInLayer;
354 struct StandInLayerBuilder;
355 
356 struct RankLayer;
357 struct RankLayerBuilder;
358 
359 struct ReduceLayer;
360 struct ReduceLayerBuilder;
361 
362 struct ReduceDescriptor;
363 struct ReduceDescriptorBuilder;
364 
366 struct UnidirectionalSequenceLstmDescriptorBuilder;
367 
368 struct UnidirectionalSequenceLstmLayer;
369 struct UnidirectionalSequenceLstmLayerBuilder;
370 
371 struct AnyLayer;
372 struct AnyLayerBuilder;
373 
374 struct FeatureCompatibilityVersions;
375 struct FeatureCompatibilityVersionsBuilder;
376 
377 struct SerializedGraph;
378 struct SerializedGraphBuilder;
379 
395 };
396 
398  static const ActivationFunction values[] = {
411  };
412  return values;
413 }
414 
415 inline const char * const *EnumNamesActivationFunction() {
416  static const char * const names[13] = {
417  "Sigmoid",
418  "TanH",
419  "Linear",
420  "ReLu",
421  "BoundedReLu",
422  "SoftReLu",
423  "LeakyReLu",
424  "Abs",
425  "Sqrt",
426  "Square",
427  "Elu",
428  "HardSwish",
429  nullptr
430  };
431  return names;
432 }
433 
435  if (flatbuffers::IsOutRange(e, ActivationFunction_Sigmoid, ActivationFunction_HardSwish)) return "";
436  const size_t index = static_cast<size_t>(e);
437  return EnumNamesActivationFunction()[index];
438 }
439 
445 };
446 
448  static const ArgMinMaxFunction values[] = {
451  };
452  return values;
453 }
454 
455 inline const char * const *EnumNamesArgMinMaxFunction() {
456  static const char * const names[3] = {
457  "Min",
458  "Max",
459  nullptr
460  };
461  return names;
462 }
463 
465  if (flatbuffers::IsOutRange(e, ArgMinMaxFunction_Min, ArgMinMaxFunction_Max)) return "";
466  const size_t index = static_cast<size_t>(e);
467  return EnumNamesArgMinMaxFunction()[index];
468 }
469 
470 enum DataType {
484 };
485 
486 inline const DataType (&EnumValuesDataType())[11] {
487  static const DataType values[] = {
499  };
500  return values;
501 }
502 
503 inline const char * const *EnumNamesDataType() {
504  static const char * const names[12] = {
505  "Float16",
506  "Float32",
507  "QuantisedAsymm8",
508  "Signed32",
509  "Boolean",
510  "QuantisedSymm16",
511  "QAsymmU8",
512  "QSymmS16",
513  "QAsymmS8",
514  "QSymmS8",
515  "Signed64",
516  nullptr
517  };
518  return names;
519 }
520 
521 inline const char *EnumNameDataType(DataType e) {
522  if (flatbuffers::IsOutRange(e, DataType_Float16, DataType_Signed64)) return "";
523  const size_t index = static_cast<size_t>(e);
524  return EnumNamesDataType()[index];
525 }
526 
532 };
533 
534 inline const DataLayout (&EnumValuesDataLayout())[2] {
535  static const DataLayout values[] = {
538  };
539  return values;
540 }
541 
542 inline const char * const *EnumNamesDataLayout() {
543  static const char * const names[3] = {
544  "NHWC",
545  "NCHW",
546  nullptr
547  };
548  return names;
549 }
550 
551 inline const char *EnumNameDataLayout(DataLayout e) {
552  if (flatbuffers::IsOutRange(e, DataLayout_NHWC, DataLayout_NCHW)) return "";
553  const size_t index = static_cast<size_t>(e);
554  return EnumNamesDataLayout()[index];
555 }
556 
564 };
565 
567  static const ReduceOperation values[] = {
572  };
573  return values;
574 }
575 
576 inline const char * const *EnumNamesReduceOperation() {
577  static const char * const names[5] = {
578  "Sum",
579  "Max",
580  "Mean",
581  "Min",
582  nullptr
583  };
584  return names;
585 }
586 
588  if (flatbuffers::IsOutRange(e, ReduceOperation_Sum, ReduceOperation_Min)) return "";
589  const size_t index = static_cast<size_t>(e);
590  return EnumNamesReduceOperation()[index];
591 }
592 
598 };
599 
600 inline const ResizeMethod (&EnumValuesResizeMethod())[2] {
601  static const ResizeMethod values[] = {
604  };
605  return values;
606 }
607 
608 inline const char * const *EnumNamesResizeMethod() {
609  static const char * const names[3] = {
610  "NearestNeighbor",
611  "Bilinear",
612  nullptr
613  };
614  return names;
615 }
616 
617 inline const char *EnumNameResizeMethod(ResizeMethod e) {
618  if (flatbuffers::IsOutRange(e, ResizeMethod_NearestNeighbor, ResizeMethod_Bilinear)) return "";
619  const size_t index = static_cast<size_t>(e);
620  return EnumNamesResizeMethod()[index];
621 }
622 
631 };
632 
634  static const ConstTensorData values[] = {
640  };
641  return values;
642 }
643 
644 inline const char * const *EnumNamesConstTensorData() {
645  static const char * const names[6] = {
646  "NONE",
647  "ByteData",
648  "ShortData",
649  "IntData",
650  "LongData",
651  nullptr
652  };
653  return names;
654 }
655 
657  if (flatbuffers::IsOutRange(e, ConstTensorData_NONE, ConstTensorData_LongData)) return "";
658  const size_t index = static_cast<size_t>(e);
659  return EnumNamesConstTensorData()[index];
660 }
661 
662 template<typename T> struct ConstTensorDataTraits {
664 };
665 
666 template<> struct ConstTensorDataTraits<armnnSerializer::ByteData> {
668 };
669 
670 template<> struct ConstTensorDataTraits<armnnSerializer::ShortData> {
672 };
673 
674 template<> struct ConstTensorDataTraits<armnnSerializer::IntData> {
676 };
677 
678 template<> struct ConstTensorDataTraits<armnnSerializer::LongData> {
680 };
681 
682 bool VerifyConstTensorData(flatbuffers::Verifier &verifier, const void *obj, ConstTensorData type);
683 bool VerifyConstTensorDataVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types);
684 
685 enum LayerType {
752 };
753 
754 inline const LayerType (&EnumValuesLayerType())[64] {
755  static const LayerType values[] = {
820  };
821  return values;
822 }
823 
824 inline const char * const *EnumNamesLayerType() {
825  static const char * const names[65] = {
826  "Addition",
827  "Input",
828  "Multiplication",
829  "Output",
830  "Pooling2d",
831  "Reshape",
832  "Softmax",
833  "Convolution2d",
834  "DepthwiseConvolution2d",
835  "Activation",
836  "Permute",
837  "FullyConnected",
838  "Constant",
839  "SpaceToBatchNd",
840  "BatchToSpaceNd",
841  "Division",
842  "Minimum",
843  "Equal",
844  "Maximum",
845  "Normalization",
846  "Pad",
847  "Rsqrt",
848  "Floor",
849  "BatchNormalization",
850  "Greater",
851  "ResizeBilinear",
852  "Subtraction",
853  "StridedSlice",
854  "Gather",
855  "Mean",
856  "Merger",
857  "L2Normalization",
858  "Splitter",
859  "DetectionPostProcess",
860  "Lstm",
861  "Quantize",
862  "Dequantize",
863  "Merge",
864  "Switch",
865  "Concat",
866  "SpaceToDepth",
867  "Prelu",
868  "TransposeConvolution2d",
869  "Resize",
870  "Stack",
871  "QuantizedLstm",
872  "Abs",
873  "ArgMinMax",
874  "Slice",
875  "DepthToSpace",
876  "InstanceNormalization",
877  "LogSoftmax",
878  "Comparison",
879  "StandIn",
880  "ElementwiseUnary",
881  "Transpose",
882  "QLstm",
883  "Fill",
884  "Rank",
885  "LogicalBinary",
886  "Reduce",
887  "Cast",
888  "Shape",
889  "UnidirectionalSequenceLstm",
890  nullptr
891  };
892  return names;
893 }
894 
895 inline const char *EnumNameLayerType(LayerType e) {
896  if (flatbuffers::IsOutRange(e, LayerType_Addition, LayerType_UnidirectionalSequenceLstm)) return "";
897  const size_t index = static_cast<size_t>(e);
898  return EnumNamesLayerType()[index];
899 }
900 
910 };
911 
913  static const ComparisonOperation values[] = {
920  };
921  return values;
922 }
923 
924 inline const char * const *EnumNamesComparisonOperation() {
925  static const char * const names[7] = {
926  "Equal",
927  "Greater",
928  "GreaterOrEqual",
929  "Less",
930  "LessOrEqual",
931  "NotEqual",
932  nullptr
933  };
934  return names;
935 }
936 
938  if (flatbuffers::IsOutRange(e, ComparisonOperation_Equal, ComparisonOperation_NotEqual)) return "";
939  const size_t index = static_cast<size_t>(e);
940  return EnumNamesComparisonOperation()[index];
941 }
942 
954 };
955 
957  static const UnaryOperation values[] = {
966  };
967  return values;
968 }
969 
970 inline const char * const *EnumNamesUnaryOperation() {
971  static const char * const names[9] = {
972  "Abs",
973  "Rsqrt",
974  "Sqrt",
975  "Exp",
976  "Neg",
977  "LogicalNot",
978  "Log",
979  "Sin",
980  nullptr
981  };
982  return names;
983 }
984 
985 inline const char *EnumNameUnaryOperation(UnaryOperation e) {
986  if (flatbuffers::IsOutRange(e, UnaryOperation_Abs, UnaryOperation_Sin)) return "";
987  const size_t index = static_cast<size_t>(e);
988  return EnumNamesUnaryOperation()[index];
989 }
990 
996 };
997 
999  static const LogicalBinaryOperation values[] = {
1002  };
1003  return values;
1004 }
1005 
1006 inline const char * const *EnumNamesLogicalBinaryOperation() {
1007  static const char * const names[3] = {
1008  "LogicalAnd",
1009  "LogicalOr",
1010  nullptr
1011  };
1012  return names;
1013 }
1014 
1016  if (flatbuffers::IsOutRange(e, LogicalBinaryOperation_LogicalAnd, LogicalBinaryOperation_LogicalOr)) return "";
1017  const size_t index = static_cast<size_t>(e);
1018  return EnumNamesLogicalBinaryOperation()[index];
1019 }
1020 
1027 };
1028 
1030  static const PoolingAlgorithm values[] = {
1034  };
1035  return values;
1036 }
1037 
1038 inline const char * const *EnumNamesPoolingAlgorithm() {
1039  static const char * const names[4] = {
1040  "Max",
1041  "Average",
1042  "L2",
1043  nullptr
1044  };
1045  return names;
1046 }
1047 
1049  if (flatbuffers::IsOutRange(e, PoolingAlgorithm_Max, PoolingAlgorithm_L2)) return "";
1050  const size_t index = static_cast<size_t>(e);
1051  return EnumNamesPoolingAlgorithm()[index];
1052 }
1053 
1059 };
1060 
1062  static const OutputShapeRounding values[] = {
1065  };
1066  return values;
1067 }
1068 
1069 inline const char * const *EnumNamesOutputShapeRounding() {
1070  static const char * const names[3] = {
1071  "Floor",
1072  "Ceiling",
1073  nullptr
1074  };
1075  return names;
1076 }
1077 
1079  if (flatbuffers::IsOutRange(e, OutputShapeRounding_Floor, OutputShapeRounding_Ceiling)) return "";
1080  const size_t index = static_cast<size_t>(e);
1081  return EnumNamesOutputShapeRounding()[index];
1082 }
1083 
1089 };
1090 
1092  static const PaddingMethod values[] = {
1095  };
1096  return values;
1097 }
1098 
1099 inline const char * const *EnumNamesPaddingMethod() {
1100  static const char * const names[3] = {
1101  "IgnoreValue",
1102  "Exclude",
1103  nullptr
1104  };
1105  return names;
1106 }
1107 
1108 inline const char *EnumNamePaddingMethod(PaddingMethod e) {
1109  if (flatbuffers::IsOutRange(e, PaddingMethod_IgnoreValue, PaddingMethod_Exclude)) return "";
1110  const size_t index = static_cast<size_t>(e);
1111  return EnumNamesPaddingMethod()[index];
1112 }
1113 
1119 };
1120 
1122  static const NormalizationAlgorithmChannel values[] = {
1125  };
1126  return values;
1127 }
1128 
1129 inline const char * const *EnumNamesNormalizationAlgorithmChannel() {
1130  static const char * const names[3] = {
1131  "Across",
1132  "Within",
1133  nullptr
1134  };
1135  return names;
1136 }
1137 
1139  if (flatbuffers::IsOutRange(e, NormalizationAlgorithmChannel_Across, NormalizationAlgorithmChannel_Within)) return "";
1140  const size_t index = static_cast<size_t>(e);
1142 }
1143 
1149 };
1150 
1152  static const NormalizationAlgorithmMethod values[] = {
1155  };
1156  return values;
1157 }
1158 
1159 inline const char * const *EnumNamesNormalizationAlgorithmMethod() {
1160  static const char * const names[3] = {
1161  "LocalBrightness",
1162  "LocalContrast",
1163  nullptr
1164  };
1165  return names;
1166 }
1167 
1170  const size_t index = static_cast<size_t>(e);
1171  return EnumNamesNormalizationAlgorithmMethod()[index];
1172 }
1173 
1174 enum Layer {
1242 };
1243 
1244 inline const Layer (&EnumValuesLayer())[65] {
1245  static const Layer values[] = {
1246  Layer_NONE,
1311  };
1312  return values;
1313 }
1314 
1315 inline const char * const *EnumNamesLayer() {
1316  static const char * const names[66] = {
1317  "NONE",
1318  "ActivationLayer",
1319  "AdditionLayer",
1320  "BatchToSpaceNdLayer",
1321  "BatchNormalizationLayer",
1322  "ConstantLayer",
1323  "Convolution2dLayer",
1324  "DepthwiseConvolution2dLayer",
1325  "FullyConnectedLayer",
1326  "InputLayer",
1327  "MultiplicationLayer",
1328  "OutputLayer",
1329  "PermuteLayer",
1330  "Pooling2dLayer",
1331  "ReshapeLayer",
1332  "SoftmaxLayer",
1333  "SpaceToBatchNdLayer",
1334  "DivisionLayer",
1335  "MinimumLayer",
1336  "EqualLayer",
1337  "MaximumLayer",
1338  "NormalizationLayer",
1339  "PadLayer",
1340  "RsqrtLayer",
1341  "FloorLayer",
1342  "GreaterLayer",
1343  "ResizeBilinearLayer",
1344  "SubtractionLayer",
1345  "StridedSliceLayer",
1346  "GatherLayer",
1347  "MeanLayer",
1348  "MergerLayer",
1349  "L2NormalizationLayer",
1350  "SplitterLayer",
1351  "DetectionPostProcessLayer",
1352  "LstmLayer",
1353  "QuantizedLstmLayer",
1354  "QuantizeLayer",
1355  "DequantizeLayer",
1356  "MergeLayer",
1357  "SwitchLayer",
1358  "ConcatLayer",
1359  "SpaceToDepthLayer",
1360  "PreluLayer",
1361  "TransposeConvolution2dLayer",
1362  "ResizeLayer",
1363  "StackLayer",
1364  "AbsLayer",
1365  "ArgMinMaxLayer",
1366  "SliceLayer",
1367  "DepthToSpaceLayer",
1368  "InstanceNormalizationLayer",
1369  "LogSoftmaxLayer",
1370  "ComparisonLayer",
1371  "StandInLayer",
1372  "ElementwiseUnaryLayer",
1373  "TransposeLayer",
1374  "QLstmLayer",
1375  "FillLayer",
1376  "RankLayer",
1377  "LogicalBinaryLayer",
1378  "ReduceLayer",
1379  "CastLayer",
1380  "ShapeLayer",
1381  "UnidirectionalSequenceLstmLayer",
1382  nullptr
1383  };
1384  return names;
1385 }
1386 
1387 inline const char *EnumNameLayer(Layer e) {
1388  if (flatbuffers::IsOutRange(e, Layer_NONE, Layer_UnidirectionalSequenceLstmLayer)) return "";
1389  const size_t index = static_cast<size_t>(e);
1390  return EnumNamesLayer()[index];
1391 }
1392 
1393 template<typename T> struct LayerTraits {
1394  static const Layer enum_value = Layer_NONE;
1395 };
1396 
1397 template<> struct LayerTraits<armnnSerializer::ActivationLayer> {
1399 };
1400 
1401 template<> struct LayerTraits<armnnSerializer::AdditionLayer> {
1403 };
1404 
1405 template<> struct LayerTraits<armnnSerializer::BatchToSpaceNdLayer> {
1407 };
1408 
1409 template<> struct LayerTraits<armnnSerializer::BatchNormalizationLayer> {
1411 };
1412 
1413 template<> struct LayerTraits<armnnSerializer::ConstantLayer> {
1415 };
1416 
1417 template<> struct LayerTraits<armnnSerializer::Convolution2dLayer> {
1419 };
1420 
1421 template<> struct LayerTraits<armnnSerializer::DepthwiseConvolution2dLayer> {
1423 };
1424 
1425 template<> struct LayerTraits<armnnSerializer::FullyConnectedLayer> {
1427 };
1428 
1429 template<> struct LayerTraits<armnnSerializer::InputLayer> {
1431 };
1432 
1433 template<> struct LayerTraits<armnnSerializer::MultiplicationLayer> {
1435 };
1436 
1437 template<> struct LayerTraits<armnnSerializer::OutputLayer> {
1439 };
1440 
1441 template<> struct LayerTraits<armnnSerializer::PermuteLayer> {
1443 };
1444 
1445 template<> struct LayerTraits<armnnSerializer::Pooling2dLayer> {
1447 };
1448 
1449 template<> struct LayerTraits<armnnSerializer::ReshapeLayer> {
1451 };
1452 
1453 template<> struct LayerTraits<armnnSerializer::SoftmaxLayer> {
1455 };
1456 
1457 template<> struct LayerTraits<armnnSerializer::SpaceToBatchNdLayer> {
1459 };
1460 
1461 template<> struct LayerTraits<armnnSerializer::DivisionLayer> {
1463 };
1464 
1465 template<> struct LayerTraits<armnnSerializer::MinimumLayer> {
1467 };
1468 
1469 template<> struct LayerTraits<armnnSerializer::EqualLayer> {
1471 };
1472 
1473 template<> struct LayerTraits<armnnSerializer::MaximumLayer> {
1475 };
1476 
1477 template<> struct LayerTraits<armnnSerializer::NormalizationLayer> {
1479 };
1480 
1481 template<> struct LayerTraits<armnnSerializer::PadLayer> {
1483 };
1484 
1485 template<> struct LayerTraits<armnnSerializer::RsqrtLayer> {
1487 };
1488 
1489 template<> struct LayerTraits<armnnSerializer::FloorLayer> {
1491 };
1492 
1493 template<> struct LayerTraits<armnnSerializer::GreaterLayer> {
1495 };
1496 
1497 template<> struct LayerTraits<armnnSerializer::ResizeBilinearLayer> {
1499 };
1500 
1501 template<> struct LayerTraits<armnnSerializer::SubtractionLayer> {
1503 };
1504 
1505 template<> struct LayerTraits<armnnSerializer::StridedSliceLayer> {
1507 };
1508 
1509 template<> struct LayerTraits<armnnSerializer::GatherLayer> {
1511 };
1512 
1513 template<> struct LayerTraits<armnnSerializer::MeanLayer> {
1515 };
1516 
1519 };
1520 
1521 template<> struct LayerTraits<armnnSerializer::L2NormalizationLayer> {
1523 };
1524 
1525 template<> struct LayerTraits<armnnSerializer::SplitterLayer> {
1527 };
1528 
1529 template<> struct LayerTraits<armnnSerializer::DetectionPostProcessLayer> {
1531 };
1532 
1533 template<> struct LayerTraits<armnnSerializer::LstmLayer> {
1535 };
1536 
1537 template<> struct LayerTraits<armnnSerializer::QuantizedLstmLayer> {
1539 };
1540 
1541 template<> struct LayerTraits<armnnSerializer::QuantizeLayer> {
1543 };
1544 
1545 template<> struct LayerTraits<armnnSerializer::DequantizeLayer> {
1547 };
1548 
1549 template<> struct LayerTraits<armnnSerializer::MergeLayer> {
1551 };
1552 
1553 template<> struct LayerTraits<armnnSerializer::SwitchLayer> {
1555 };
1556 
1557 template<> struct LayerTraits<armnnSerializer::ConcatLayer> {
1559 };
1560 
1561 template<> struct LayerTraits<armnnSerializer::SpaceToDepthLayer> {
1563 };
1564 
1565 template<> struct LayerTraits<armnnSerializer::PreluLayer> {
1567 };
1568 
1569 template<> struct LayerTraits<armnnSerializer::TransposeConvolution2dLayer> {
1571 };
1572 
1573 template<> struct LayerTraits<armnnSerializer::ResizeLayer> {
1575 };
1576 
1577 template<> struct LayerTraits<armnnSerializer::StackLayer> {
1579 };
1580 
1581 template<> struct LayerTraits<armnnSerializer::AbsLayer> {
1583 };
1584 
1585 template<> struct LayerTraits<armnnSerializer::ArgMinMaxLayer> {
1587 };
1588 
1589 template<> struct LayerTraits<armnnSerializer::SliceLayer> {
1591 };
1592 
1593 template<> struct LayerTraits<armnnSerializer::DepthToSpaceLayer> {
1595 };
1596 
1597 template<> struct LayerTraits<armnnSerializer::InstanceNormalizationLayer> {
1599 };
1600 
1601 template<> struct LayerTraits<armnnSerializer::LogSoftmaxLayer> {
1603 };
1604 
1605 template<> struct LayerTraits<armnnSerializer::ComparisonLayer> {
1607 };
1608 
1609 template<> struct LayerTraits<armnnSerializer::StandInLayer> {
1611 };
1612 
1613 template<> struct LayerTraits<armnnSerializer::ElementwiseUnaryLayer> {
1615 };
1616 
1617 template<> struct LayerTraits<armnnSerializer::TransposeLayer> {
1619 };
1620 
1621 template<> struct LayerTraits<armnnSerializer::QLstmLayer> {
1623 };
1624 
1625 template<> struct LayerTraits<armnnSerializer::FillLayer> {
1627 };
1628 
1629 template<> struct LayerTraits<armnnSerializer::RankLayer> {
1631 };
1632 
1633 template<> struct LayerTraits<armnnSerializer::LogicalBinaryLayer> {
1635 };
1636 
1637 template<> struct LayerTraits<armnnSerializer::ReduceLayer> {
1639 };
1640 
1641 template<> struct LayerTraits<armnnSerializer::CastLayer> {
1643 };
1644 
1645 template<> struct LayerTraits<armnnSerializer::ShapeLayer> {
1647 };
1648 
1649 template<> struct LayerTraits<armnnSerializer::UnidirectionalSequenceLstmLayer> {
1651 };
1652 
1653 bool VerifyLayer(flatbuffers::Verifier &verifier, const void *obj, Layer type);
1654 bool VerifyLayerVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types);
1655 
1657  private:
1658  uint32_t sourceLayerIndex_;
1659  uint32_t outputSlotIndex_;
1660 
1661  public:
1662  Connection() {
1663  memset(static_cast<void *>(this), 0, sizeof(Connection));
1664  }
1665  Connection(uint32_t _sourceLayerIndex, uint32_t _outputSlotIndex)
1666  : sourceLayerIndex_(flatbuffers::EndianScalar(_sourceLayerIndex)),
1667  outputSlotIndex_(flatbuffers::EndianScalar(_outputSlotIndex)) {
1668  }
1669  uint32_t sourceLayerIndex() const {
1670  return flatbuffers::EndianScalar(sourceLayerIndex_);
1671  }
1672  uint32_t outputSlotIndex() const {
1673  return flatbuffers::EndianScalar(outputSlotIndex_);
1674  }
1675 };
1676 FLATBUFFERS_STRUCT_END(Connection, 8);
1677 
1678 struct TensorInfo FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1680  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1689  VT_ISCONSTANT = 20
1690  };
1691  const flatbuffers::Vector<uint32_t> *dimensions() const {
1692  return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_DIMENSIONS);
1693  }
1695  return static_cast<armnnSerializer::DataType>(GetField<int8_t>(VT_DATATYPE, 0));
1696  }
1697  float quantizationScale() const {
1698  return GetField<float>(VT_QUANTIZATIONSCALE, 1.0f);
1699  }
1700  int32_t quantizationOffset() const {
1701  return GetField<int32_t>(VT_QUANTIZATIONOFFSET, 0);
1702  }
1703  const flatbuffers::Vector<float> *quantizationScales() const {
1704  return GetPointer<const flatbuffers::Vector<float> *>(VT_QUANTIZATIONSCALES);
1705  }
1706  uint32_t quantizationDim() const {
1707  return GetField<uint32_t>(VT_QUANTIZATIONDIM, 0);
1708  }
1709  uint32_t dimensionality() const {
1710  return GetField<uint32_t>(VT_DIMENSIONALITY, 1);
1711  }
1712  const flatbuffers::Vector<uint8_t> *dimensionSpecificity() const {
1713  return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_DIMENSIONSPECIFICITY);
1714  }
1715  bool isConstant() const {
1716  return GetField<uint8_t>(VT_ISCONSTANT, 0) != 0;
1717  }
1718  bool Verify(flatbuffers::Verifier &verifier) const {
1719  return VerifyTableStart(verifier) &&
1720  VerifyOffset(verifier, VT_DIMENSIONS) &&
1721  verifier.VerifyVector(dimensions()) &&
1722  VerifyField<int8_t>(verifier, VT_DATATYPE) &&
1723  VerifyField<float>(verifier, VT_QUANTIZATIONSCALE) &&
1724  VerifyField<int32_t>(verifier, VT_QUANTIZATIONOFFSET) &&
1725  VerifyOffset(verifier, VT_QUANTIZATIONSCALES) &&
1726  verifier.VerifyVector(quantizationScales()) &&
1727  VerifyField<uint32_t>(verifier, VT_QUANTIZATIONDIM) &&
1728  VerifyField<uint32_t>(verifier, VT_DIMENSIONALITY) &&
1729  VerifyOffset(verifier, VT_DIMENSIONSPECIFICITY) &&
1730  verifier.VerifyVector(dimensionSpecificity()) &&
1731  VerifyField<uint8_t>(verifier, VT_ISCONSTANT) &&
1732  verifier.EndTable();
1733  }
1734 };
1735 
1737  typedef TensorInfo Table;
1738  flatbuffers::FlatBufferBuilder &fbb_;
1739  flatbuffers::uoffset_t start_;
1740  void add_dimensions(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> dimensions) {
1741  fbb_.AddOffset(TensorInfo::VT_DIMENSIONS, dimensions);
1742  }
1744  fbb_.AddElement<int8_t>(TensorInfo::VT_DATATYPE, static_cast<int8_t>(dataType), 0);
1745  }
1746  void add_quantizationScale(float quantizationScale) {
1747  fbb_.AddElement<float>(TensorInfo::VT_QUANTIZATIONSCALE, quantizationScale, 1.0f);
1748  }
1749  void add_quantizationOffset(int32_t quantizationOffset) {
1750  fbb_.AddElement<int32_t>(TensorInfo::VT_QUANTIZATIONOFFSET, quantizationOffset, 0);
1751  }
1752  void add_quantizationScales(flatbuffers::Offset<flatbuffers::Vector<float>> quantizationScales) {
1753  fbb_.AddOffset(TensorInfo::VT_QUANTIZATIONSCALES, quantizationScales);
1754  }
1755  void add_quantizationDim(uint32_t quantizationDim) {
1756  fbb_.AddElement<uint32_t>(TensorInfo::VT_QUANTIZATIONDIM, quantizationDim, 0);
1757  }
1758  void add_dimensionality(uint32_t dimensionality) {
1759  fbb_.AddElement<uint32_t>(TensorInfo::VT_DIMENSIONALITY, dimensionality, 1);
1760  }
1761  void add_dimensionSpecificity(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> dimensionSpecificity) {
1762  fbb_.AddOffset(TensorInfo::VT_DIMENSIONSPECIFICITY, dimensionSpecificity);
1763  }
1764  void add_isConstant(bool isConstant) {
1765  fbb_.AddElement<uint8_t>(TensorInfo::VT_ISCONSTANT, static_cast<uint8_t>(isConstant), 0);
1766  }
1767  explicit TensorInfoBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1768  : fbb_(_fbb) {
1769  start_ = fbb_.StartTable();
1770  }
1771  TensorInfoBuilder &operator=(const TensorInfoBuilder &);
1772  flatbuffers::Offset<TensorInfo> Finish() {
1773  const auto end = fbb_.EndTable(start_);
1774  auto o = flatbuffers::Offset<TensorInfo>(end);
1775  return o;
1776  }
1777 };
1778 
1779 inline flatbuffers::Offset<TensorInfo> CreateTensorInfo(
1780  flatbuffers::FlatBufferBuilder &_fbb,
1781  flatbuffers::Offset<flatbuffers::Vector<uint32_t>> dimensions = 0,
1783  float quantizationScale = 1.0f,
1784  int32_t quantizationOffset = 0,
1785  flatbuffers::Offset<flatbuffers::Vector<float>> quantizationScales = 0,
1786  uint32_t quantizationDim = 0,
1787  uint32_t dimensionality = 1,
1788  flatbuffers::Offset<flatbuffers::Vector<uint8_t>> dimensionSpecificity = 0,
1789  bool isConstant = false) {
1790  TensorInfoBuilder builder_(_fbb);
1791  builder_.add_dimensionSpecificity(dimensionSpecificity);
1792  builder_.add_dimensionality(dimensionality);
1793  builder_.add_quantizationDim(quantizationDim);
1794  builder_.add_quantizationScales(quantizationScales);
1795  builder_.add_quantizationOffset(quantizationOffset);
1796  builder_.add_quantizationScale(quantizationScale);
1797  builder_.add_dimensions(dimensions);
1798  builder_.add_isConstant(isConstant);
1799  builder_.add_dataType(dataType);
1800  return builder_.Finish();
1801 }
1802 
1803 inline flatbuffers::Offset<TensorInfo> CreateTensorInfoDirect(
1804  flatbuffers::FlatBufferBuilder &_fbb,
1805  const std::vector<uint32_t> *dimensions = nullptr,
1807  float quantizationScale = 1.0f,
1808  int32_t quantizationOffset = 0,
1809  const std::vector<float> *quantizationScales = nullptr,
1810  uint32_t quantizationDim = 0,
1811  uint32_t dimensionality = 1,
1812  const std::vector<uint8_t> *dimensionSpecificity = nullptr,
1813  bool isConstant = false) {
1814  auto dimensions__ = dimensions ? _fbb.CreateVector<uint32_t>(*dimensions) : 0;
1815  auto quantizationScales__ = quantizationScales ? _fbb.CreateVector<float>(*quantizationScales) : 0;
1816  auto dimensionSpecificity__ = dimensionSpecificity ? _fbb.CreateVector<uint8_t>(*dimensionSpecificity) : 0;
1818  _fbb,
1819  dimensions__,
1820  dataType,
1821  quantizationScale,
1822  quantizationOffset,
1823  quantizationScales__,
1824  quantizationDim,
1825  dimensionality,
1826  dimensionSpecificity__,
1827  isConstant);
1828 }
1829 
1830 struct ByteData FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1832  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1833  VT_DATA = 4
1834  };
1835  const flatbuffers::Vector<int8_t> *data() const {
1836  return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_DATA);
1837  }
1838  bool Verify(flatbuffers::Verifier &verifier) const {
1839  return VerifyTableStart(verifier) &&
1840  VerifyOffset(verifier, VT_DATA) &&
1841  verifier.VerifyVector(data()) &&
1842  verifier.EndTable();
1843  }
1844 };
1845 
1847  typedef ByteData Table;
1848  flatbuffers::FlatBufferBuilder &fbb_;
1849  flatbuffers::uoffset_t start_;
1850  void add_data(flatbuffers::Offset<flatbuffers::Vector<int8_t>> data) {
1851  fbb_.AddOffset(ByteData::VT_DATA, data);
1852  }
1853  explicit ByteDataBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1854  : fbb_(_fbb) {
1855  start_ = fbb_.StartTable();
1856  }
1857  ByteDataBuilder &operator=(const ByteDataBuilder &);
1858  flatbuffers::Offset<ByteData> Finish() {
1859  const auto end = fbb_.EndTable(start_);
1860  auto o = flatbuffers::Offset<ByteData>(end);
1861  return o;
1862  }
1863 };
1864 
1865 inline flatbuffers::Offset<ByteData> CreateByteData(
1866  flatbuffers::FlatBufferBuilder &_fbb,
1867  flatbuffers::Offset<flatbuffers::Vector<int8_t>> data = 0) {
1868  ByteDataBuilder builder_(_fbb);
1869  builder_.add_data(data);
1870  return builder_.Finish();
1871 }
1872 
1873 inline flatbuffers::Offset<ByteData> CreateByteDataDirect(
1874  flatbuffers::FlatBufferBuilder &_fbb,
1875  const std::vector<int8_t> *data = nullptr) {
1876  auto data__ = data ? _fbb.CreateVector<int8_t>(*data) : 0;
1878  _fbb,
1879  data__);
1880 }
1881 
1882 struct ShortData FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1884  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1885  VT_DATA = 4
1886  };
1887  const flatbuffers::Vector<int16_t> *data() const {
1888  return GetPointer<const flatbuffers::Vector<int16_t> *>(VT_DATA);
1889  }
1890  bool Verify(flatbuffers::Verifier &verifier) const {
1891  return VerifyTableStart(verifier) &&
1892  VerifyOffset(verifier, VT_DATA) &&
1893  verifier.VerifyVector(data()) &&
1894  verifier.EndTable();
1895  }
1896 };
1897 
1899  typedef ShortData Table;
1900  flatbuffers::FlatBufferBuilder &fbb_;
1901  flatbuffers::uoffset_t start_;
1902  void add_data(flatbuffers::Offset<flatbuffers::Vector<int16_t>> data) {
1903  fbb_.AddOffset(ShortData::VT_DATA, data);
1904  }
1905  explicit ShortDataBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1906  : fbb_(_fbb) {
1907  start_ = fbb_.StartTable();
1908  }
1909  ShortDataBuilder &operator=(const ShortDataBuilder &);
1910  flatbuffers::Offset<ShortData> Finish() {
1911  const auto end = fbb_.EndTable(start_);
1912  auto o = flatbuffers::Offset<ShortData>(end);
1913  return o;
1914  }
1915 };
1916 
1917 inline flatbuffers::Offset<ShortData> CreateShortData(
1918  flatbuffers::FlatBufferBuilder &_fbb,
1919  flatbuffers::Offset<flatbuffers::Vector<int16_t>> data = 0) {
1920  ShortDataBuilder builder_(_fbb);
1921  builder_.add_data(data);
1922  return builder_.Finish();
1923 }
1924 
1925 inline flatbuffers::Offset<ShortData> CreateShortDataDirect(
1926  flatbuffers::FlatBufferBuilder &_fbb,
1927  const std::vector<int16_t> *data = nullptr) {
1928  auto data__ = data ? _fbb.CreateVector<int16_t>(*data) : 0;
1930  _fbb,
1931  data__);
1932 }
1933 
1934 struct IntData FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1936  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1937  VT_DATA = 4
1938  };
1939  const flatbuffers::Vector<int32_t> *data() const {
1940  return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_DATA);
1941  }
1942  bool Verify(flatbuffers::Verifier &verifier) const {
1943  return VerifyTableStart(verifier) &&
1944  VerifyOffset(verifier, VT_DATA) &&
1945  verifier.VerifyVector(data()) &&
1946  verifier.EndTable();
1947  }
1948 };
1949 
1951  typedef IntData Table;
1952  flatbuffers::FlatBufferBuilder &fbb_;
1953  flatbuffers::uoffset_t start_;
1954  void add_data(flatbuffers::Offset<flatbuffers::Vector<int32_t>> data) {
1955  fbb_.AddOffset(IntData::VT_DATA, data);
1956  }
1957  explicit IntDataBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1958  : fbb_(_fbb) {
1959  start_ = fbb_.StartTable();
1960  }
1961  IntDataBuilder &operator=(const IntDataBuilder &);
1962  flatbuffers::Offset<IntData> Finish() {
1963  const auto end = fbb_.EndTable(start_);
1964  auto o = flatbuffers::Offset<IntData>(end);
1965  return o;
1966  }
1967 };
1968 
1969 inline flatbuffers::Offset<IntData> CreateIntData(
1970  flatbuffers::FlatBufferBuilder &_fbb,
1971  flatbuffers::Offset<flatbuffers::Vector<int32_t>> data = 0) {
1972  IntDataBuilder builder_(_fbb);
1973  builder_.add_data(data);
1974  return builder_.Finish();
1975 }
1976 
1977 inline flatbuffers::Offset<IntData> CreateIntDataDirect(
1978  flatbuffers::FlatBufferBuilder &_fbb,
1979  const std::vector<int32_t> *data = nullptr) {
1980  auto data__ = data ? _fbb.CreateVector<int32_t>(*data) : 0;
1982  _fbb,
1983  data__);
1984 }
1985 
1986 struct LongData FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1988  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1989  VT_DATA = 4
1990  };
1991  const flatbuffers::Vector<int64_t> *data() const {
1992  return GetPointer<const flatbuffers::Vector<int64_t> *>(VT_DATA);
1993  }
1994  bool Verify(flatbuffers::Verifier &verifier) const {
1995  return VerifyTableStart(verifier) &&
1996  VerifyOffset(verifier, VT_DATA) &&
1997  verifier.VerifyVector(data()) &&
1998  verifier.EndTable();
1999  }
2000 };
2001 
2003  typedef LongData Table;
2004  flatbuffers::FlatBufferBuilder &fbb_;
2005  flatbuffers::uoffset_t start_;
2006  void add_data(flatbuffers::Offset<flatbuffers::Vector<int64_t>> data) {
2007  fbb_.AddOffset(LongData::VT_DATA, data);
2008  }
2009  explicit LongDataBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2010  : fbb_(_fbb) {
2011  start_ = fbb_.StartTable();
2012  }
2013  LongDataBuilder &operator=(const LongDataBuilder &);
2014  flatbuffers::Offset<LongData> Finish() {
2015  const auto end = fbb_.EndTable(start_);
2016  auto o = flatbuffers::Offset<LongData>(end);
2017  return o;
2018  }
2019 };
2020 
2021 inline flatbuffers::Offset<LongData> CreateLongData(
2022  flatbuffers::FlatBufferBuilder &_fbb,
2023  flatbuffers::Offset<flatbuffers::Vector<int64_t>> data = 0) {
2024  LongDataBuilder builder_(_fbb);
2025  builder_.add_data(data);
2026  return builder_.Finish();
2027 }
2028 
2029 inline flatbuffers::Offset<LongData> CreateLongDataDirect(
2030  flatbuffers::FlatBufferBuilder &_fbb,
2031  const std::vector<int64_t> *data = nullptr) {
2032  auto data__ = data ? _fbb.CreateVector<int64_t>(*data) : 0;
2034  _fbb,
2035  data__);
2036 }
2037 
2038 struct ConstTensor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2040  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2041  VT_INFO = 4,
2043  VT_DATA = 8
2044  };
2045  const armnnSerializer::TensorInfo *info() const {
2046  return GetPointer<const armnnSerializer::TensorInfo *>(VT_INFO);
2047  }
2049  return static_cast<armnnSerializer::ConstTensorData>(GetField<uint8_t>(VT_DATA_TYPE, 0));
2050  }
2051  const void *data() const {
2052  return GetPointer<const void *>(VT_DATA);
2053  }
2054  template<typename T> const T *data_as() const;
2055  const armnnSerializer::ByteData *data_as_ByteData() const {
2056  return data_type() == armnnSerializer::ConstTensorData_ByteData ? static_cast<const armnnSerializer::ByteData *>(data()) : nullptr;
2057  }
2058  const armnnSerializer::ShortData *data_as_ShortData() const {
2059  return data_type() == armnnSerializer::ConstTensorData_ShortData ? static_cast<const armnnSerializer::ShortData *>(data()) : nullptr;
2060  }
2061  const armnnSerializer::IntData *data_as_IntData() const {
2062  return data_type() == armnnSerializer::ConstTensorData_IntData ? static_cast<const armnnSerializer::IntData *>(data()) : nullptr;
2063  }
2064  const armnnSerializer::LongData *data_as_LongData() const {
2065  return data_type() == armnnSerializer::ConstTensorData_LongData ? static_cast<const armnnSerializer::LongData *>(data()) : nullptr;
2066  }
2067  bool Verify(flatbuffers::Verifier &verifier) const {
2068  return VerifyTableStart(verifier) &&
2069  VerifyOffset(verifier, VT_INFO) &&
2070  verifier.VerifyTable(info()) &&
2071  VerifyField<uint8_t>(verifier, VT_DATA_TYPE) &&
2072  VerifyOffset(verifier, VT_DATA) &&
2073  VerifyConstTensorData(verifier, data(), data_type()) &&
2074  verifier.EndTable();
2075  }
2076 };
2077 
2078 template<> inline const armnnSerializer::ByteData *ConstTensor::data_as<armnnSerializer::ByteData>() const {
2079  return data_as_ByteData();
2080 }
2081 
2082 template<> inline const armnnSerializer::ShortData *ConstTensor::data_as<armnnSerializer::ShortData>() const {
2083  return data_as_ShortData();
2084 }
2085 
2086 template<> inline const armnnSerializer::IntData *ConstTensor::data_as<armnnSerializer::IntData>() const {
2087  return data_as_IntData();
2088 }
2089 
2090 template<> inline const armnnSerializer::LongData *ConstTensor::data_as<armnnSerializer::LongData>() const {
2091  return data_as_LongData();
2092 }
2093 
2095  typedef ConstTensor Table;
2096  flatbuffers::FlatBufferBuilder &fbb_;
2097  flatbuffers::uoffset_t start_;
2098  void add_info(flatbuffers::Offset<armnnSerializer::TensorInfo> info) {
2099  fbb_.AddOffset(ConstTensor::VT_INFO, info);
2100  }
2102  fbb_.AddElement<uint8_t>(ConstTensor::VT_DATA_TYPE, static_cast<uint8_t>(data_type), 0);
2103  }
2104  void add_data(flatbuffers::Offset<void> data) {
2105  fbb_.AddOffset(ConstTensor::VT_DATA, data);
2106  }
2107  explicit ConstTensorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2108  : fbb_(_fbb) {
2109  start_ = fbb_.StartTable();
2110  }
2111  ConstTensorBuilder &operator=(const ConstTensorBuilder &);
2112  flatbuffers::Offset<ConstTensor> Finish() {
2113  const auto end = fbb_.EndTable(start_);
2114  auto o = flatbuffers::Offset<ConstTensor>(end);
2115  return o;
2116  }
2117 };
2118 
2119 inline flatbuffers::Offset<ConstTensor> CreateConstTensor(
2120  flatbuffers::FlatBufferBuilder &_fbb,
2121  flatbuffers::Offset<armnnSerializer::TensorInfo> info = 0,
2123  flatbuffers::Offset<void> data = 0) {
2124  ConstTensorBuilder builder_(_fbb);
2125  builder_.add_data(data);
2126  builder_.add_info(info);
2127  builder_.add_data_type(data_type);
2128  return builder_.Finish();
2129 }
2130 
2131 struct InputSlot FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2133  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2135  VT_CONNECTION = 6
2136  };
2137  uint32_t index() const {
2138  return GetField<uint32_t>(VT_INDEX, 0);
2139  }
2140  const armnnSerializer::Connection *connection() const {
2141  return GetStruct<const armnnSerializer::Connection *>(VT_CONNECTION);
2142  }
2143  bool Verify(flatbuffers::Verifier &verifier) const {
2144  return VerifyTableStart(verifier) &&
2145  VerifyField<uint32_t>(verifier, VT_INDEX) &&
2146  VerifyField<armnnSerializer::Connection>(verifier, VT_CONNECTION) &&
2147  verifier.EndTable();
2148  }
2149 };
2150 
2152  typedef InputSlot Table;
2153  flatbuffers::FlatBufferBuilder &fbb_;
2154  flatbuffers::uoffset_t start_;
2155  void add_index(uint32_t index) {
2156  fbb_.AddElement<uint32_t>(InputSlot::VT_INDEX, index, 0);
2157  }
2158  void add_connection(const armnnSerializer::Connection *connection) {
2159  fbb_.AddStruct(InputSlot::VT_CONNECTION, connection);
2160  }
2161  explicit InputSlotBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2162  : fbb_(_fbb) {
2163  start_ = fbb_.StartTable();
2164  }
2165  InputSlotBuilder &operator=(const InputSlotBuilder &);
2166  flatbuffers::Offset<InputSlot> Finish() {
2167  const auto end = fbb_.EndTable(start_);
2168  auto o = flatbuffers::Offset<InputSlot>(end);
2169  return o;
2170  }
2171 };
2172 
2173 inline flatbuffers::Offset<InputSlot> CreateInputSlot(
2174  flatbuffers::FlatBufferBuilder &_fbb,
2175  uint32_t index = 0,
2176  const armnnSerializer::Connection *connection = 0) {
2177  InputSlotBuilder builder_(_fbb);
2178  builder_.add_connection(connection);
2179  builder_.add_index(index);
2180  return builder_.Finish();
2181 }
2182 
2183 struct OutputSlot FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2185  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2186  VT_INDEX = 4,
2187  VT_TENSORINFO = 6
2188  };
2189  uint32_t index() const {
2190  return GetField<uint32_t>(VT_INDEX, 0);
2191  }
2192  const armnnSerializer::TensorInfo *tensorInfo() const {
2193  return GetPointer<const armnnSerializer::TensorInfo *>(VT_TENSORINFO);
2194  }
2195  bool Verify(flatbuffers::Verifier &verifier) const {
2196  return VerifyTableStart(verifier) &&
2197  VerifyField<uint32_t>(verifier, VT_INDEX) &&
2198  VerifyOffset(verifier, VT_TENSORINFO) &&
2199  verifier.VerifyTable(tensorInfo()) &&
2200  verifier.EndTable();
2201  }
2202 };
2203 
2205  typedef OutputSlot Table;
2206  flatbuffers::FlatBufferBuilder &fbb_;
2207  flatbuffers::uoffset_t start_;
2208  void add_index(uint32_t index) {
2209  fbb_.AddElement<uint32_t>(OutputSlot::VT_INDEX, index, 0);
2210  }
2211  void add_tensorInfo(flatbuffers::Offset<armnnSerializer::TensorInfo> tensorInfo) {
2212  fbb_.AddOffset(OutputSlot::VT_TENSORINFO, tensorInfo);
2213  }
2214  explicit OutputSlotBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2215  : fbb_(_fbb) {
2216  start_ = fbb_.StartTable();
2217  }
2218  OutputSlotBuilder &operator=(const OutputSlotBuilder &);
2219  flatbuffers::Offset<OutputSlot> Finish() {
2220  const auto end = fbb_.EndTable(start_);
2221  auto o = flatbuffers::Offset<OutputSlot>(end);
2222  return o;
2223  }
2224 };
2225 
2226 inline flatbuffers::Offset<OutputSlot> CreateOutputSlot(
2227  flatbuffers::FlatBufferBuilder &_fbb,
2228  uint32_t index = 0,
2229  flatbuffers::Offset<armnnSerializer::TensorInfo> tensorInfo = 0) {
2230  OutputSlotBuilder builder_(_fbb);
2231  builder_.add_tensorInfo(tensorInfo);
2232  builder_.add_index(index);
2233  return builder_.Finish();
2234 }
2235 
2236 struct LayerBase FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2238  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2239  VT_INDEX = 4,
2243  VT_OUTPUTSLOTS = 12
2244  };
2245  uint32_t index() const {
2246  return GetField<uint32_t>(VT_INDEX, 0);
2247  }
2248  const flatbuffers::String *layerName() const {
2249  return GetPointer<const flatbuffers::String *>(VT_LAYERNAME);
2250  }
2252  return static_cast<armnnSerializer::LayerType>(GetField<uint32_t>(VT_LAYERTYPE, 0));
2253  }
2254  const flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::InputSlot>> *inputSlots() const {
2255  return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::InputSlot>> *>(VT_INPUTSLOTS);
2256  }
2257  const flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::OutputSlot>> *outputSlots() const {
2258  return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::OutputSlot>> *>(VT_OUTPUTSLOTS);
2259  }
2260  bool Verify(flatbuffers::Verifier &verifier) const {
2261  return VerifyTableStart(verifier) &&
2262  VerifyField<uint32_t>(verifier, VT_INDEX) &&
2263  VerifyOffset(verifier, VT_LAYERNAME) &&
2264  verifier.VerifyString(layerName()) &&
2265  VerifyField<uint32_t>(verifier, VT_LAYERTYPE) &&
2266  VerifyOffset(verifier, VT_INPUTSLOTS) &&
2267  verifier.VerifyVector(inputSlots()) &&
2268  verifier.VerifyVectorOfTables(inputSlots()) &&
2269  VerifyOffset(verifier, VT_OUTPUTSLOTS) &&
2270  verifier.VerifyVector(outputSlots()) &&
2271  verifier.VerifyVectorOfTables(outputSlots()) &&
2272  verifier.EndTable();
2273  }
2274 };
2275 
2277  typedef LayerBase Table;
2278  flatbuffers::FlatBufferBuilder &fbb_;
2279  flatbuffers::uoffset_t start_;
2280  void add_index(uint32_t index) {
2281  fbb_.AddElement<uint32_t>(LayerBase::VT_INDEX, index, 0);
2282  }
2283  void add_layerName(flatbuffers::Offset<flatbuffers::String> layerName) {
2284  fbb_.AddOffset(LayerBase::VT_LAYERNAME, layerName);
2285  }
2287  fbb_.AddElement<uint32_t>(LayerBase::VT_LAYERTYPE, static_cast<uint32_t>(layerType), 0);
2288  }
2289  void add_inputSlots(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::InputSlot>>> inputSlots) {
2290  fbb_.AddOffset(LayerBase::VT_INPUTSLOTS, inputSlots);
2291  }
2292  void add_outputSlots(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::OutputSlot>>> outputSlots) {
2293  fbb_.AddOffset(LayerBase::VT_OUTPUTSLOTS, outputSlots);
2294  }
2295  explicit LayerBaseBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2296  : fbb_(_fbb) {
2297  start_ = fbb_.StartTable();
2298  }
2299  LayerBaseBuilder &operator=(const LayerBaseBuilder &);
2300  flatbuffers::Offset<LayerBase> Finish() {
2301  const auto end = fbb_.EndTable(start_);
2302  auto o = flatbuffers::Offset<LayerBase>(end);
2303  return o;
2304  }
2305 };
2306 
2307 inline flatbuffers::Offset<LayerBase> CreateLayerBase(
2308  flatbuffers::FlatBufferBuilder &_fbb,
2309  uint32_t index = 0,
2310  flatbuffers::Offset<flatbuffers::String> layerName = 0,
2312  flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::InputSlot>>> inputSlots = 0,
2313  flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::OutputSlot>>> outputSlots = 0) {
2314  LayerBaseBuilder builder_(_fbb);
2315  builder_.add_outputSlots(outputSlots);
2316  builder_.add_inputSlots(inputSlots);
2317  builder_.add_layerType(layerType);
2318  builder_.add_layerName(layerName);
2319  builder_.add_index(index);
2320  return builder_.Finish();
2321 }
2322 
2323 inline flatbuffers::Offset<LayerBase> CreateLayerBaseDirect(
2324  flatbuffers::FlatBufferBuilder &_fbb,
2325  uint32_t index = 0,
2326  const char *layerName = nullptr,
2328  const std::vector<flatbuffers::Offset<armnnSerializer::InputSlot>> *inputSlots = nullptr,
2329  const std::vector<flatbuffers::Offset<armnnSerializer::OutputSlot>> *outputSlots = nullptr) {
2330  auto layerName__ = layerName ? _fbb.CreateString(layerName) : 0;
2331  auto inputSlots__ = inputSlots ? _fbb.CreateVector<flatbuffers::Offset<armnnSerializer::InputSlot>>(*inputSlots) : 0;
2332  auto outputSlots__ = outputSlots ? _fbb.CreateVector<flatbuffers::Offset<armnnSerializer::OutputSlot>>(*outputSlots) : 0;
2334  _fbb,
2335  index,
2336  layerName__,
2337  layerType,
2338  inputSlots__,
2339  outputSlots__);
2340 }
2341 
2342 struct BindableLayerBase FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2344  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2345  VT_BASE = 4,
2346  VT_LAYERBINDINGID = 6
2347  };
2348  const armnnSerializer::LayerBase *base() const {
2349  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
2350  }
2351  int32_t layerBindingId() const {
2352  return GetField<int32_t>(VT_LAYERBINDINGID, 0);
2353  }
2354  bool Verify(flatbuffers::Verifier &verifier) const {
2355  return VerifyTableStart(verifier) &&
2356  VerifyOffset(verifier, VT_BASE) &&
2357  verifier.VerifyTable(base()) &&
2358  VerifyField<int32_t>(verifier, VT_LAYERBINDINGID) &&
2359  verifier.EndTable();
2360  }
2361 };
2362 
2364  typedef BindableLayerBase Table;
2365  flatbuffers::FlatBufferBuilder &fbb_;
2366  flatbuffers::uoffset_t start_;
2367  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
2368  fbb_.AddOffset(BindableLayerBase::VT_BASE, base);
2369  }
2370  void add_layerBindingId(int32_t layerBindingId) {
2371  fbb_.AddElement<int32_t>(BindableLayerBase::VT_LAYERBINDINGID, layerBindingId, 0);
2372  }
2373  explicit BindableLayerBaseBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2374  : fbb_(_fbb) {
2375  start_ = fbb_.StartTable();
2376  }
2378  flatbuffers::Offset<BindableLayerBase> Finish() {
2379  const auto end = fbb_.EndTable(start_);
2380  auto o = flatbuffers::Offset<BindableLayerBase>(end);
2381  return o;
2382  }
2383 };
2384 
2385 inline flatbuffers::Offset<BindableLayerBase> CreateBindableLayerBase(
2386  flatbuffers::FlatBufferBuilder &_fbb,
2387  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
2388  int32_t layerBindingId = 0) {
2389  BindableLayerBaseBuilder builder_(_fbb);
2390  builder_.add_layerBindingId(layerBindingId);
2391  builder_.add_base(base);
2392  return builder_.Finish();
2393 }
2394 
2395 /// @deprecated Use ElementwiseUnaryLayer instead
2396 struct AbsLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2398  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2399  VT_BASE = 4
2400  };
2401  const armnnSerializer::LayerBase *base() const {
2402  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
2403  }
2404  bool Verify(flatbuffers::Verifier &verifier) const {
2405  return VerifyTableStart(verifier) &&
2406  VerifyOffset(verifier, VT_BASE) &&
2407  verifier.VerifyTable(base()) &&
2408  verifier.EndTable();
2409  }
2410 };
2411 
2413  typedef AbsLayer Table;
2414  flatbuffers::FlatBufferBuilder &fbb_;
2415  flatbuffers::uoffset_t start_;
2416  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
2417  fbb_.AddOffset(AbsLayer::VT_BASE, base);
2418  }
2419  explicit AbsLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2420  : fbb_(_fbb) {
2421  start_ = fbb_.StartTable();
2422  }
2423  AbsLayerBuilder &operator=(const AbsLayerBuilder &);
2424  flatbuffers::Offset<AbsLayer> Finish() {
2425  const auto end = fbb_.EndTable(start_);
2426  auto o = flatbuffers::Offset<AbsLayer>(end);
2427  return o;
2428  }
2429 };
2430 
2431 inline flatbuffers::Offset<AbsLayer> CreateAbsLayer(
2432  flatbuffers::FlatBufferBuilder &_fbb,
2433  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
2434  AbsLayerBuilder builder_(_fbb);
2435  builder_.add_base(base);
2436  return builder_.Finish();
2437 }
2438 
2439 struct ActivationLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2441  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2442  VT_BASE = 4,
2443  VT_DESCRIPTOR = 6
2444  };
2445  const armnnSerializer::LayerBase *base() const {
2446  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
2447  }
2448  const armnnSerializer::ActivationDescriptor *descriptor() const {
2449  return GetPointer<const armnnSerializer::ActivationDescriptor *>(VT_DESCRIPTOR);
2450  }
2451  bool Verify(flatbuffers::Verifier &verifier) const {
2452  return VerifyTableStart(verifier) &&
2453  VerifyOffset(verifier, VT_BASE) &&
2454  verifier.VerifyTable(base()) &&
2455  VerifyOffset(verifier, VT_DESCRIPTOR) &&
2456  verifier.VerifyTable(descriptor()) &&
2457  verifier.EndTable();
2458  }
2459 };
2460 
2462  typedef ActivationLayer Table;
2463  flatbuffers::FlatBufferBuilder &fbb_;
2464  flatbuffers::uoffset_t start_;
2465  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
2466  fbb_.AddOffset(ActivationLayer::VT_BASE, base);
2467  }
2468  void add_descriptor(flatbuffers::Offset<armnnSerializer::ActivationDescriptor> descriptor) {
2469  fbb_.AddOffset(ActivationLayer::VT_DESCRIPTOR, descriptor);
2470  }
2471  explicit ActivationLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2472  : fbb_(_fbb) {
2473  start_ = fbb_.StartTable();
2474  }
2475  ActivationLayerBuilder &operator=(const ActivationLayerBuilder &);
2476  flatbuffers::Offset<ActivationLayer> Finish() {
2477  const auto end = fbb_.EndTable(start_);
2478  auto o = flatbuffers::Offset<ActivationLayer>(end);
2479  return o;
2480  }
2481 };
2482 
2483 inline flatbuffers::Offset<ActivationLayer> CreateActivationLayer(
2484  flatbuffers::FlatBufferBuilder &_fbb,
2485  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
2486  flatbuffers::Offset<armnnSerializer::ActivationDescriptor> descriptor = 0) {
2487  ActivationLayerBuilder builder_(_fbb);
2488  builder_.add_descriptor(descriptor);
2489  builder_.add_base(base);
2490  return builder_.Finish();
2491 }
2492 
2493 struct ActivationDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2495  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2497  VT_A = 6,
2498  VT_B = 8
2499  };
2501  return static_cast<armnnSerializer::ActivationFunction>(GetField<int8_t>(VT_ACTIVATIONFUNCTION, 0));
2502  }
2503  float a() const {
2504  return GetField<float>(VT_A, 0.0f);
2505  }
2506  float b() const {
2507  return GetField<float>(VT_B, 0.0f);
2508  }
2509  bool Verify(flatbuffers::Verifier &verifier) const {
2510  return VerifyTableStart(verifier) &&
2511  VerifyField<int8_t>(verifier, VT_ACTIVATIONFUNCTION) &&
2512  VerifyField<float>(verifier, VT_A) &&
2513  VerifyField<float>(verifier, VT_B) &&
2514  verifier.EndTable();
2515  }
2516 };
2517 
2519  typedef ActivationDescriptor Table;
2520  flatbuffers::FlatBufferBuilder &fbb_;
2521  flatbuffers::uoffset_t start_;
2523  fbb_.AddElement<int8_t>(ActivationDescriptor::VT_ACTIVATIONFUNCTION, static_cast<int8_t>(activationFunction), 0);
2524  }
2525  void add_a(float a) {
2526  fbb_.AddElement<float>(ActivationDescriptor::VT_A, a, 0.0f);
2527  }
2528  void add_b(float b) {
2529  fbb_.AddElement<float>(ActivationDescriptor::VT_B, b, 0.0f);
2530  }
2531  explicit ActivationDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2532  : fbb_(_fbb) {
2533  start_ = fbb_.StartTable();
2534  }
2536  flatbuffers::Offset<ActivationDescriptor> Finish() {
2537  const auto end = fbb_.EndTable(start_);
2538  auto o = flatbuffers::Offset<ActivationDescriptor>(end);
2539  return o;
2540  }
2541 };
2542 
2543 inline flatbuffers::Offset<ActivationDescriptor> CreateActivationDescriptor(
2544  flatbuffers::FlatBufferBuilder &_fbb,
2546  float a = 0.0f,
2547  float b = 0.0f) {
2548  ActivationDescriptorBuilder builder_(_fbb);
2549  builder_.add_b(b);
2550  builder_.add_a(a);
2551  builder_.add_activationFunction(activationFunction);
2552  return builder_.Finish();
2553 }
2554 
2555 struct AdditionLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2557  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2558  VT_BASE = 4
2559  };
2560  const armnnSerializer::LayerBase *base() const {
2561  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
2562  }
2563  bool Verify(flatbuffers::Verifier &verifier) const {
2564  return VerifyTableStart(verifier) &&
2565  VerifyOffset(verifier, VT_BASE) &&
2566  verifier.VerifyTable(base()) &&
2567  verifier.EndTable();
2568  }
2569 };
2570 
2572  typedef AdditionLayer Table;
2573  flatbuffers::FlatBufferBuilder &fbb_;
2574  flatbuffers::uoffset_t start_;
2575  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
2576  fbb_.AddOffset(AdditionLayer::VT_BASE, base);
2577  }
2578  explicit AdditionLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2579  : fbb_(_fbb) {
2580  start_ = fbb_.StartTable();
2581  }
2582  AdditionLayerBuilder &operator=(const AdditionLayerBuilder &);
2583  flatbuffers::Offset<AdditionLayer> Finish() {
2584  const auto end = fbb_.EndTable(start_);
2585  auto o = flatbuffers::Offset<AdditionLayer>(end);
2586  return o;
2587  }
2588 };
2589 
2590 inline flatbuffers::Offset<AdditionLayer> CreateAdditionLayer(
2591  flatbuffers::FlatBufferBuilder &_fbb,
2592  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
2593  AdditionLayerBuilder builder_(_fbb);
2594  builder_.add_base(base);
2595  return builder_.Finish();
2596 }
2597 
2598 struct ArgMinMaxLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2600  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2601  VT_BASE = 4,
2602  VT_DESCRIPTOR = 6
2603  };
2604  const armnnSerializer::LayerBase *base() const {
2605  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
2606  }
2607  const armnnSerializer::ArgMinMaxDescriptor *descriptor() const {
2608  return GetPointer<const armnnSerializer::ArgMinMaxDescriptor *>(VT_DESCRIPTOR);
2609  }
2610  bool Verify(flatbuffers::Verifier &verifier) const {
2611  return VerifyTableStart(verifier) &&
2612  VerifyOffset(verifier, VT_BASE) &&
2613  verifier.VerifyTable(base()) &&
2614  VerifyOffset(verifier, VT_DESCRIPTOR) &&
2615  verifier.VerifyTable(descriptor()) &&
2616  verifier.EndTable();
2617  }
2618 };
2619 
2621  typedef ArgMinMaxLayer Table;
2622  flatbuffers::FlatBufferBuilder &fbb_;
2623  flatbuffers::uoffset_t start_;
2624  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
2625  fbb_.AddOffset(ArgMinMaxLayer::VT_BASE, base);
2626  }
2627  void add_descriptor(flatbuffers::Offset<armnnSerializer::ArgMinMaxDescriptor> descriptor) {
2628  fbb_.AddOffset(ArgMinMaxLayer::VT_DESCRIPTOR, descriptor);
2629  }
2630  explicit ArgMinMaxLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2631  : fbb_(_fbb) {
2632  start_ = fbb_.StartTable();
2633  }
2634  ArgMinMaxLayerBuilder &operator=(const ArgMinMaxLayerBuilder &);
2635  flatbuffers::Offset<ArgMinMaxLayer> Finish() {
2636  const auto end = fbb_.EndTable(start_);
2637  auto o = flatbuffers::Offset<ArgMinMaxLayer>(end);
2638  return o;
2639  }
2640 };
2641 
2642 inline flatbuffers::Offset<ArgMinMaxLayer> CreateArgMinMaxLayer(
2643  flatbuffers::FlatBufferBuilder &_fbb,
2644  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
2645  flatbuffers::Offset<armnnSerializer::ArgMinMaxDescriptor> descriptor = 0) {
2646  ArgMinMaxLayerBuilder builder_(_fbb);
2647  builder_.add_descriptor(descriptor);
2648  builder_.add_base(base);
2649  return builder_.Finish();
2650 }
2651 
2652 struct ArgMinMaxDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2654  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2656  VT_AXIS = 6
2657  };
2659  return static_cast<armnnSerializer::ArgMinMaxFunction>(GetField<int8_t>(VT_ARGMINMAXFUNCTION, 0));
2660  }
2661  int32_t axis() const {
2662  return GetField<int32_t>(VT_AXIS, 0);
2663  }
2664  bool Verify(flatbuffers::Verifier &verifier) const {
2665  return VerifyTableStart(verifier) &&
2666  VerifyField<int8_t>(verifier, VT_ARGMINMAXFUNCTION) &&
2667  VerifyField<int32_t>(verifier, VT_AXIS) &&
2668  verifier.EndTable();
2669  }
2670 };
2671 
2673  typedef ArgMinMaxDescriptor Table;
2674  flatbuffers::FlatBufferBuilder &fbb_;
2675  flatbuffers::uoffset_t start_;
2677  fbb_.AddElement<int8_t>(ArgMinMaxDescriptor::VT_ARGMINMAXFUNCTION, static_cast<int8_t>(argMinMaxFunction), 0);
2678  }
2679  void add_axis(int32_t axis) {
2680  fbb_.AddElement<int32_t>(ArgMinMaxDescriptor::VT_AXIS, axis, 0);
2681  }
2682  explicit ArgMinMaxDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2683  : fbb_(_fbb) {
2684  start_ = fbb_.StartTable();
2685  }
2687  flatbuffers::Offset<ArgMinMaxDescriptor> Finish() {
2688  const auto end = fbb_.EndTable(start_);
2689  auto o = flatbuffers::Offset<ArgMinMaxDescriptor>(end);
2690  return o;
2691  }
2692 };
2693 
2694 inline flatbuffers::Offset<ArgMinMaxDescriptor> CreateArgMinMaxDescriptor(
2695  flatbuffers::FlatBufferBuilder &_fbb,
2697  int32_t axis = 0) {
2698  ArgMinMaxDescriptorBuilder builder_(_fbb);
2699  builder_.add_axis(axis);
2700  builder_.add_argMinMaxFunction(argMinMaxFunction);
2701  return builder_.Finish();
2702 }
2703 
2704 struct CastLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2706  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2707  VT_BASE = 4
2708  };
2709  const armnnSerializer::LayerBase *base() const {
2710  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
2711  }
2712  bool Verify(flatbuffers::Verifier &verifier) const {
2713  return VerifyTableStart(verifier) &&
2714  VerifyOffset(verifier, VT_BASE) &&
2715  verifier.VerifyTable(base()) &&
2716  verifier.EndTable();
2717  }
2718 };
2719 
2721  typedef CastLayer Table;
2722  flatbuffers::FlatBufferBuilder &fbb_;
2723  flatbuffers::uoffset_t start_;
2724  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
2725  fbb_.AddOffset(CastLayer::VT_BASE, base);
2726  }
2727  explicit CastLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2728  : fbb_(_fbb) {
2729  start_ = fbb_.StartTable();
2730  }
2731  CastLayerBuilder &operator=(const CastLayerBuilder &);
2732  flatbuffers::Offset<CastLayer> Finish() {
2733  const auto end = fbb_.EndTable(start_);
2734  auto o = flatbuffers::Offset<CastLayer>(end);
2735  return o;
2736  }
2737 };
2738 
2739 inline flatbuffers::Offset<CastLayer> CreateCastLayer(
2740  flatbuffers::FlatBufferBuilder &_fbb,
2741  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
2742  CastLayerBuilder builder_(_fbb);
2743  builder_.add_base(base);
2744  return builder_.Finish();
2745 }
2746 
2747 struct ComparisonDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2749  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2750  VT_OPERATION = 4
2751  };
2753  return static_cast<armnnSerializer::ComparisonOperation>(GetField<int8_t>(VT_OPERATION, 0));
2754  }
2755  bool Verify(flatbuffers::Verifier &verifier) const {
2756  return VerifyTableStart(verifier) &&
2757  VerifyField<int8_t>(verifier, VT_OPERATION) &&
2758  verifier.EndTable();
2759  }
2760 };
2761 
2763  typedef ComparisonDescriptor Table;
2764  flatbuffers::FlatBufferBuilder &fbb_;
2765  flatbuffers::uoffset_t start_;
2767  fbb_.AddElement<int8_t>(ComparisonDescriptor::VT_OPERATION, static_cast<int8_t>(operation), 0);
2768  }
2769  explicit ComparisonDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2770  : fbb_(_fbb) {
2771  start_ = fbb_.StartTable();
2772  }
2774  flatbuffers::Offset<ComparisonDescriptor> Finish() {
2775  const auto end = fbb_.EndTable(start_);
2776  auto o = flatbuffers::Offset<ComparisonDescriptor>(end);
2777  return o;
2778  }
2779 };
2780 
2781 inline flatbuffers::Offset<ComparisonDescriptor> CreateComparisonDescriptor(
2782  flatbuffers::FlatBufferBuilder &_fbb,
2784  ComparisonDescriptorBuilder builder_(_fbb);
2785  builder_.add_operation(operation);
2786  return builder_.Finish();
2787 }
2788 
2789 struct ComparisonLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2791  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2792  VT_BASE = 4,
2793  VT_DESCRIPTOR = 6
2794  };
2795  const armnnSerializer::LayerBase *base() const {
2796  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
2797  }
2798  const armnnSerializer::ComparisonDescriptor *descriptor() const {
2799  return GetPointer<const armnnSerializer::ComparisonDescriptor *>(VT_DESCRIPTOR);
2800  }
2801  bool Verify(flatbuffers::Verifier &verifier) const {
2802  return VerifyTableStart(verifier) &&
2803  VerifyOffset(verifier, VT_BASE) &&
2804  verifier.VerifyTable(base()) &&
2805  VerifyOffset(verifier, VT_DESCRIPTOR) &&
2806  verifier.VerifyTable(descriptor()) &&
2807  verifier.EndTable();
2808  }
2809 };
2810 
2812  typedef ComparisonLayer Table;
2813  flatbuffers::FlatBufferBuilder &fbb_;
2814  flatbuffers::uoffset_t start_;
2815  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
2816  fbb_.AddOffset(ComparisonLayer::VT_BASE, base);
2817  }
2818  void add_descriptor(flatbuffers::Offset<armnnSerializer::ComparisonDescriptor> descriptor) {
2819  fbb_.AddOffset(ComparisonLayer::VT_DESCRIPTOR, descriptor);
2820  }
2821  explicit ComparisonLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2822  : fbb_(_fbb) {
2823  start_ = fbb_.StartTable();
2824  }
2825  ComparisonLayerBuilder &operator=(const ComparisonLayerBuilder &);
2826  flatbuffers::Offset<ComparisonLayer> Finish() {
2827  const auto end = fbb_.EndTable(start_);
2828  auto o = flatbuffers::Offset<ComparisonLayer>(end);
2829  return o;
2830  }
2831 };
2832 
2833 inline flatbuffers::Offset<ComparisonLayer> CreateComparisonLayer(
2834  flatbuffers::FlatBufferBuilder &_fbb,
2835  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
2836  flatbuffers::Offset<armnnSerializer::ComparisonDescriptor> descriptor = 0) {
2837  ComparisonLayerBuilder builder_(_fbb);
2838  builder_.add_descriptor(descriptor);
2839  builder_.add_base(base);
2840  return builder_.Finish();
2841 }
2842 
2843 struct ConstantLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2845  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2846  VT_BASE = 4,
2847  VT_INPUT = 6
2848  };
2849  const armnnSerializer::LayerBase *base() const {
2850  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
2851  }
2852  const armnnSerializer::ConstTensor *input() const {
2853  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUT);
2854  }
2855  bool Verify(flatbuffers::Verifier &verifier) const {
2856  return VerifyTableStart(verifier) &&
2857  VerifyOffset(verifier, VT_BASE) &&
2858  verifier.VerifyTable(base()) &&
2859  VerifyOffset(verifier, VT_INPUT) &&
2860  verifier.VerifyTable(input()) &&
2861  verifier.EndTable();
2862  }
2863 };
2864 
2866  typedef ConstantLayer Table;
2867  flatbuffers::FlatBufferBuilder &fbb_;
2868  flatbuffers::uoffset_t start_;
2869  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
2870  fbb_.AddOffset(ConstantLayer::VT_BASE, base);
2871  }
2872  void add_input(flatbuffers::Offset<armnnSerializer::ConstTensor> input) {
2873  fbb_.AddOffset(ConstantLayer::VT_INPUT, input);
2874  }
2875  explicit ConstantLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2876  : fbb_(_fbb) {
2877  start_ = fbb_.StartTable();
2878  }
2879  ConstantLayerBuilder &operator=(const ConstantLayerBuilder &);
2880  flatbuffers::Offset<ConstantLayer> Finish() {
2881  const auto end = fbb_.EndTable(start_);
2882  auto o = flatbuffers::Offset<ConstantLayer>(end);
2883  return o;
2884  }
2885 };
2886 
2887 inline flatbuffers::Offset<ConstantLayer> CreateConstantLayer(
2888  flatbuffers::FlatBufferBuilder &_fbb,
2889  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
2890  flatbuffers::Offset<armnnSerializer::ConstTensor> input = 0) {
2891  ConstantLayerBuilder builder_(_fbb);
2892  builder_.add_input(input);
2893  builder_.add_base(base);
2894  return builder_.Finish();
2895 }
2896 
2897 struct Convolution2dLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2899  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2900  VT_BASE = 4,
2903  VT_BIASES = 10
2904  };
2905  const armnnSerializer::LayerBase *base() const {
2906  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
2907  }
2908  const armnnSerializer::Convolution2dDescriptor *descriptor() const {
2909  return GetPointer<const armnnSerializer::Convolution2dDescriptor *>(VT_DESCRIPTOR);
2910  }
2911  const armnnSerializer::ConstTensor *weights() const {
2912  return GetPointer<const armnnSerializer::ConstTensor *>(VT_WEIGHTS);
2913  }
2914  const armnnSerializer::ConstTensor *biases() const {
2915  return GetPointer<const armnnSerializer::ConstTensor *>(VT_BIASES);
2916  }
2917  bool Verify(flatbuffers::Verifier &verifier) const {
2918  return VerifyTableStart(verifier) &&
2919  VerifyOffset(verifier, VT_BASE) &&
2920  verifier.VerifyTable(base()) &&
2921  VerifyOffset(verifier, VT_DESCRIPTOR) &&
2922  verifier.VerifyTable(descriptor()) &&
2923  VerifyOffset(verifier, VT_WEIGHTS) &&
2924  verifier.VerifyTable(weights()) &&
2925  VerifyOffset(verifier, VT_BIASES) &&
2926  verifier.VerifyTable(biases()) &&
2927  verifier.EndTable();
2928  }
2929 };
2930 
2932  typedef Convolution2dLayer Table;
2933  flatbuffers::FlatBufferBuilder &fbb_;
2934  flatbuffers::uoffset_t start_;
2935  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
2936  fbb_.AddOffset(Convolution2dLayer::VT_BASE, base);
2937  }
2938  void add_descriptor(flatbuffers::Offset<armnnSerializer::Convolution2dDescriptor> descriptor) {
2939  fbb_.AddOffset(Convolution2dLayer::VT_DESCRIPTOR, descriptor);
2940  }
2941  void add_weights(flatbuffers::Offset<armnnSerializer::ConstTensor> weights) {
2942  fbb_.AddOffset(Convolution2dLayer::VT_WEIGHTS, weights);
2943  }
2944  void add_biases(flatbuffers::Offset<armnnSerializer::ConstTensor> biases) {
2945  fbb_.AddOffset(Convolution2dLayer::VT_BIASES, biases);
2946  }
2947  explicit Convolution2dLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2948  : fbb_(_fbb) {
2949  start_ = fbb_.StartTable();
2950  }
2952  flatbuffers::Offset<Convolution2dLayer> Finish() {
2953  const auto end = fbb_.EndTable(start_);
2954  auto o = flatbuffers::Offset<Convolution2dLayer>(end);
2955  return o;
2956  }
2957 };
2958 
2959 inline flatbuffers::Offset<Convolution2dLayer> CreateConvolution2dLayer(
2960  flatbuffers::FlatBufferBuilder &_fbb,
2961  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
2962  flatbuffers::Offset<armnnSerializer::Convolution2dDescriptor> descriptor = 0,
2963  flatbuffers::Offset<armnnSerializer::ConstTensor> weights = 0,
2964  flatbuffers::Offset<armnnSerializer::ConstTensor> biases = 0) {
2965  Convolution2dLayerBuilder builder_(_fbb);
2966  builder_.add_biases(biases);
2967  builder_.add_weights(weights);
2968  builder_.add_descriptor(descriptor);
2969  builder_.add_base(base);
2970  return builder_.Finish();
2971 }
2972 
2973 struct Convolution2dDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2975  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2985  VT_DATALAYOUT = 22
2986  };
2987  uint32_t padLeft() const {
2988  return GetField<uint32_t>(VT_PADLEFT, 0);
2989  }
2990  uint32_t padRight() const {
2991  return GetField<uint32_t>(VT_PADRIGHT, 0);
2992  }
2993  uint32_t padTop() const {
2994  return GetField<uint32_t>(VT_PADTOP, 0);
2995  }
2996  uint32_t padBottom() const {
2997  return GetField<uint32_t>(VT_PADBOTTOM, 0);
2998  }
2999  uint32_t strideX() const {
3000  return GetField<uint32_t>(VT_STRIDEX, 0);
3001  }
3002  uint32_t strideY() const {
3003  return GetField<uint32_t>(VT_STRIDEY, 0);
3004  }
3005  uint32_t dilationX() const {
3006  return GetField<uint32_t>(VT_DILATIONX, 1);
3007  }
3008  uint32_t dilationY() const {
3009  return GetField<uint32_t>(VT_DILATIONY, 1);
3010  }
3011  bool biasEnabled() const {
3012  return GetField<uint8_t>(VT_BIASENABLED, 0) != 0;
3013  }
3015  return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 1));
3016  }
3017  bool Verify(flatbuffers::Verifier &verifier) const {
3018  return VerifyTableStart(verifier) &&
3019  VerifyField<uint32_t>(verifier, VT_PADLEFT) &&
3020  VerifyField<uint32_t>(verifier, VT_PADRIGHT) &&
3021  VerifyField<uint32_t>(verifier, VT_PADTOP) &&
3022  VerifyField<uint32_t>(verifier, VT_PADBOTTOM) &&
3023  VerifyField<uint32_t>(verifier, VT_STRIDEX) &&
3024  VerifyField<uint32_t>(verifier, VT_STRIDEY) &&
3025  VerifyField<uint32_t>(verifier, VT_DILATIONX) &&
3026  VerifyField<uint32_t>(verifier, VT_DILATIONY) &&
3027  VerifyField<uint8_t>(verifier, VT_BIASENABLED) &&
3028  VerifyField<int8_t>(verifier, VT_DATALAYOUT) &&
3029  verifier.EndTable();
3030  }
3031 };
3032 
3034  typedef Convolution2dDescriptor Table;
3035  flatbuffers::FlatBufferBuilder &fbb_;
3036  flatbuffers::uoffset_t start_;
3037  void add_padLeft(uint32_t padLeft) {
3038  fbb_.AddElement<uint32_t>(Convolution2dDescriptor::VT_PADLEFT, padLeft, 0);
3039  }
3040  void add_padRight(uint32_t padRight) {
3041  fbb_.AddElement<uint32_t>(Convolution2dDescriptor::VT_PADRIGHT, padRight, 0);
3042  }
3043  void add_padTop(uint32_t padTop) {
3044  fbb_.AddElement<uint32_t>(Convolution2dDescriptor::VT_PADTOP, padTop, 0);
3045  }
3046  void add_padBottom(uint32_t padBottom) {
3047  fbb_.AddElement<uint32_t>(Convolution2dDescriptor::VT_PADBOTTOM, padBottom, 0);
3048  }
3049  void add_strideX(uint32_t strideX) {
3050  fbb_.AddElement<uint32_t>(Convolution2dDescriptor::VT_STRIDEX, strideX, 0);
3051  }
3052  void add_strideY(uint32_t strideY) {
3053  fbb_.AddElement<uint32_t>(Convolution2dDescriptor::VT_STRIDEY, strideY, 0);
3054  }
3055  void add_dilationX(uint32_t dilationX) {
3056  fbb_.AddElement<uint32_t>(Convolution2dDescriptor::VT_DILATIONX, dilationX, 1);
3057  }
3058  void add_dilationY(uint32_t dilationY) {
3059  fbb_.AddElement<uint32_t>(Convolution2dDescriptor::VT_DILATIONY, dilationY, 1);
3060  }
3061  void add_biasEnabled(bool biasEnabled) {
3062  fbb_.AddElement<uint8_t>(Convolution2dDescriptor::VT_BIASENABLED, static_cast<uint8_t>(biasEnabled), 0);
3063  }
3065  fbb_.AddElement<int8_t>(Convolution2dDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 1);
3066  }
3067  explicit Convolution2dDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3068  : fbb_(_fbb) {
3069  start_ = fbb_.StartTable();
3070  }
3072  flatbuffers::Offset<Convolution2dDescriptor> Finish() {
3073  const auto end = fbb_.EndTable(start_);
3074  auto o = flatbuffers::Offset<Convolution2dDescriptor>(end);
3075  return o;
3076  }
3077 };
3078 
3079 inline flatbuffers::Offset<Convolution2dDescriptor> CreateConvolution2dDescriptor(
3080  flatbuffers::FlatBufferBuilder &_fbb,
3081  uint32_t padLeft = 0,
3082  uint32_t padRight = 0,
3083  uint32_t padTop = 0,
3084  uint32_t padBottom = 0,
3085  uint32_t strideX = 0,
3086  uint32_t strideY = 0,
3087  uint32_t dilationX = 1,
3088  uint32_t dilationY = 1,
3089  bool biasEnabled = false,
3091  Convolution2dDescriptorBuilder builder_(_fbb);
3092  builder_.add_dilationY(dilationY);
3093  builder_.add_dilationX(dilationX);
3094  builder_.add_strideY(strideY);
3095  builder_.add_strideX(strideX);
3096  builder_.add_padBottom(padBottom);
3097  builder_.add_padTop(padTop);
3098  builder_.add_padRight(padRight);
3099  builder_.add_padLeft(padLeft);
3100  builder_.add_dataLayout(dataLayout);
3101  builder_.add_biasEnabled(biasEnabled);
3102  return builder_.Finish();
3103 }
3104 
3105 struct DepthToSpaceLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3107  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3108  VT_BASE = 4,
3109  VT_DESCRIPTOR = 6
3110  };
3111  const armnnSerializer::LayerBase *base() const {
3112  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
3113  }
3115  return GetPointer<const armnnSerializer::DepthToSpaceDescriptor *>(VT_DESCRIPTOR);
3116  }
3117  bool Verify(flatbuffers::Verifier &verifier) const {
3118  return VerifyTableStart(verifier) &&
3119  VerifyOffset(verifier, VT_BASE) &&
3120  verifier.VerifyTable(base()) &&
3121  VerifyOffset(verifier, VT_DESCRIPTOR) &&
3122  verifier.VerifyTable(descriptor()) &&
3123  verifier.EndTable();
3124  }
3125 };
3126 
3128  typedef DepthToSpaceLayer Table;
3129  flatbuffers::FlatBufferBuilder &fbb_;
3130  flatbuffers::uoffset_t start_;
3131  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
3132  fbb_.AddOffset(DepthToSpaceLayer::VT_BASE, base);
3133  }
3134  void add_descriptor(flatbuffers::Offset<armnnSerializer::DepthToSpaceDescriptor> descriptor) {
3135  fbb_.AddOffset(DepthToSpaceLayer::VT_DESCRIPTOR, descriptor);
3136  }
3137  explicit DepthToSpaceLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3138  : fbb_(_fbb) {
3139  start_ = fbb_.StartTable();
3140  }
3142  flatbuffers::Offset<DepthToSpaceLayer> Finish() {
3143  const auto end = fbb_.EndTable(start_);
3144  auto o = flatbuffers::Offset<DepthToSpaceLayer>(end);
3145  return o;
3146  }
3147 };
3148 
3149 inline flatbuffers::Offset<DepthToSpaceLayer> CreateDepthToSpaceLayer(
3150  flatbuffers::FlatBufferBuilder &_fbb,
3151  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
3152  flatbuffers::Offset<armnnSerializer::DepthToSpaceDescriptor> descriptor = 0) {
3153  DepthToSpaceLayerBuilder builder_(_fbb);
3154  builder_.add_descriptor(descriptor);
3155  builder_.add_base(base);
3156  return builder_.Finish();
3157 }
3158 
3159 struct DepthToSpaceDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3161  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3163  VT_DATALAYOUT = 6
3164  };
3165  uint32_t blockSize() const {
3166  return GetField<uint32_t>(VT_BLOCKSIZE, 0);
3167  }
3169  return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 0));
3170  }
3171  bool Verify(flatbuffers::Verifier &verifier) const {
3172  return VerifyTableStart(verifier) &&
3173  VerifyField<uint32_t>(verifier, VT_BLOCKSIZE) &&
3174  VerifyField<int8_t>(verifier, VT_DATALAYOUT) &&
3175  verifier.EndTable();
3176  }
3177 };
3178 
3181  flatbuffers::FlatBufferBuilder &fbb_;
3182  flatbuffers::uoffset_t start_;
3183  void add_blockSize(uint32_t blockSize) {
3184  fbb_.AddElement<uint32_t>(DepthToSpaceDescriptor::VT_BLOCKSIZE, blockSize, 0);
3185  }
3187  fbb_.AddElement<int8_t>(DepthToSpaceDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 0);
3188  }
3189  explicit DepthToSpaceDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3190  : fbb_(_fbb) {
3191  start_ = fbb_.StartTable();
3192  }
3194  flatbuffers::Offset<DepthToSpaceDescriptor> Finish() {
3195  const auto end = fbb_.EndTable(start_);
3196  auto o = flatbuffers::Offset<DepthToSpaceDescriptor>(end);
3197  return o;
3198  }
3199 };
3200 
3201 inline flatbuffers::Offset<DepthToSpaceDescriptor> CreateDepthToSpaceDescriptor(
3202  flatbuffers::FlatBufferBuilder &_fbb,
3203  uint32_t blockSize = 0,
3205  DepthToSpaceDescriptorBuilder builder_(_fbb);
3206  builder_.add_blockSize(blockSize);
3207  builder_.add_dataLayout(dataLayout);
3208  return builder_.Finish();
3209 }
3210 
3211 struct DivisionLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3213  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3214  VT_BASE = 4
3215  };
3216  const armnnSerializer::LayerBase *base() const {
3217  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
3218  }
3219  bool Verify(flatbuffers::Verifier &verifier) const {
3220  return VerifyTableStart(verifier) &&
3221  VerifyOffset(verifier, VT_BASE) &&
3222  verifier.VerifyTable(base()) &&
3223  verifier.EndTable();
3224  }
3225 };
3226 
3228  typedef DivisionLayer Table;
3229  flatbuffers::FlatBufferBuilder &fbb_;
3230  flatbuffers::uoffset_t start_;
3231  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
3232  fbb_.AddOffset(DivisionLayer::VT_BASE, base);
3233  }
3234  explicit DivisionLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3235  : fbb_(_fbb) {
3236  start_ = fbb_.StartTable();
3237  }
3238  DivisionLayerBuilder &operator=(const DivisionLayerBuilder &);
3239  flatbuffers::Offset<DivisionLayer> Finish() {
3240  const auto end = fbb_.EndTable(start_);
3241  auto o = flatbuffers::Offset<DivisionLayer>(end);
3242  return o;
3243  }
3244 };
3245 
3246 inline flatbuffers::Offset<DivisionLayer> CreateDivisionLayer(
3247  flatbuffers::FlatBufferBuilder &_fbb,
3248  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
3249  DivisionLayerBuilder builder_(_fbb);
3250  builder_.add_base(base);
3251  return builder_.Finish();
3252 }
3253 
3254 struct ElementwiseUnaryDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3256  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3257  VT_OPERATION = 4
3258  };
3260  return static_cast<armnnSerializer::UnaryOperation>(GetField<int8_t>(VT_OPERATION, 0));
3261  }
3262  bool Verify(flatbuffers::Verifier &verifier) const {
3263  return VerifyTableStart(verifier) &&
3264  VerifyField<int8_t>(verifier, VT_OPERATION) &&
3265  verifier.EndTable();
3266  }
3267 };
3268 
3270  typedef ElementwiseUnaryDescriptor Table;
3271  flatbuffers::FlatBufferBuilder &fbb_;
3272  flatbuffers::uoffset_t start_;
3274  fbb_.AddElement<int8_t>(ElementwiseUnaryDescriptor::VT_OPERATION, static_cast<int8_t>(operation), 0);
3275  }
3276  explicit ElementwiseUnaryDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3277  : fbb_(_fbb) {
3278  start_ = fbb_.StartTable();
3279  }
3281  flatbuffers::Offset<ElementwiseUnaryDescriptor> Finish() {
3282  const auto end = fbb_.EndTable(start_);
3283  auto o = flatbuffers::Offset<ElementwiseUnaryDescriptor>(end);
3284  return o;
3285  }
3286 };
3287 
3288 inline flatbuffers::Offset<ElementwiseUnaryDescriptor> CreateElementwiseUnaryDescriptor(
3289  flatbuffers::FlatBufferBuilder &_fbb,
3291  ElementwiseUnaryDescriptorBuilder builder_(_fbb);
3292  builder_.add_operation(operation);
3293  return builder_.Finish();
3294 }
3295 
3296 struct ElementwiseUnaryLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3298  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3299  VT_BASE = 4,
3300  VT_DESCRIPTOR = 6
3301  };
3302  const armnnSerializer::LayerBase *base() const {
3303  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
3304  }
3305  const armnnSerializer::ElementwiseUnaryDescriptor *descriptor() const {
3306  return GetPointer<const armnnSerializer::ElementwiseUnaryDescriptor *>(VT_DESCRIPTOR);
3307  }
3308  bool Verify(flatbuffers::Verifier &verifier) const {
3309  return VerifyTableStart(verifier) &&
3310  VerifyOffset(verifier, VT_BASE) &&
3311  verifier.VerifyTable(base()) &&
3312  VerifyOffset(verifier, VT_DESCRIPTOR) &&
3313  verifier.VerifyTable(descriptor()) &&
3314  verifier.EndTable();
3315  }
3316 };
3317 
3319  typedef ElementwiseUnaryLayer Table;
3320  flatbuffers::FlatBufferBuilder &fbb_;
3321  flatbuffers::uoffset_t start_;
3322  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
3323  fbb_.AddOffset(ElementwiseUnaryLayer::VT_BASE, base);
3324  }
3325  void add_descriptor(flatbuffers::Offset<armnnSerializer::ElementwiseUnaryDescriptor> descriptor) {
3326  fbb_.AddOffset(ElementwiseUnaryLayer::VT_DESCRIPTOR, descriptor);
3327  }
3328  explicit ElementwiseUnaryLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3329  : fbb_(_fbb) {
3330  start_ = fbb_.StartTable();
3331  }
3333  flatbuffers::Offset<ElementwiseUnaryLayer> Finish() {
3334  const auto end = fbb_.EndTable(start_);
3335  auto o = flatbuffers::Offset<ElementwiseUnaryLayer>(end);
3336  return o;
3337  }
3338 };
3339 
3340 inline flatbuffers::Offset<ElementwiseUnaryLayer> CreateElementwiseUnaryLayer(
3341  flatbuffers::FlatBufferBuilder &_fbb,
3342  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
3343  flatbuffers::Offset<armnnSerializer::ElementwiseUnaryDescriptor> descriptor = 0) {
3344  ElementwiseUnaryLayerBuilder builder_(_fbb);
3345  builder_.add_descriptor(descriptor);
3346  builder_.add_base(base);
3347  return builder_.Finish();
3348 }
3349 
3350 /// @deprecated Use ComparisonLayer instead
3351 struct EqualLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3353  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3354  VT_BASE = 4
3355  };
3356  const armnnSerializer::LayerBase *base() const {
3357  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
3358  }
3359  bool Verify(flatbuffers::Verifier &verifier) const {
3360  return VerifyTableStart(verifier) &&
3361  VerifyOffset(verifier, VT_BASE) &&
3362  verifier.VerifyTable(base()) &&
3363  verifier.EndTable();
3364  }
3365 };
3366 
3368  typedef EqualLayer Table;
3369  flatbuffers::FlatBufferBuilder &fbb_;
3370  flatbuffers::uoffset_t start_;
3371  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
3372  fbb_.AddOffset(EqualLayer::VT_BASE, base);
3373  }
3374  explicit EqualLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3375  : fbb_(_fbb) {
3376  start_ = fbb_.StartTable();
3377  }
3378  EqualLayerBuilder &operator=(const EqualLayerBuilder &);
3379  flatbuffers::Offset<EqualLayer> Finish() {
3380  const auto end = fbb_.EndTable(start_);
3381  auto o = flatbuffers::Offset<EqualLayer>(end);
3382  return o;
3383  }
3384 };
3385 
3386 inline flatbuffers::Offset<EqualLayer> CreateEqualLayer(
3387  flatbuffers::FlatBufferBuilder &_fbb,
3388  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
3389  EqualLayerBuilder builder_(_fbb);
3390  builder_.add_base(base);
3391  return builder_.Finish();
3392 }
3393 
3394 struct FillLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3396  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3397  VT_BASE = 4,
3398  VT_DESCRIPTOR = 6
3399  };
3400  const armnnSerializer::LayerBase *base() const {
3401  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
3402  }
3403  const armnnSerializer::FillDescriptor *descriptor() const {
3404  return GetPointer<const armnnSerializer::FillDescriptor *>(VT_DESCRIPTOR);
3405  }
3406  bool Verify(flatbuffers::Verifier &verifier) const {
3407  return VerifyTableStart(verifier) &&
3408  VerifyOffset(verifier, VT_BASE) &&
3409  verifier.VerifyTable(base()) &&
3410  VerifyOffset(verifier, VT_DESCRIPTOR) &&
3411  verifier.VerifyTable(descriptor()) &&
3412  verifier.EndTable();
3413  }
3414 };
3415 
3417  typedef FillLayer Table;
3418  flatbuffers::FlatBufferBuilder &fbb_;
3419  flatbuffers::uoffset_t start_;
3420  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
3421  fbb_.AddOffset(FillLayer::VT_BASE, base);
3422  }
3423  void add_descriptor(flatbuffers::Offset<armnnSerializer::FillDescriptor> descriptor) {
3424  fbb_.AddOffset(FillLayer::VT_DESCRIPTOR, descriptor);
3425  }
3426  explicit FillLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3427  : fbb_(_fbb) {
3428  start_ = fbb_.StartTable();
3429  }
3430  FillLayerBuilder &operator=(const FillLayerBuilder &);
3431  flatbuffers::Offset<FillLayer> Finish() {
3432  const auto end = fbb_.EndTable(start_);
3433  auto o = flatbuffers::Offset<FillLayer>(end);
3434  return o;
3435  }
3436 };
3437 
3438 inline flatbuffers::Offset<FillLayer> CreateFillLayer(
3439  flatbuffers::FlatBufferBuilder &_fbb,
3440  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
3441  flatbuffers::Offset<armnnSerializer::FillDescriptor> descriptor = 0) {
3442  FillLayerBuilder builder_(_fbb);
3443  builder_.add_descriptor(descriptor);
3444  builder_.add_base(base);
3445  return builder_.Finish();
3446 }
3447 
3448 struct FillDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3450  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3451  VT_VALUE = 4
3452  };
3453  float value() const {
3454  return GetField<float>(VT_VALUE, 0.0f);
3455  }
3456  bool Verify(flatbuffers::Verifier &verifier) const {
3457  return VerifyTableStart(verifier) &&
3458  VerifyField<float>(verifier, VT_VALUE) &&
3459  verifier.EndTable();
3460  }
3461 };
3462 
3464  typedef FillDescriptor Table;
3465  flatbuffers::FlatBufferBuilder &fbb_;
3466  flatbuffers::uoffset_t start_;
3467  void add_value(float value) {
3468  fbb_.AddElement<float>(FillDescriptor::VT_VALUE, value, 0.0f);
3469  }
3470  explicit FillDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3471  : fbb_(_fbb) {
3472  start_ = fbb_.StartTable();
3473  }
3474  FillDescriptorBuilder &operator=(const FillDescriptorBuilder &);
3475  flatbuffers::Offset<FillDescriptor> Finish() {
3476  const auto end = fbb_.EndTable(start_);
3477  auto o = flatbuffers::Offset<FillDescriptor>(end);
3478  return o;
3479  }
3480 };
3481 
3482 inline flatbuffers::Offset<FillDescriptor> CreateFillDescriptor(
3483  flatbuffers::FlatBufferBuilder &_fbb,
3484  float value = 0.0f) {
3485  FillDescriptorBuilder builder_(_fbb);
3486  builder_.add_value(value);
3487  return builder_.Finish();
3488 }
3489 
3490 struct FloorLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3492  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3493  VT_BASE = 4
3494  };
3495  const armnnSerializer::LayerBase *base() const {
3496  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
3497  }
3498  bool Verify(flatbuffers::Verifier &verifier) const {
3499  return VerifyTableStart(verifier) &&
3500  VerifyOffset(verifier, VT_BASE) &&
3501  verifier.VerifyTable(base()) &&
3502  verifier.EndTable();
3503  }
3504 };
3505 
3507  typedef FloorLayer Table;
3508  flatbuffers::FlatBufferBuilder &fbb_;
3509  flatbuffers::uoffset_t start_;
3510  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
3511  fbb_.AddOffset(FloorLayer::VT_BASE, base);
3512  }
3513  explicit FloorLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3514  : fbb_(_fbb) {
3515  start_ = fbb_.StartTable();
3516  }
3517  FloorLayerBuilder &operator=(const FloorLayerBuilder &);
3518  flatbuffers::Offset<FloorLayer> Finish() {
3519  const auto end = fbb_.EndTable(start_);
3520  auto o = flatbuffers::Offset<FloorLayer>(end);
3521  return o;
3522  }
3523 };
3524 
3525 inline flatbuffers::Offset<FloorLayer> CreateFloorLayer(
3526  flatbuffers::FlatBufferBuilder &_fbb,
3527  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
3528  FloorLayerBuilder builder_(_fbb);
3529  builder_.add_base(base);
3530  return builder_.Finish();
3531 }
3532 
3533 struct FullyConnectedLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3535  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3536  VT_BASE = 4,
3537  VT_DESCRIPTOR = 6,
3538  VT_WEIGHTS = 8,
3539  VT_BIASES = 10
3540  };
3541  const armnnSerializer::LayerBase *base() const {
3542  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
3543  }
3544  const armnnSerializer::FullyConnectedDescriptor *descriptor() const {
3545  return GetPointer<const armnnSerializer::FullyConnectedDescriptor *>(VT_DESCRIPTOR);
3546  }
3547  const armnnSerializer::ConstTensor *weights() const {
3548  return GetPointer<const armnnSerializer::ConstTensor *>(VT_WEIGHTS);
3549  }
3550  const armnnSerializer::ConstTensor *biases() const {
3551  return GetPointer<const armnnSerializer::ConstTensor *>(VT_BIASES);
3552  }
3553  bool Verify(flatbuffers::Verifier &verifier) const {
3554  return VerifyTableStart(verifier) &&
3555  VerifyOffset(verifier, VT_BASE) &&
3556  verifier.VerifyTable(base()) &&
3557  VerifyOffset(verifier, VT_DESCRIPTOR) &&
3558  verifier.VerifyTable(descriptor()) &&
3559  VerifyOffset(verifier, VT_WEIGHTS) &&
3560  verifier.VerifyTable(weights()) &&
3561  VerifyOffset(verifier, VT_BIASES) &&
3562  verifier.VerifyTable(biases()) &&
3563  verifier.EndTable();
3564  }
3565 };
3566 
3568  typedef FullyConnectedLayer Table;
3569  flatbuffers::FlatBufferBuilder &fbb_;
3570  flatbuffers::uoffset_t start_;
3571  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
3572  fbb_.AddOffset(FullyConnectedLayer::VT_BASE, base);
3573  }
3574  void add_descriptor(flatbuffers::Offset<armnnSerializer::FullyConnectedDescriptor> descriptor) {
3575  fbb_.AddOffset(FullyConnectedLayer::VT_DESCRIPTOR, descriptor);
3576  }
3577  void add_weights(flatbuffers::Offset<armnnSerializer::ConstTensor> weights) {
3578  fbb_.AddOffset(FullyConnectedLayer::VT_WEIGHTS, weights);
3579  }
3580  void add_biases(flatbuffers::Offset<armnnSerializer::ConstTensor> biases) {
3581  fbb_.AddOffset(FullyConnectedLayer::VT_BIASES, biases);
3582  }
3583  explicit FullyConnectedLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3584  : fbb_(_fbb) {
3585  start_ = fbb_.StartTable();
3586  }
3588  flatbuffers::Offset<FullyConnectedLayer> Finish() {
3589  const auto end = fbb_.EndTable(start_);
3590  auto o = flatbuffers::Offset<FullyConnectedLayer>(end);
3591  return o;
3592  }
3593 };
3594 
3595 inline flatbuffers::Offset<FullyConnectedLayer> CreateFullyConnectedLayer(
3596  flatbuffers::FlatBufferBuilder &_fbb,
3597  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
3598  flatbuffers::Offset<armnnSerializer::FullyConnectedDescriptor> descriptor = 0,
3599  flatbuffers::Offset<armnnSerializer::ConstTensor> weights = 0,
3600  flatbuffers::Offset<armnnSerializer::ConstTensor> biases = 0) {
3601  FullyConnectedLayerBuilder builder_(_fbb);
3602  builder_.add_biases(biases);
3603  builder_.add_weights(weights);
3604  builder_.add_descriptor(descriptor);
3605  builder_.add_base(base);
3606  return builder_.Finish();
3607 }
3608 
3609 struct FullyConnectedDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3611  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3612  VT_BIASENABLED = 4,
3614  VT_CONSTANTWEIGHTS = 8
3615  };
3616  bool biasEnabled() const {
3617  return GetField<uint8_t>(VT_BIASENABLED, 0) != 0;
3618  }
3619  bool transposeWeightsMatrix() const {
3620  return GetField<uint8_t>(VT_TRANSPOSEWEIGHTSMATRIX, 0) != 0;
3621  }
3622  bool constantWeights() const {
3623  return GetField<uint8_t>(VT_CONSTANTWEIGHTS, 1) != 0;
3624  }
3625  bool Verify(flatbuffers::Verifier &verifier) const {
3626  return VerifyTableStart(verifier) &&
3627  VerifyField<uint8_t>(verifier, VT_BIASENABLED) &&
3628  VerifyField<uint8_t>(verifier, VT_TRANSPOSEWEIGHTSMATRIX) &&
3629  VerifyField<uint8_t>(verifier, VT_CONSTANTWEIGHTS) &&
3630  verifier.EndTable();
3631  }
3632 };
3633 
3635  typedef FullyConnectedDescriptor Table;
3636  flatbuffers::FlatBufferBuilder &fbb_;
3637  flatbuffers::uoffset_t start_;
3638  void add_biasEnabled(bool biasEnabled) {
3639  fbb_.AddElement<uint8_t>(FullyConnectedDescriptor::VT_BIASENABLED, static_cast<uint8_t>(biasEnabled), 0);
3640  }
3641  void add_transposeWeightsMatrix(bool transposeWeightsMatrix) {
3642  fbb_.AddElement<uint8_t>(FullyConnectedDescriptor::VT_TRANSPOSEWEIGHTSMATRIX, static_cast<uint8_t>(transposeWeightsMatrix), 0);
3643  }
3644  void add_constantWeights(bool constantWeights) {
3645  fbb_.AddElement<uint8_t>(FullyConnectedDescriptor::VT_CONSTANTWEIGHTS, static_cast<uint8_t>(constantWeights), 1);
3646  }
3647  explicit FullyConnectedDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3648  : fbb_(_fbb) {
3649  start_ = fbb_.StartTable();
3650  }
3652  flatbuffers::Offset<FullyConnectedDescriptor> Finish() {
3653  const auto end = fbb_.EndTable(start_);
3654  auto o = flatbuffers::Offset<FullyConnectedDescriptor>(end);
3655  return o;
3656  }
3657 };
3658 
3659 inline flatbuffers::Offset<FullyConnectedDescriptor> CreateFullyConnectedDescriptor(
3660  flatbuffers::FlatBufferBuilder &_fbb,
3661  bool biasEnabled = false,
3662  bool transposeWeightsMatrix = false,
3663  bool constantWeights = true) {
3664  FullyConnectedDescriptorBuilder builder_(_fbb);
3665  builder_.add_constantWeights(constantWeights);
3666  builder_.add_transposeWeightsMatrix(transposeWeightsMatrix);
3667  builder_.add_biasEnabled(biasEnabled);
3668  return builder_.Finish();
3669 }
3670 
3671 struct GatherLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3673  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3674  VT_BASE = 4,
3675  VT_DESCRIPTOR = 6
3676  };
3677  const armnnSerializer::LayerBase *base() const {
3678  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
3679  }
3680  const armnnSerializer::GatherDescriptor *descriptor() const {
3681  return GetPointer<const armnnSerializer::GatherDescriptor *>(VT_DESCRIPTOR);
3682  }
3683  bool Verify(flatbuffers::Verifier &verifier) const {
3684  return VerifyTableStart(verifier) &&
3685  VerifyOffset(verifier, VT_BASE) &&
3686  verifier.VerifyTable(base()) &&
3687  VerifyOffset(verifier, VT_DESCRIPTOR) &&
3688  verifier.VerifyTable(descriptor()) &&
3689  verifier.EndTable();
3690  }
3691 };
3692 
3694  typedef GatherLayer Table;
3695  flatbuffers::FlatBufferBuilder &fbb_;
3696  flatbuffers::uoffset_t start_;
3697  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
3698  fbb_.AddOffset(GatherLayer::VT_BASE, base);
3699  }
3700  void add_descriptor(flatbuffers::Offset<armnnSerializer::GatherDescriptor> descriptor) {
3701  fbb_.AddOffset(GatherLayer::VT_DESCRIPTOR, descriptor);
3702  }
3703  explicit GatherLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3704  : fbb_(_fbb) {
3705  start_ = fbb_.StartTable();
3706  }
3707  GatherLayerBuilder &operator=(const GatherLayerBuilder &);
3708  flatbuffers::Offset<GatherLayer> Finish() {
3709  const auto end = fbb_.EndTable(start_);
3710  auto o = flatbuffers::Offset<GatherLayer>(end);
3711  return o;
3712  }
3713 };
3714 
3715 inline flatbuffers::Offset<GatherLayer> CreateGatherLayer(
3716  flatbuffers::FlatBufferBuilder &_fbb,
3717  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
3718  flatbuffers::Offset<armnnSerializer::GatherDescriptor> descriptor = 0) {
3719  GatherLayerBuilder builder_(_fbb);
3720  builder_.add_descriptor(descriptor);
3721  builder_.add_base(base);
3722  return builder_.Finish();
3723 }
3724 
3725 struct GatherDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3727  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3728  VT_AXIS = 4
3729  };
3730  int32_t axis() const {
3731  return GetField<int32_t>(VT_AXIS, 0);
3732  }
3733  bool Verify(flatbuffers::Verifier &verifier) const {
3734  return VerifyTableStart(verifier) &&
3735  VerifyField<int32_t>(verifier, VT_AXIS) &&
3736  verifier.EndTable();
3737  }
3738 };
3739 
3741  typedef GatherDescriptor Table;
3742  flatbuffers::FlatBufferBuilder &fbb_;
3743  flatbuffers::uoffset_t start_;
3744  void add_axis(int32_t axis) {
3745  fbb_.AddElement<int32_t>(GatherDescriptor::VT_AXIS, axis, 0);
3746  }
3747  explicit GatherDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3748  : fbb_(_fbb) {
3749  start_ = fbb_.StartTable();
3750  }
3752  flatbuffers::Offset<GatherDescriptor> Finish() {
3753  const auto end = fbb_.EndTable(start_);
3754  auto o = flatbuffers::Offset<GatherDescriptor>(end);
3755  return o;
3756  }
3757 };
3758 
3759 inline flatbuffers::Offset<GatherDescriptor> CreateGatherDescriptor(
3760  flatbuffers::FlatBufferBuilder &_fbb,
3761  int32_t axis = 0) {
3762  GatherDescriptorBuilder builder_(_fbb);
3763  builder_.add_axis(axis);
3764  return builder_.Finish();
3765 }
3766 
3767 /// @deprecated Use ComparisonLayer instead
3768 struct GreaterLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3770  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3771  VT_BASE = 4
3772  };
3773  const armnnSerializer::LayerBase *base() const {
3774  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
3775  }
3776  bool Verify(flatbuffers::Verifier &verifier) const {
3777  return VerifyTableStart(verifier) &&
3778  VerifyOffset(verifier, VT_BASE) &&
3779  verifier.VerifyTable(base()) &&
3780  verifier.EndTable();
3781  }
3782 };
3783 
3785  typedef GreaterLayer Table;
3786  flatbuffers::FlatBufferBuilder &fbb_;
3787  flatbuffers::uoffset_t start_;
3788  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
3789  fbb_.AddOffset(GreaterLayer::VT_BASE, base);
3790  }
3791  explicit GreaterLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3792  : fbb_(_fbb) {
3793  start_ = fbb_.StartTable();
3794  }
3795  GreaterLayerBuilder &operator=(const GreaterLayerBuilder &);
3796  flatbuffers::Offset<GreaterLayer> Finish() {
3797  const auto end = fbb_.EndTable(start_);
3798  auto o = flatbuffers::Offset<GreaterLayer>(end);
3799  return o;
3800  }
3801 };
3802 
3803 inline flatbuffers::Offset<GreaterLayer> CreateGreaterLayer(
3804  flatbuffers::FlatBufferBuilder &_fbb,
3805  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
3806  GreaterLayerBuilder builder_(_fbb);
3807  builder_.add_base(base);
3808  return builder_.Finish();
3809 }
3810 
3811 struct InputLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3813  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3814  VT_BASE = 4
3815  };
3816  const armnnSerializer::BindableLayerBase *base() const {
3817  return GetPointer<const armnnSerializer::BindableLayerBase *>(VT_BASE);
3818  }
3819  bool Verify(flatbuffers::Verifier &verifier) const {
3820  return VerifyTableStart(verifier) &&
3821  VerifyOffset(verifier, VT_BASE) &&
3822  verifier.VerifyTable(base()) &&
3823  verifier.EndTable();
3824  }
3825 };
3826 
3828  typedef InputLayer Table;
3829  flatbuffers::FlatBufferBuilder &fbb_;
3830  flatbuffers::uoffset_t start_;
3831  void add_base(flatbuffers::Offset<armnnSerializer::BindableLayerBase> base) {
3832  fbb_.AddOffset(InputLayer::VT_BASE, base);
3833  }
3834  explicit InputLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3835  : fbb_(_fbb) {
3836  start_ = fbb_.StartTable();
3837  }
3838  InputLayerBuilder &operator=(const InputLayerBuilder &);
3839  flatbuffers::Offset<InputLayer> Finish() {
3840  const auto end = fbb_.EndTable(start_);
3841  auto o = flatbuffers::Offset<InputLayer>(end);
3842  return o;
3843  }
3844 };
3845 
3846 inline flatbuffers::Offset<InputLayer> CreateInputLayer(
3847  flatbuffers::FlatBufferBuilder &_fbb,
3848  flatbuffers::Offset<armnnSerializer::BindableLayerBase> base = 0) {
3849  InputLayerBuilder builder_(_fbb);
3850  builder_.add_base(base);
3851  return builder_.Finish();
3852 }
3853 
3854 struct InstanceNormalizationLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3856  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3857  VT_BASE = 4,
3858  VT_DESCRIPTOR = 6
3859  };
3860  const armnnSerializer::LayerBase *base() const {
3861  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
3862  }
3863  const armnnSerializer::InstanceNormalizationDescriptor *descriptor() const {
3864  return GetPointer<const armnnSerializer::InstanceNormalizationDescriptor *>(VT_DESCRIPTOR);
3865  }
3866  bool Verify(flatbuffers::Verifier &verifier) const {
3867  return VerifyTableStart(verifier) &&
3868  VerifyOffset(verifier, VT_BASE) &&
3869  verifier.VerifyTable(base()) &&
3870  VerifyOffset(verifier, VT_DESCRIPTOR) &&
3871  verifier.VerifyTable(descriptor()) &&
3872  verifier.EndTable();
3873  }
3874 };
3875 
3877  typedef InstanceNormalizationLayer Table;
3878  flatbuffers::FlatBufferBuilder &fbb_;
3879  flatbuffers::uoffset_t start_;
3880  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
3881  fbb_.AddOffset(InstanceNormalizationLayer::VT_BASE, base);
3882  }
3883  void add_descriptor(flatbuffers::Offset<armnnSerializer::InstanceNormalizationDescriptor> descriptor) {
3884  fbb_.AddOffset(InstanceNormalizationLayer::VT_DESCRIPTOR, descriptor);
3885  }
3886  explicit InstanceNormalizationLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3887  : fbb_(_fbb) {
3888  start_ = fbb_.StartTable();
3889  }
3891  flatbuffers::Offset<InstanceNormalizationLayer> Finish() {
3892  const auto end = fbb_.EndTable(start_);
3893  auto o = flatbuffers::Offset<InstanceNormalizationLayer>(end);
3894  return o;
3895  }
3896 };
3897 
3898 inline flatbuffers::Offset<InstanceNormalizationLayer> CreateInstanceNormalizationLayer(
3899  flatbuffers::FlatBufferBuilder &_fbb,
3900  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
3901  flatbuffers::Offset<armnnSerializer::InstanceNormalizationDescriptor> descriptor = 0) {
3902  InstanceNormalizationLayerBuilder builder_(_fbb);
3903  builder_.add_descriptor(descriptor);
3904  builder_.add_base(base);
3905  return builder_.Finish();
3906 }
3907 
3908 struct InstanceNormalizationDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3910  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3912  VT_BETA = 6,
3913  VT_EPS = 8,
3914  VT_DATALAYOUT = 10
3915  };
3916  float gamma() const {
3917  return GetField<float>(VT_GAMMA, 0.0f);
3918  }
3919  float beta() const {
3920  return GetField<float>(VT_BETA, 0.0f);
3921  }
3922  float eps() const {
3923  return GetField<float>(VT_EPS, 0.0f);
3924  }
3926  return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 0));
3927  }
3928  bool Verify(flatbuffers::Verifier &verifier) const {
3929  return VerifyTableStart(verifier) &&
3930  VerifyField<float>(verifier, VT_GAMMA) &&
3931  VerifyField<float>(verifier, VT_BETA) &&
3932  VerifyField<float>(verifier, VT_EPS) &&
3933  VerifyField<int8_t>(verifier, VT_DATALAYOUT) &&
3934  verifier.EndTable();
3935  }
3936 };
3937 
3939  typedef InstanceNormalizationDescriptor Table;
3940  flatbuffers::FlatBufferBuilder &fbb_;
3941  flatbuffers::uoffset_t start_;
3942  void add_gamma(float gamma) {
3943  fbb_.AddElement<float>(InstanceNormalizationDescriptor::VT_GAMMA, gamma, 0.0f);
3944  }
3945  void add_beta(float beta) {
3946  fbb_.AddElement<float>(InstanceNormalizationDescriptor::VT_BETA, beta, 0.0f);
3947  }
3948  void add_eps(float eps) {
3949  fbb_.AddElement<float>(InstanceNormalizationDescriptor::VT_EPS, eps, 0.0f);
3950  }
3952  fbb_.AddElement<int8_t>(InstanceNormalizationDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 0);
3953  }
3954  explicit InstanceNormalizationDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3955  : fbb_(_fbb) {
3956  start_ = fbb_.StartTable();
3957  }
3959  flatbuffers::Offset<InstanceNormalizationDescriptor> Finish() {
3960  const auto end = fbb_.EndTable(start_);
3961  auto o = flatbuffers::Offset<InstanceNormalizationDescriptor>(end);
3962  return o;
3963  }
3964 };
3965 
3966 inline flatbuffers::Offset<InstanceNormalizationDescriptor> CreateInstanceNormalizationDescriptor(
3967  flatbuffers::FlatBufferBuilder &_fbb,
3968  float gamma = 0.0f,
3969  float beta = 0.0f,
3970  float eps = 0.0f,
3973  builder_.add_eps(eps);
3974  builder_.add_beta(beta);
3975  builder_.add_gamma(gamma);
3976  builder_.add_dataLayout(dataLayout);
3977  return builder_.Finish();
3978 }
3979 
3980 struct LogSoftmaxLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3982  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3983  VT_BASE = 4,
3984  VT_DESCRIPTOR = 6
3985  };
3986  const armnnSerializer::LayerBase *base() const {
3987  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
3988  }
3990  return GetPointer<const armnnSerializer::LogSoftmaxDescriptor *>(VT_DESCRIPTOR);
3991  }
3992  bool Verify(flatbuffers::Verifier &verifier) const {
3993  return VerifyTableStart(verifier) &&
3994  VerifyOffset(verifier, VT_BASE) &&
3995  verifier.VerifyTable(base()) &&
3996  VerifyOffset(verifier, VT_DESCRIPTOR) &&
3997  verifier.VerifyTable(descriptor()) &&
3998  verifier.EndTable();
3999  }
4000 };
4001 
4003  typedef LogSoftmaxLayer Table;
4004  flatbuffers::FlatBufferBuilder &fbb_;
4005  flatbuffers::uoffset_t start_;
4006  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4007  fbb_.AddOffset(LogSoftmaxLayer::VT_BASE, base);
4008  }
4009  void add_descriptor(flatbuffers::Offset<armnnSerializer::LogSoftmaxDescriptor> descriptor) {
4010  fbb_.AddOffset(LogSoftmaxLayer::VT_DESCRIPTOR, descriptor);
4011  }
4012  explicit LogSoftmaxLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4013  : fbb_(_fbb) {
4014  start_ = fbb_.StartTable();
4015  }
4016  LogSoftmaxLayerBuilder &operator=(const LogSoftmaxLayerBuilder &);
4017  flatbuffers::Offset<LogSoftmaxLayer> Finish() {
4018  const auto end = fbb_.EndTable(start_);
4019  auto o = flatbuffers::Offset<LogSoftmaxLayer>(end);
4020  return o;
4021  }
4022 };
4023 
4024 inline flatbuffers::Offset<LogSoftmaxLayer> CreateLogSoftmaxLayer(
4025  flatbuffers::FlatBufferBuilder &_fbb,
4026  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
4027  flatbuffers::Offset<armnnSerializer::LogSoftmaxDescriptor> descriptor = 0) {
4028  LogSoftmaxLayerBuilder builder_(_fbb);
4029  builder_.add_descriptor(descriptor);
4030  builder_.add_base(base);
4031  return builder_.Finish();
4032 }
4033 
4034 struct LogSoftmaxDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4036  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4037  VT_BETA = 4,
4038  VT_AXIS = 6
4039  };
4040  float beta() const {
4041  return GetField<float>(VT_BETA, 1.0f);
4042  }
4043  int32_t axis() const {
4044  return GetField<int32_t>(VT_AXIS, -1);
4045  }
4046  bool Verify(flatbuffers::Verifier &verifier) const {
4047  return VerifyTableStart(verifier) &&
4048  VerifyField<float>(verifier, VT_BETA) &&
4049  VerifyField<int32_t>(verifier, VT_AXIS) &&
4050  verifier.EndTable();
4051  }
4052 };
4053 
4056  flatbuffers::FlatBufferBuilder &fbb_;
4057  flatbuffers::uoffset_t start_;
4058  void add_beta(float beta) {
4059  fbb_.AddElement<float>(LogSoftmaxDescriptor::VT_BETA, beta, 1.0f);
4060  }
4061  void add_axis(int32_t axis) {
4062  fbb_.AddElement<int32_t>(LogSoftmaxDescriptor::VT_AXIS, axis, -1);
4063  }
4064  explicit LogSoftmaxDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4065  : fbb_(_fbb) {
4066  start_ = fbb_.StartTable();
4067  }
4069  flatbuffers::Offset<LogSoftmaxDescriptor> Finish() {
4070  const auto end = fbb_.EndTable(start_);
4071  auto o = flatbuffers::Offset<LogSoftmaxDescriptor>(end);
4072  return o;
4073  }
4074 };
4075 
4076 inline flatbuffers::Offset<LogSoftmaxDescriptor> CreateLogSoftmaxDescriptor(
4077  flatbuffers::FlatBufferBuilder &_fbb,
4078  float beta = 1.0f,
4079  int32_t axis = -1) {
4080  LogSoftmaxDescriptorBuilder builder_(_fbb);
4081  builder_.add_axis(axis);
4082  builder_.add_beta(beta);
4083  return builder_.Finish();
4084 }
4085 
4086 struct L2NormalizationLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4088  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4089  VT_BASE = 4,
4090  VT_DESCRIPTOR = 6
4091  };
4092  const armnnSerializer::LayerBase *base() const {
4093  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
4094  }
4095  const armnnSerializer::L2NormalizationDescriptor *descriptor() const {
4096  return GetPointer<const armnnSerializer::L2NormalizationDescriptor *>(VT_DESCRIPTOR);
4097  }
4098  bool Verify(flatbuffers::Verifier &verifier) const {
4099  return VerifyTableStart(verifier) &&
4100  VerifyOffset(verifier, VT_BASE) &&
4101  verifier.VerifyTable(base()) &&
4102  VerifyOffset(verifier, VT_DESCRIPTOR) &&
4103  verifier.VerifyTable(descriptor()) &&
4104  verifier.EndTable();
4105  }
4106 };
4107 
4109  typedef L2NormalizationLayer Table;
4110  flatbuffers::FlatBufferBuilder &fbb_;
4111  flatbuffers::uoffset_t start_;
4112  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4113  fbb_.AddOffset(L2NormalizationLayer::VT_BASE, base);
4114  }
4115  void add_descriptor(flatbuffers::Offset<armnnSerializer::L2NormalizationDescriptor> descriptor) {
4116  fbb_.AddOffset(L2NormalizationLayer::VT_DESCRIPTOR, descriptor);
4117  }
4118  explicit L2NormalizationLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4119  : fbb_(_fbb) {
4120  start_ = fbb_.StartTable();
4121  }
4123  flatbuffers::Offset<L2NormalizationLayer> Finish() {
4124  const auto end = fbb_.EndTable(start_);
4125  auto o = flatbuffers::Offset<L2NormalizationLayer>(end);
4126  return o;
4127  }
4128 };
4129 
4130 inline flatbuffers::Offset<L2NormalizationLayer> CreateL2NormalizationLayer(
4131  flatbuffers::FlatBufferBuilder &_fbb,
4132  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
4133  flatbuffers::Offset<armnnSerializer::L2NormalizationDescriptor> descriptor = 0) {
4134  L2NormalizationLayerBuilder builder_(_fbb);
4135  builder_.add_descriptor(descriptor);
4136  builder_.add_base(base);
4137  return builder_.Finish();
4138 }
4139 
4140 struct L2NormalizationDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4142  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4144  VT_EPS = 6
4145  };
4147  return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 1));
4148  }
4149  float eps() const {
4150  return GetField<float>(VT_EPS, 1e-12f);
4151  }
4152  bool Verify(flatbuffers::Verifier &verifier) const {
4153  return VerifyTableStart(verifier) &&
4154  VerifyField<int8_t>(verifier, VT_DATALAYOUT) &&
4155  VerifyField<float>(verifier, VT_EPS) &&
4156  verifier.EndTable();
4157  }
4158 };
4159 
4161  typedef L2NormalizationDescriptor Table;
4162  flatbuffers::FlatBufferBuilder &fbb_;
4163  flatbuffers::uoffset_t start_;
4165  fbb_.AddElement<int8_t>(L2NormalizationDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 1);
4166  }
4167  void add_eps(float eps) {
4168  fbb_.AddElement<float>(L2NormalizationDescriptor::VT_EPS, eps, 1e-12f);
4169  }
4170  explicit L2NormalizationDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4171  : fbb_(_fbb) {
4172  start_ = fbb_.StartTable();
4173  }
4175  flatbuffers::Offset<L2NormalizationDescriptor> Finish() {
4176  const auto end = fbb_.EndTable(start_);
4177  auto o = flatbuffers::Offset<L2NormalizationDescriptor>(end);
4178  return o;
4179  }
4180 };
4181 
4182 inline flatbuffers::Offset<L2NormalizationDescriptor> CreateL2NormalizationDescriptor(
4183  flatbuffers::FlatBufferBuilder &_fbb,
4185  float eps = 1e-12f) {
4186  L2NormalizationDescriptorBuilder builder_(_fbb);
4187  builder_.add_eps(eps);
4188  builder_.add_dataLayout(dataLayout);
4189  return builder_.Finish();
4190 }
4191 
4192 struct LogicalBinaryDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4194  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4195  VT_OPERATION = 4
4196  };
4198  return static_cast<armnnSerializer::LogicalBinaryOperation>(GetField<int8_t>(VT_OPERATION, 0));
4199  }
4200  bool Verify(flatbuffers::Verifier &verifier) const {
4201  return VerifyTableStart(verifier) &&
4202  VerifyField<int8_t>(verifier, VT_OPERATION) &&
4203  verifier.EndTable();
4204  }
4205 };
4206 
4208  typedef LogicalBinaryDescriptor Table;
4209  flatbuffers::FlatBufferBuilder &fbb_;
4210  flatbuffers::uoffset_t start_;
4212  fbb_.AddElement<int8_t>(LogicalBinaryDescriptor::VT_OPERATION, static_cast<int8_t>(operation), 0);
4213  }
4214  explicit LogicalBinaryDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4215  : fbb_(_fbb) {
4216  start_ = fbb_.StartTable();
4217  }
4219  flatbuffers::Offset<LogicalBinaryDescriptor> Finish() {
4220  const auto end = fbb_.EndTable(start_);
4221  auto o = flatbuffers::Offset<LogicalBinaryDescriptor>(end);
4222  return o;
4223  }
4224 };
4225 
4226 inline flatbuffers::Offset<LogicalBinaryDescriptor> CreateLogicalBinaryDescriptor(
4227  flatbuffers::FlatBufferBuilder &_fbb,
4229  LogicalBinaryDescriptorBuilder builder_(_fbb);
4230  builder_.add_operation(operation);
4231  return builder_.Finish();
4232 }
4233 
4234 struct LogicalBinaryLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4236  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4237  VT_BASE = 4,
4238  VT_DESCRIPTOR = 6
4239  };
4240  const armnnSerializer::LayerBase *base() const {
4241  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
4242  }
4243  const armnnSerializer::LogicalBinaryDescriptor *descriptor() const {
4244  return GetPointer<const armnnSerializer::LogicalBinaryDescriptor *>(VT_DESCRIPTOR);
4245  }
4246  bool Verify(flatbuffers::Verifier &verifier) const {
4247  return VerifyTableStart(verifier) &&
4248  VerifyOffset(verifier, VT_BASE) &&
4249  verifier.VerifyTable(base()) &&
4250  VerifyOffset(verifier, VT_DESCRIPTOR) &&
4251  verifier.VerifyTable(descriptor()) &&
4252  verifier.EndTable();
4253  }
4254 };
4255 
4257  typedef LogicalBinaryLayer Table;
4258  flatbuffers::FlatBufferBuilder &fbb_;
4259  flatbuffers::uoffset_t start_;
4260  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4261  fbb_.AddOffset(LogicalBinaryLayer::VT_BASE, base);
4262  }
4263  void add_descriptor(flatbuffers::Offset<armnnSerializer::LogicalBinaryDescriptor> descriptor) {
4264  fbb_.AddOffset(LogicalBinaryLayer::VT_DESCRIPTOR, descriptor);
4265  }
4266  explicit LogicalBinaryLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4267  : fbb_(_fbb) {
4268  start_ = fbb_.StartTable();
4269  }
4271  flatbuffers::Offset<LogicalBinaryLayer> Finish() {
4272  const auto end = fbb_.EndTable(start_);
4273  auto o = flatbuffers::Offset<LogicalBinaryLayer>(end);
4274  return o;
4275  }
4276 };
4277 
4278 inline flatbuffers::Offset<LogicalBinaryLayer> CreateLogicalBinaryLayer(
4279  flatbuffers::FlatBufferBuilder &_fbb,
4280  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
4281  flatbuffers::Offset<armnnSerializer::LogicalBinaryDescriptor> descriptor = 0) {
4282  LogicalBinaryLayerBuilder builder_(_fbb);
4283  builder_.add_descriptor(descriptor);
4284  builder_.add_base(base);
4285  return builder_.Finish();
4286 }
4287 
4288 struct MinimumLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4290  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4291  VT_BASE = 4
4292  };
4293  const armnnSerializer::LayerBase *base() const {
4294  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
4295  }
4296  bool Verify(flatbuffers::Verifier &verifier) const {
4297  return VerifyTableStart(verifier) &&
4298  VerifyOffset(verifier, VT_BASE) &&
4299  verifier.VerifyTable(base()) &&
4300  verifier.EndTable();
4301  }
4302 };
4303 
4305  typedef MinimumLayer Table;
4306  flatbuffers::FlatBufferBuilder &fbb_;
4307  flatbuffers::uoffset_t start_;
4308  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4309  fbb_.AddOffset(MinimumLayer::VT_BASE, base);
4310  }
4311  explicit MinimumLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4312  : fbb_(_fbb) {
4313  start_ = fbb_.StartTable();
4314  }
4315  MinimumLayerBuilder &operator=(const MinimumLayerBuilder &);
4316  flatbuffers::Offset<MinimumLayer> Finish() {
4317  const auto end = fbb_.EndTable(start_);
4318  auto o = flatbuffers::Offset<MinimumLayer>(end);
4319  return o;
4320  }
4321 };
4322 
4323 inline flatbuffers::Offset<MinimumLayer> CreateMinimumLayer(
4324  flatbuffers::FlatBufferBuilder &_fbb,
4325  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
4326  MinimumLayerBuilder builder_(_fbb);
4327  builder_.add_base(base);
4328  return builder_.Finish();
4329 }
4330 
4331 struct MaximumLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4333  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4334  VT_BASE = 4
4335  };
4336  const armnnSerializer::LayerBase *base() const {
4337  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
4338  }
4339  bool Verify(flatbuffers::Verifier &verifier) const {
4340  return VerifyTableStart(verifier) &&
4341  VerifyOffset(verifier, VT_BASE) &&
4342  verifier.VerifyTable(base()) &&
4343  verifier.EndTable();
4344  }
4345 };
4346 
4348  typedef MaximumLayer Table;
4349  flatbuffers::FlatBufferBuilder &fbb_;
4350  flatbuffers::uoffset_t start_;
4351  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4352  fbb_.AddOffset(MaximumLayer::VT_BASE, base);
4353  }
4354  explicit MaximumLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4355  : fbb_(_fbb) {
4356  start_ = fbb_.StartTable();
4357  }
4358  MaximumLayerBuilder &operator=(const MaximumLayerBuilder &);
4359  flatbuffers::Offset<MaximumLayer> Finish() {
4360  const auto end = fbb_.EndTable(start_);
4361  auto o = flatbuffers::Offset<MaximumLayer>(end);
4362  return o;
4363  }
4364 };
4365 
4366 inline flatbuffers::Offset<MaximumLayer> CreateMaximumLayer(
4367  flatbuffers::FlatBufferBuilder &_fbb,
4368  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
4369  MaximumLayerBuilder builder_(_fbb);
4370  builder_.add_base(base);
4371  return builder_.Finish();
4372 }
4373 
4374 struct MultiplicationLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4376  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4377  VT_BASE = 4
4378  };
4379  const armnnSerializer::LayerBase *base() const {
4380  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
4381  }
4382  bool Verify(flatbuffers::Verifier &verifier) const {
4383  return VerifyTableStart(verifier) &&
4384  VerifyOffset(verifier, VT_BASE) &&
4385  verifier.VerifyTable(base()) &&
4386  verifier.EndTable();
4387  }
4388 };
4389 
4391  typedef MultiplicationLayer Table;
4392  flatbuffers::FlatBufferBuilder &fbb_;
4393  flatbuffers::uoffset_t start_;
4394  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4395  fbb_.AddOffset(MultiplicationLayer::VT_BASE, base);
4396  }
4397  explicit MultiplicationLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4398  : fbb_(_fbb) {
4399  start_ = fbb_.StartTable();
4400  }
4402  flatbuffers::Offset<MultiplicationLayer> Finish() {
4403  const auto end = fbb_.EndTable(start_);
4404  auto o = flatbuffers::Offset<MultiplicationLayer>(end);
4405  return o;
4406  }
4407 };
4408 
4409 inline flatbuffers::Offset<MultiplicationLayer> CreateMultiplicationLayer(
4410  flatbuffers::FlatBufferBuilder &_fbb,
4411  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
4412  MultiplicationLayerBuilder builder_(_fbb);
4413  builder_.add_base(base);
4414  return builder_.Finish();
4415 }
4416 
4417 struct Pooling2dLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4419  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4420  VT_BASE = 4,
4421  VT_DESCRIPTOR = 6
4422  };
4423  const armnnSerializer::LayerBase *base() const {
4424  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
4425  }
4426  const armnnSerializer::Pooling2dDescriptor *descriptor() const {
4427  return GetPointer<const armnnSerializer::Pooling2dDescriptor *>(VT_DESCRIPTOR);
4428  }
4429  bool Verify(flatbuffers::Verifier &verifier) const {
4430  return VerifyTableStart(verifier) &&
4431  VerifyOffset(verifier, VT_BASE) &&
4432  verifier.VerifyTable(base()) &&
4433  VerifyOffset(verifier, VT_DESCRIPTOR) &&
4434  verifier.VerifyTable(descriptor()) &&
4435  verifier.EndTable();
4436  }
4437 };
4438 
4440  typedef Pooling2dLayer Table;
4441  flatbuffers::FlatBufferBuilder &fbb_;
4442  flatbuffers::uoffset_t start_;
4443  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4444  fbb_.AddOffset(Pooling2dLayer::VT_BASE, base);
4445  }
4446  void add_descriptor(flatbuffers::Offset<armnnSerializer::Pooling2dDescriptor> descriptor) {
4447  fbb_.AddOffset(Pooling2dLayer::VT_DESCRIPTOR, descriptor);
4448  }
4449  explicit Pooling2dLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4450  : fbb_(_fbb) {
4451  start_ = fbb_.StartTable();
4452  }
4453  Pooling2dLayerBuilder &operator=(const Pooling2dLayerBuilder &);
4454  flatbuffers::Offset<Pooling2dLayer> Finish() {
4455  const auto end = fbb_.EndTable(start_);
4456  auto o = flatbuffers::Offset<Pooling2dLayer>(end);
4457  return o;
4458  }
4459 };
4460 
4461 inline flatbuffers::Offset<Pooling2dLayer> CreatePooling2dLayer(
4462  flatbuffers::FlatBufferBuilder &_fbb,
4463  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
4464  flatbuffers::Offset<armnnSerializer::Pooling2dDescriptor> descriptor = 0) {
4465  Pooling2dLayerBuilder builder_(_fbb);
4466  builder_.add_descriptor(descriptor);
4467  builder_.add_base(base);
4468  return builder_.Finish();
4469 }
4470 
4471 struct Pooling2dDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4473  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4475  VT_PADLEFT = 6,
4476  VT_PADRIGHT = 8,
4477  VT_PADTOP = 10,
4478  VT_PADBOTTOM = 12,
4481  VT_STRIDEX = 18,
4482  VT_STRIDEY = 20,
4485  VT_DATALAYOUT = 26
4486  };
4488  return static_cast<armnnSerializer::PoolingAlgorithm>(GetField<int8_t>(VT_POOLTYPE, 0));
4489  }
4490  uint32_t padLeft() const {
4491  return GetField<uint32_t>(VT_PADLEFT, 0);
4492  }
4493  uint32_t padRight() const {
4494  return GetField<uint32_t>(VT_PADRIGHT, 0);
4495  }
4496  uint32_t padTop() const {
4497  return GetField<uint32_t>(VT_PADTOP, 0);
4498  }
4499  uint32_t padBottom() const {
4500  return GetField<uint32_t>(VT_PADBOTTOM, 0);
4501  }
4502  uint32_t poolWidth() const {
4503  return GetField<uint32_t>(VT_POOLWIDTH, 0);
4504  }
4505  uint32_t poolHeight() const {
4506  return GetField<uint32_t>(VT_POOLHEIGHT, 0);
4507  }
4508  uint32_t strideX() const {
4509  return GetField<uint32_t>(VT_STRIDEX, 0);
4510  }
4511  uint32_t strideY() const {
4512  return GetField<uint32_t>(VT_STRIDEY, 0);
4513  }
4515  return static_cast<armnnSerializer::OutputShapeRounding>(GetField<int8_t>(VT_OUTPUTSHAPEROUNDING, 0));
4516  }
4518  return static_cast<armnnSerializer::PaddingMethod>(GetField<int8_t>(VT_PADDINGMETHOD, 0));
4519  }
4521  return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 0));
4522  }
4523  bool Verify(flatbuffers::Verifier &verifier) const {
4524  return VerifyTableStart(verifier) &&
4525  VerifyField<int8_t>(verifier, VT_POOLTYPE) &&
4526  VerifyField<uint32_t>(verifier, VT_PADLEFT) &&
4527  VerifyField<uint32_t>(verifier, VT_PADRIGHT) &&
4528  VerifyField<uint32_t>(verifier, VT_PADTOP) &&
4529  VerifyField<uint32_t>(verifier, VT_PADBOTTOM) &&
4530  VerifyField<uint32_t>(verifier, VT_POOLWIDTH) &&
4531  VerifyField<uint32_t>(verifier, VT_POOLHEIGHT) &&
4532  VerifyField<uint32_t>(verifier, VT_STRIDEX) &&
4533  VerifyField<uint32_t>(verifier, VT_STRIDEY) &&
4534  VerifyField<int8_t>(verifier, VT_OUTPUTSHAPEROUNDING) &&
4535  VerifyField<int8_t>(verifier, VT_PADDINGMETHOD) &&
4536  VerifyField<int8_t>(verifier, VT_DATALAYOUT) &&
4537  verifier.EndTable();
4538  }
4539 };
4540 
4542  typedef Pooling2dDescriptor Table;
4543  flatbuffers::FlatBufferBuilder &fbb_;
4544  flatbuffers::uoffset_t start_;
4546  fbb_.AddElement<int8_t>(Pooling2dDescriptor::VT_POOLTYPE, static_cast<int8_t>(poolType), 0);
4547  }
4548  void add_padLeft(uint32_t padLeft) {
4549  fbb_.AddElement<uint32_t>(Pooling2dDescriptor::VT_PADLEFT, padLeft, 0);
4550  }
4551  void add_padRight(uint32_t padRight) {
4552  fbb_.AddElement<uint32_t>(Pooling2dDescriptor::VT_PADRIGHT, padRight, 0);
4553  }
4554  void add_padTop(uint32_t padTop) {
4555  fbb_.AddElement<uint32_t>(Pooling2dDescriptor::VT_PADTOP, padTop, 0);
4556  }
4557  void add_padBottom(uint32_t padBottom) {
4558  fbb_.AddElement<uint32_t>(Pooling2dDescriptor::VT_PADBOTTOM, padBottom, 0);
4559  }
4560  void add_poolWidth(uint32_t poolWidth) {
4561  fbb_.AddElement<uint32_t>(Pooling2dDescriptor::VT_POOLWIDTH, poolWidth, 0);
4562  }
4563  void add_poolHeight(uint32_t poolHeight) {
4564  fbb_.AddElement<uint32_t>(Pooling2dDescriptor::VT_POOLHEIGHT, poolHeight, 0);
4565  }
4566  void add_strideX(uint32_t strideX) {
4567  fbb_.AddElement<uint32_t>(Pooling2dDescriptor::VT_STRIDEX, strideX, 0);
4568  }
4569  void add_strideY(uint32_t strideY) {
4570  fbb_.AddElement<uint32_t>(Pooling2dDescriptor::VT_STRIDEY, strideY, 0);
4571  }
4573  fbb_.AddElement<int8_t>(Pooling2dDescriptor::VT_OUTPUTSHAPEROUNDING, static_cast<int8_t>(outputShapeRounding), 0);
4574  }
4576  fbb_.AddElement<int8_t>(Pooling2dDescriptor::VT_PADDINGMETHOD, static_cast<int8_t>(paddingMethod), 0);
4577  }
4579  fbb_.AddElement<int8_t>(Pooling2dDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 0);
4580  }
4581  explicit Pooling2dDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4582  : fbb_(_fbb) {
4583  start_ = fbb_.StartTable();
4584  }
4586  flatbuffers::Offset<Pooling2dDescriptor> Finish() {
4587  const auto end = fbb_.EndTable(start_);
4588  auto o = flatbuffers::Offset<Pooling2dDescriptor>(end);
4589  return o;
4590  }
4591 };
4592 
4593 inline flatbuffers::Offset<Pooling2dDescriptor> CreatePooling2dDescriptor(
4594  flatbuffers::FlatBufferBuilder &_fbb,
4596  uint32_t padLeft = 0,
4597  uint32_t padRight = 0,
4598  uint32_t padTop = 0,
4599  uint32_t padBottom = 0,
4600  uint32_t poolWidth = 0,
4601  uint32_t poolHeight = 0,
4602  uint32_t strideX = 0,
4603  uint32_t strideY = 0,
4607  Pooling2dDescriptorBuilder builder_(_fbb);
4608  builder_.add_strideY(strideY);
4609  builder_.add_strideX(strideX);
4610  builder_.add_poolHeight(poolHeight);
4611  builder_.add_poolWidth(poolWidth);
4612  builder_.add_padBottom(padBottom);
4613  builder_.add_padTop(padTop);
4614  builder_.add_padRight(padRight);
4615  builder_.add_padLeft(padLeft);
4616  builder_.add_dataLayout(dataLayout);
4617  builder_.add_paddingMethod(paddingMethod);
4618  builder_.add_outputShapeRounding(outputShapeRounding);
4619  builder_.add_poolType(poolType);
4620  return builder_.Finish();
4621 }
4622 
4623 struct QuantizeLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4625  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4626  VT_BASE = 4
4627  };
4628  const armnnSerializer::LayerBase *base() const {
4629  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
4630  }
4631  bool Verify(flatbuffers::Verifier &verifier) const {
4632  return VerifyTableStart(verifier) &&
4633  VerifyOffset(verifier, VT_BASE) &&
4634  verifier.VerifyTable(base()) &&
4635  verifier.EndTable();
4636  }
4637 };
4638 
4640  typedef QuantizeLayer Table;
4641  flatbuffers::FlatBufferBuilder &fbb_;
4642  flatbuffers::uoffset_t start_;
4643  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4644  fbb_.AddOffset(QuantizeLayer::VT_BASE, base);
4645  }
4646  explicit QuantizeLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4647  : fbb_(_fbb) {
4648  start_ = fbb_.StartTable();
4649  }
4650  QuantizeLayerBuilder &operator=(const QuantizeLayerBuilder &);
4651  flatbuffers::Offset<QuantizeLayer> Finish() {
4652  const auto end = fbb_.EndTable(start_);
4653  auto o = flatbuffers::Offset<QuantizeLayer>(end);
4654  return o;
4655  }
4656 };
4657 
4658 inline flatbuffers::Offset<QuantizeLayer> CreateQuantizeLayer(
4659  flatbuffers::FlatBufferBuilder &_fbb,
4660  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
4661  QuantizeLayerBuilder builder_(_fbb);
4662  builder_.add_base(base);
4663  return builder_.Finish();
4664 }
4665 
4666 struct SoftmaxLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4668  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4669  VT_BASE = 4,
4670  VT_DESCRIPTOR = 6
4671  };
4672  const armnnSerializer::LayerBase *base() const {
4673  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
4674  }
4675  const armnnSerializer::SoftmaxDescriptor *descriptor() const {
4676  return GetPointer<const armnnSerializer::SoftmaxDescriptor *>(VT_DESCRIPTOR);
4677  }
4678  bool Verify(flatbuffers::Verifier &verifier) const {
4679  return VerifyTableStart(verifier) &&
4680  VerifyOffset(verifier, VT_BASE) &&
4681  verifier.VerifyTable(base()) &&
4682  VerifyOffset(verifier, VT_DESCRIPTOR) &&
4683  verifier.VerifyTable(descriptor()) &&
4684  verifier.EndTable();
4685  }
4686 };
4687 
4689  typedef SoftmaxLayer Table;
4690  flatbuffers::FlatBufferBuilder &fbb_;
4691  flatbuffers::uoffset_t start_;
4692  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4693  fbb_.AddOffset(SoftmaxLayer::VT_BASE, base);
4694  }
4695  void add_descriptor(flatbuffers::Offset<armnnSerializer::SoftmaxDescriptor> descriptor) {
4696  fbb_.AddOffset(SoftmaxLayer::VT_DESCRIPTOR, descriptor);
4697  }
4698  explicit SoftmaxLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4699  : fbb_(_fbb) {
4700  start_ = fbb_.StartTable();
4701  }
4702  SoftmaxLayerBuilder &operator=(const SoftmaxLayerBuilder &);
4703  flatbuffers::Offset<SoftmaxLayer> Finish() {
4704  const auto end = fbb_.EndTable(start_);
4705  auto o = flatbuffers::Offset<SoftmaxLayer>(end);
4706  return o;
4707  }
4708 };
4709 
4710 inline flatbuffers::Offset<SoftmaxLayer> CreateSoftmaxLayer(
4711  flatbuffers::FlatBufferBuilder &_fbb,
4712  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
4713  flatbuffers::Offset<armnnSerializer::SoftmaxDescriptor> descriptor = 0) {
4714  SoftmaxLayerBuilder builder_(_fbb);
4715  builder_.add_descriptor(descriptor);
4716  builder_.add_base(base);
4717  return builder_.Finish();
4718 }
4719 
4720 struct SoftmaxDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4722  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4723  VT_BETA = 4
4724  };
4725  float beta() const {
4726  return GetField<float>(VT_BETA, 0.0f);
4727  }
4728  bool Verify(flatbuffers::Verifier &verifier) const {
4729  return VerifyTableStart(verifier) &&
4730  VerifyField<float>(verifier, VT_BETA) &&
4731  verifier.EndTable();
4732  }
4733 };
4734 
4736  typedef SoftmaxDescriptor Table;
4737  flatbuffers::FlatBufferBuilder &fbb_;
4738  flatbuffers::uoffset_t start_;
4739  void add_beta(float beta) {
4740  fbb_.AddElement<float>(SoftmaxDescriptor::VT_BETA, beta, 0.0f);
4741  }
4742  explicit SoftmaxDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4743  : fbb_(_fbb) {
4744  start_ = fbb_.StartTable();
4745  }
4747  flatbuffers::Offset<SoftmaxDescriptor> Finish() {
4748  const auto end = fbb_.EndTable(start_);
4749  auto o = flatbuffers::Offset<SoftmaxDescriptor>(end);
4750  return o;
4751  }
4752 };
4753 
4754 inline flatbuffers::Offset<SoftmaxDescriptor> CreateSoftmaxDescriptor(
4755  flatbuffers::FlatBufferBuilder &_fbb,
4756  float beta = 0.0f) {
4757  SoftmaxDescriptorBuilder builder_(_fbb);
4758  builder_.add_beta(beta);
4759  return builder_.Finish();
4760 }
4761 
4762 struct DepthwiseConvolution2dLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4764  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4765  VT_BASE = 4,
4766  VT_DESCRIPTOR = 6,
4767  VT_WEIGHTS = 8,
4768  VT_BIASES = 10
4769  };
4770  const armnnSerializer::LayerBase *base() const {
4771  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
4772  }
4773  const armnnSerializer::DepthwiseConvolution2dDescriptor *descriptor() const {
4774  return GetPointer<const armnnSerializer::DepthwiseConvolution2dDescriptor *>(VT_DESCRIPTOR);
4775  }
4776  const armnnSerializer::ConstTensor *weights() const {
4777  return GetPointer<const armnnSerializer::ConstTensor *>(VT_WEIGHTS);
4778  }
4779  const armnnSerializer::ConstTensor *biases() const {
4780  return GetPointer<const armnnSerializer::ConstTensor *>(VT_BIASES);
4781  }
4782  bool Verify(flatbuffers::Verifier &verifier) const {
4783  return VerifyTableStart(verifier) &&
4784  VerifyOffset(verifier, VT_BASE) &&
4785  verifier.VerifyTable(base()) &&
4786  VerifyOffset(verifier, VT_DESCRIPTOR) &&
4787  verifier.VerifyTable(descriptor()) &&
4788  VerifyOffset(verifier, VT_WEIGHTS) &&
4789  verifier.VerifyTable(weights()) &&
4790  VerifyOffset(verifier, VT_BIASES) &&
4791  verifier.VerifyTable(biases()) &&
4792  verifier.EndTable();
4793  }
4794 };
4795 
4797  typedef DepthwiseConvolution2dLayer Table;
4798  flatbuffers::FlatBufferBuilder &fbb_;
4799  flatbuffers::uoffset_t start_;
4800  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4801  fbb_.AddOffset(DepthwiseConvolution2dLayer::VT_BASE, base);
4802  }
4803  void add_descriptor(flatbuffers::Offset<armnnSerializer::DepthwiseConvolution2dDescriptor> descriptor) {
4804  fbb_.AddOffset(DepthwiseConvolution2dLayer::VT_DESCRIPTOR, descriptor);
4805  }
4806  void add_weights(flatbuffers::Offset<armnnSerializer::ConstTensor> weights) {
4807  fbb_.AddOffset(DepthwiseConvolution2dLayer::VT_WEIGHTS, weights);
4808  }
4809  void add_biases(flatbuffers::Offset<armnnSerializer::ConstTensor> biases) {
4810  fbb_.AddOffset(DepthwiseConvolution2dLayer::VT_BIASES, biases);
4811  }
4812  explicit DepthwiseConvolution2dLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4813  : fbb_(_fbb) {
4814  start_ = fbb_.StartTable();
4815  }
4817  flatbuffers::Offset<DepthwiseConvolution2dLayer> Finish() {
4818  const auto end = fbb_.EndTable(start_);
4819  auto o = flatbuffers::Offset<DepthwiseConvolution2dLayer>(end);
4820  return o;
4821  }
4822 };
4823 
4824 inline flatbuffers::Offset<DepthwiseConvolution2dLayer> CreateDepthwiseConvolution2dLayer(
4825  flatbuffers::FlatBufferBuilder &_fbb,
4826  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
4827  flatbuffers::Offset<armnnSerializer::DepthwiseConvolution2dDescriptor> descriptor = 0,
4828  flatbuffers::Offset<armnnSerializer::ConstTensor> weights = 0,
4829  flatbuffers::Offset<armnnSerializer::ConstTensor> biases = 0) {
4830  DepthwiseConvolution2dLayerBuilder builder_(_fbb);
4831  builder_.add_biases(biases);
4832  builder_.add_weights(weights);
4833  builder_.add_descriptor(descriptor);
4834  builder_.add_base(base);
4835  return builder_.Finish();
4836 }
4837 
4838 struct DepthwiseConvolution2dDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4840  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4841  VT_PADLEFT = 4,
4842  VT_PADRIGHT = 6,
4843  VT_PADTOP = 8,
4844  VT_PADBOTTOM = 10,
4845  VT_STRIDEX = 12,
4846  VT_STRIDEY = 14,
4847  VT_DILATIONX = 16,
4848  VT_DILATIONY = 18,
4849  VT_BIASENABLED = 20,
4850  VT_DATALAYOUT = 22
4851  };
4852  uint32_t padLeft() const {
4853  return GetField<uint32_t>(VT_PADLEFT, 0);
4854  }
4855  uint32_t padRight() const {
4856  return GetField<uint32_t>(VT_PADRIGHT, 0);
4857  }
4858  uint32_t padTop() const {
4859  return GetField<uint32_t>(VT_PADTOP, 0);
4860  }
4861  uint32_t padBottom() const {
4862  return GetField<uint32_t>(VT_PADBOTTOM, 0);
4863  }
4864  uint32_t strideX() const {
4865  return GetField<uint32_t>(VT_STRIDEX, 0);
4866  }
4867  uint32_t strideY() const {
4868  return GetField<uint32_t>(VT_STRIDEY, 0);
4869  }
4870  uint32_t dilationX() const {
4871  return GetField<uint32_t>(VT_DILATIONX, 1);
4872  }
4873  uint32_t dilationY() const {
4874  return GetField<uint32_t>(VT_DILATIONY, 1);
4875  }
4876  bool biasEnabled() const {
4877  return GetField<uint8_t>(VT_BIASENABLED, 0) != 0;
4878  }
4880  return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 1));
4881  }
4882  bool Verify(flatbuffers::Verifier &verifier) const {
4883  return VerifyTableStart(verifier) &&
4884  VerifyField<uint32_t>(verifier, VT_PADLEFT) &&
4885  VerifyField<uint32_t>(verifier, VT_PADRIGHT) &&
4886  VerifyField<uint32_t>(verifier, VT_PADTOP) &&
4887  VerifyField<uint32_t>(verifier, VT_PADBOTTOM) &&
4888  VerifyField<uint32_t>(verifier, VT_STRIDEX) &&
4889  VerifyField<uint32_t>(verifier, VT_STRIDEY) &&
4890  VerifyField<uint32_t>(verifier, VT_DILATIONX) &&
4891  VerifyField<uint32_t>(verifier, VT_DILATIONY) &&
4892  VerifyField<uint8_t>(verifier, VT_BIASENABLED) &&
4893  VerifyField<int8_t>(verifier, VT_DATALAYOUT) &&
4894  verifier.EndTable();
4895  }
4896 };
4897 
4899  typedef DepthwiseConvolution2dDescriptor Table;
4900  flatbuffers::FlatBufferBuilder &fbb_;
4901  flatbuffers::uoffset_t start_;
4902  void add_padLeft(uint32_t padLeft) {
4903  fbb_.AddElement<uint32_t>(DepthwiseConvolution2dDescriptor::VT_PADLEFT, padLeft, 0);
4904  }
4905  void add_padRight(uint32_t padRight) {
4906  fbb_.AddElement<uint32_t>(DepthwiseConvolution2dDescriptor::VT_PADRIGHT, padRight, 0);
4907  }
4908  void add_padTop(uint32_t padTop) {
4909  fbb_.AddElement<uint32_t>(DepthwiseConvolution2dDescriptor::VT_PADTOP, padTop, 0);
4910  }
4911  void add_padBottom(uint32_t padBottom) {
4912  fbb_.AddElement<uint32_t>(DepthwiseConvolution2dDescriptor::VT_PADBOTTOM, padBottom, 0);
4913  }
4914  void add_strideX(uint32_t strideX) {
4915  fbb_.AddElement<uint32_t>(DepthwiseConvolution2dDescriptor::VT_STRIDEX, strideX, 0);
4916  }
4917  void add_strideY(uint32_t strideY) {
4918  fbb_.AddElement<uint32_t>(DepthwiseConvolution2dDescriptor::VT_STRIDEY, strideY, 0);
4919  }
4920  void add_dilationX(uint32_t dilationX) {
4921  fbb_.AddElement<uint32_t>(DepthwiseConvolution2dDescriptor::VT_DILATIONX, dilationX, 1);
4922  }
4923  void add_dilationY(uint32_t dilationY) {
4924  fbb_.AddElement<uint32_t>(DepthwiseConvolution2dDescriptor::VT_DILATIONY, dilationY, 1);
4925  }
4926  void add_biasEnabled(bool biasEnabled) {
4927  fbb_.AddElement<uint8_t>(DepthwiseConvolution2dDescriptor::VT_BIASENABLED, static_cast<uint8_t>(biasEnabled), 0);
4928  }
4930  fbb_.AddElement<int8_t>(DepthwiseConvolution2dDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 1);
4931  }
4932  explicit DepthwiseConvolution2dDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4933  : fbb_(_fbb) {
4934  start_ = fbb_.StartTable();
4935  }
4937  flatbuffers::Offset<DepthwiseConvolution2dDescriptor> Finish() {
4938  const auto end = fbb_.EndTable(start_);
4939  auto o = flatbuffers::Offset<DepthwiseConvolution2dDescriptor>(end);
4940  return o;
4941  }
4942 };
4943 
4944 inline flatbuffers::Offset<DepthwiseConvolution2dDescriptor> CreateDepthwiseConvolution2dDescriptor(
4945  flatbuffers::FlatBufferBuilder &_fbb,
4946  uint32_t padLeft = 0,
4947  uint32_t padRight = 0,
4948  uint32_t padTop = 0,
4949  uint32_t padBottom = 0,
4950  uint32_t strideX = 0,
4951  uint32_t strideY = 0,
4952  uint32_t dilationX = 1,
4953  uint32_t dilationY = 1,
4954  bool biasEnabled = false,
4957  builder_.add_dilationY(dilationY);
4958  builder_.add_dilationX(dilationX);
4959  builder_.add_strideY(strideY);
4960  builder_.add_strideX(strideX);
4961  builder_.add_padBottom(padBottom);
4962  builder_.add_padTop(padTop);
4963  builder_.add_padRight(padRight);
4964  builder_.add_padLeft(padLeft);
4965  builder_.add_dataLayout(dataLayout);
4966  builder_.add_biasEnabled(biasEnabled);
4967  return builder_.Finish();
4968 }
4969 
4970 struct OutputLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4972  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4973  VT_BASE = 4
4974  };
4975  const armnnSerializer::BindableLayerBase *base() const {
4976  return GetPointer<const armnnSerializer::BindableLayerBase *>(VT_BASE);
4977  }
4978  bool Verify(flatbuffers::Verifier &verifier) const {
4979  return VerifyTableStart(verifier) &&
4980  VerifyOffset(verifier, VT_BASE) &&
4981  verifier.VerifyTable(base()) &&
4982  verifier.EndTable();
4983  }
4984 };
4985 
4987  typedef OutputLayer Table;
4988  flatbuffers::FlatBufferBuilder &fbb_;
4989  flatbuffers::uoffset_t start_;
4990  void add_base(flatbuffers::Offset<armnnSerializer::BindableLayerBase> base) {
4991  fbb_.AddOffset(OutputLayer::VT_BASE, base);
4992  }
4993  explicit OutputLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4994  : fbb_(_fbb) {
4995  start_ = fbb_.StartTable();
4996  }
4997  OutputLayerBuilder &operator=(const OutputLayerBuilder &);
4998  flatbuffers::Offset<OutputLayer> Finish() {
4999  const auto end = fbb_.EndTable(start_);
5000  auto o = flatbuffers::Offset<OutputLayer>(end);
5001  return o;
5002  }
5003 };
5004 
5005 inline flatbuffers::Offset<OutputLayer> CreateOutputLayer(
5006  flatbuffers::FlatBufferBuilder &_fbb,
5007  flatbuffers::Offset<armnnSerializer::BindableLayerBase> base = 0) {
5008  OutputLayerBuilder builder_(_fbb);
5009  builder_.add_base(base);
5010  return builder_.Finish();
5011 }
5012 
5013 struct ReshapeLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5015  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5016  VT_BASE = 4,
5017  VT_DESCRIPTOR = 6
5018  };
5019  const armnnSerializer::LayerBase *base() const {
5020  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
5021  }
5022  const armnnSerializer::ReshapeDescriptor *descriptor() const {
5023  return GetPointer<const armnnSerializer::ReshapeDescriptor *>(VT_DESCRIPTOR);
5024  }
5025  bool Verify(flatbuffers::Verifier &verifier) const {
5026  return VerifyTableStart(verifier) &&
5027  VerifyOffset(verifier, VT_BASE) &&
5028  verifier.VerifyTable(base()) &&
5029  VerifyOffset(verifier, VT_DESCRIPTOR) &&
5030  verifier.VerifyTable(descriptor()) &&
5031  verifier.EndTable();
5032  }
5033 };
5034 
5036  typedef ReshapeLayer Table;
5037  flatbuffers::FlatBufferBuilder &fbb_;
5038  flatbuffers::uoffset_t start_;
5039  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
5040  fbb_.AddOffset(ReshapeLayer::VT_BASE, base);
5041  }
5042  void add_descriptor(flatbuffers::Offset<armnnSerializer::ReshapeDescriptor> descriptor) {
5043  fbb_.AddOffset(ReshapeLayer::VT_DESCRIPTOR, descriptor);
5044  }
5045  explicit ReshapeLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5046  : fbb_(_fbb) {
5047  start_ = fbb_.StartTable();
5048  }
5049  ReshapeLayerBuilder &operator=(const ReshapeLayerBuilder &);
5050  flatbuffers::Offset<ReshapeLayer> Finish() {
5051  const auto end = fbb_.EndTable(start_);
5052  auto o = flatbuffers::Offset<ReshapeLayer>(end);
5053  return o;
5054  }
5055 };
5056 
5057 inline flatbuffers::Offset<ReshapeLayer> CreateReshapeLayer(
5058  flatbuffers::FlatBufferBuilder &_fbb,
5059  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
5060  flatbuffers::Offset<armnnSerializer::ReshapeDescriptor> descriptor = 0) {
5061  ReshapeLayerBuilder builder_(_fbb);
5062  builder_.add_descriptor(descriptor);
5063  builder_.add_base(base);
5064  return builder_.Finish();
5065 }
5066 
5067 struct ReshapeDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5069  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5070  VT_TARGETSHAPE = 4
5071  };
5072  const flatbuffers::Vector<uint32_t> *targetShape() const {
5073  return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_TARGETSHAPE);
5074  }
5075  bool Verify(flatbuffers::Verifier &verifier) const {
5076  return VerifyTableStart(verifier) &&
5077  VerifyOffset(verifier, VT_TARGETSHAPE) &&
5078  verifier.VerifyVector(targetShape()) &&
5079  verifier.EndTable();
5080  }
5081 };
5082 
5084  typedef ReshapeDescriptor Table;
5085  flatbuffers::FlatBufferBuilder &fbb_;
5086  flatbuffers::uoffset_t start_;
5087  void add_targetShape(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> targetShape) {
5088  fbb_.AddOffset(ReshapeDescriptor::VT_TARGETSHAPE, targetShape);
5089  }
5090  explicit ReshapeDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5091  : fbb_(_fbb) {
5092  start_ = fbb_.StartTable();
5093  }
5095  flatbuffers::Offset<ReshapeDescriptor> Finish() {
5096  const auto end = fbb_.EndTable(start_);
5097  auto o = flatbuffers::Offset<ReshapeDescriptor>(end);
5098  return o;
5099  }
5100 };
5101 
5102 inline flatbuffers::Offset<ReshapeDescriptor> CreateReshapeDescriptor(
5103  flatbuffers::FlatBufferBuilder &_fbb,
5104  flatbuffers::Offset<flatbuffers::Vector<uint32_t>> targetShape = 0) {
5105  ReshapeDescriptorBuilder builder_(_fbb);
5106  builder_.add_targetShape(targetShape);
5107  return builder_.Finish();
5108 }
5109 
5110 inline flatbuffers::Offset<ReshapeDescriptor> CreateReshapeDescriptorDirect(
5111  flatbuffers::FlatBufferBuilder &_fbb,
5112  const std::vector<uint32_t> *targetShape = nullptr) {
5113  auto targetShape__ = targetShape ? _fbb.CreateVector<uint32_t>(*targetShape) : 0;
5115  _fbb,
5116  targetShape__);
5117 }
5118 
5119 struct PermuteLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5121  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5122  VT_BASE = 4,
5123  VT_DESCRIPTOR = 6
5124  };
5125  const armnnSerializer::LayerBase *base() const {
5126  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
5127  }
5128  const armnnSerializer::PermuteDescriptor *descriptor() const {
5129  return GetPointer<const armnnSerializer::PermuteDescriptor *>(VT_DESCRIPTOR);
5130  }
5131  bool Verify(flatbuffers::Verifier &verifier) const {
5132  return VerifyTableStart(verifier) &&
5133  VerifyOffset(verifier, VT_BASE) &&
5134  verifier.VerifyTable(base()) &&
5135  VerifyOffset(verifier, VT_DESCRIPTOR) &&
5136  verifier.VerifyTable(descriptor()) &&
5137  verifier.EndTable();
5138  }
5139 };
5140 
5142  typedef PermuteLayer Table;
5143  flatbuffers::FlatBufferBuilder &fbb_;
5144  flatbuffers::uoffset_t start_;
5145  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
5146  fbb_.AddOffset(PermuteLayer::VT_BASE, base);
5147  }
5148  void add_descriptor(flatbuffers::Offset<armnnSerializer::PermuteDescriptor> descriptor) {
5149  fbb_.AddOffset(PermuteLayer::VT_DESCRIPTOR, descriptor);
5150  }
5151  explicit PermuteLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5152  : fbb_(_fbb) {
5153  start_ = fbb_.StartTable();
5154  }
5155  PermuteLayerBuilder &operator=(const PermuteLayerBuilder &);
5156  flatbuffers::Offset<PermuteLayer> Finish() {
5157  const auto end = fbb_.EndTable(start_);
5158  auto o = flatbuffers::Offset<PermuteLayer>(end);
5159  return o;
5160  }
5161 };
5162 
5163 inline flatbuffers::Offset<PermuteLayer> CreatePermuteLayer(
5164  flatbuffers::FlatBufferBuilder &_fbb,
5165  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
5166  flatbuffers::Offset<armnnSerializer::PermuteDescriptor> descriptor = 0) {
5167  PermuteLayerBuilder builder_(_fbb);
5168  builder_.add_descriptor(descriptor);
5169  builder_.add_base(base);
5170  return builder_.Finish();
5171 }
5172 
5173 struct PermuteDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5175  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5176  VT_DIMMAPPINGS = 4
5177  };
5178  const flatbuffers::Vector<uint32_t> *dimMappings() const {
5179  return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_DIMMAPPINGS);
5180  }
5181  bool Verify(flatbuffers::Verifier &verifier) const {
5182  return VerifyTableStart(verifier) &&
5183  VerifyOffset(verifier, VT_DIMMAPPINGS) &&
5184  verifier.VerifyVector(dimMappings()) &&
5185  verifier.EndTable();
5186  }
5187 };
5188 
5190  typedef PermuteDescriptor Table;
5191  flatbuffers::FlatBufferBuilder &fbb_;
5192  flatbuffers::uoffset_t start_;
5193  void add_dimMappings(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> dimMappings) {
5194  fbb_.AddOffset(PermuteDescriptor::VT_DIMMAPPINGS, dimMappings);
5195  }
5196  explicit PermuteDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5197  : fbb_(_fbb) {
5198  start_ = fbb_.StartTable();
5199  }
5201  flatbuffers::Offset<PermuteDescriptor> Finish() {
5202  const auto end = fbb_.EndTable(start_);
5203  auto o = flatbuffers::Offset<PermuteDescriptor>(end);
5204  return o;
5205  }
5206 };
5207 
5208 inline flatbuffers::Offset<PermuteDescriptor> CreatePermuteDescriptor(
5209  flatbuffers::FlatBufferBuilder &_fbb,
5210  flatbuffers::Offset<flatbuffers::Vector<uint32_t>> dimMappings = 0) {
5211  PermuteDescriptorBuilder builder_(_fbb);
5212  builder_.add_dimMappings(dimMappings);
5213  return builder_.Finish();
5214 }
5215 
5216 inline flatbuffers::Offset<PermuteDescriptor> CreatePermuteDescriptorDirect(
5217  flatbuffers::FlatBufferBuilder &_fbb,
5218  const std::vector<uint32_t> *dimMappings = nullptr) {
5219  auto dimMappings__ = dimMappings ? _fbb.CreateVector<uint32_t>(*dimMappings) : 0;
5221  _fbb,
5222  dimMappings__);
5223 }
5224 
5225 struct ShapeLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5227  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5228  VT_BASE = 4
5229  };
5230  const armnnSerializer::LayerBase *base() const {
5231  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
5232  }
5233  bool Verify(flatbuffers::Verifier &verifier) const {
5234  return VerifyTableStart(verifier) &&
5235  VerifyOffset(verifier, VT_BASE) &&
5236  verifier.VerifyTable(base()) &&
5237  verifier.EndTable();
5238  }
5239 };
5240 
5242  typedef ShapeLayer Table;
5243  flatbuffers::FlatBufferBuilder &fbb_;
5244  flatbuffers::uoffset_t start_;
5245  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
5246  fbb_.AddOffset(ShapeLayer::VT_BASE, base);
5247  }
5248  explicit ShapeLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5249  : fbb_(_fbb) {
5250  start_ = fbb_.StartTable();
5251  }
5252  ShapeLayerBuilder &operator=(const ShapeLayerBuilder &);
5253  flatbuffers::Offset<ShapeLayer> Finish() {
5254  const auto end = fbb_.EndTable(start_);
5255  auto o = flatbuffers::Offset<ShapeLayer>(end);
5256  return o;
5257  }
5258 };
5259 
5260 inline flatbuffers::Offset<ShapeLayer> CreateShapeLayer(
5261  flatbuffers::FlatBufferBuilder &_fbb,
5262  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
5263  ShapeLayerBuilder builder_(_fbb);
5264  builder_.add_base(base);
5265  return builder_.Finish();
5266 }
5267 
5268 struct SpaceToBatchNdLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5270  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5271  VT_BASE = 4,
5272  VT_DESCRIPTOR = 6
5273  };
5274  const armnnSerializer::LayerBase *base() const {
5275  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
5276  }
5277  const armnnSerializer::SpaceToBatchNdDescriptor *descriptor() const {
5278  return GetPointer<const armnnSerializer::SpaceToBatchNdDescriptor *>(VT_DESCRIPTOR);
5279  }
5280  bool Verify(flatbuffers::Verifier &verifier) const {
5281  return VerifyTableStart(verifier) &&
5282  VerifyOffset(verifier, VT_BASE) &&
5283  verifier.VerifyTable(base()) &&
5284  VerifyOffset(verifier, VT_DESCRIPTOR) &&
5285  verifier.VerifyTable(descriptor()) &&
5286  verifier.EndTable();
5287  }
5288 };
5289 
5291  typedef SpaceToBatchNdLayer Table;
5292  flatbuffers::FlatBufferBuilder &fbb_;
5293  flatbuffers::uoffset_t start_;
5294  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
5295  fbb_.AddOffset(SpaceToBatchNdLayer::VT_BASE, base);
5296  }
5297  void add_descriptor(flatbuffers::Offset<armnnSerializer::SpaceToBatchNdDescriptor> descriptor) {
5298  fbb_.AddOffset(SpaceToBatchNdLayer::VT_DESCRIPTOR, descriptor);
5299  }
5300  explicit SpaceToBatchNdLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5301  : fbb_(_fbb) {
5302  start_ = fbb_.StartTable();
5303  }
5305  flatbuffers::Offset<SpaceToBatchNdLayer> Finish() {
5306  const auto end = fbb_.EndTable(start_);
5307  auto o = flatbuffers::Offset<SpaceToBatchNdLayer>(end);
5308  return o;
5309  }
5310 };
5311 
5312 inline flatbuffers::Offset<SpaceToBatchNdLayer> CreateSpaceToBatchNdLayer(
5313  flatbuffers::FlatBufferBuilder &_fbb,
5314  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
5315  flatbuffers::Offset<armnnSerializer::SpaceToBatchNdDescriptor> descriptor = 0) {
5316  SpaceToBatchNdLayerBuilder builder_(_fbb);
5317  builder_.add_descriptor(descriptor);
5318  builder_.add_base(base);
5319  return builder_.Finish();
5320 }
5321 
5322 struct SpaceToBatchNdDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5324  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5327  VT_DATALAYOUT = 8
5328  };
5329  const flatbuffers::Vector<uint32_t> *blockShape() const {
5330  return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_BLOCKSHAPE);
5331  }
5332  const flatbuffers::Vector<uint32_t> *padList() const {
5333  return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_PADLIST);
5334  }
5336  return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 0));
5337  }
5338  bool Verify(flatbuffers::Verifier &verifier) const {
5339  return VerifyTableStart(verifier) &&
5340  VerifyOffset(verifier, VT_BLOCKSHAPE) &&
5341  verifier.VerifyVector(blockShape()) &&
5342  VerifyOffset(verifier, VT_PADLIST) &&
5343  verifier.VerifyVector(padList()) &&
5344  VerifyField<int8_t>(verifier, VT_DATALAYOUT) &&
5345  verifier.EndTable();
5346  }
5347 };
5348 
5350  typedef SpaceToBatchNdDescriptor Table;
5351  flatbuffers::FlatBufferBuilder &fbb_;
5352  flatbuffers::uoffset_t start_;
5353  void add_blockShape(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> blockShape) {
5354  fbb_.AddOffset(SpaceToBatchNdDescriptor::VT_BLOCKSHAPE, blockShape);
5355  }
5356  void add_padList(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> padList) {
5357  fbb_.AddOffset(SpaceToBatchNdDescriptor::VT_PADLIST, padList);
5358  }
5360  fbb_.AddElement<int8_t>(SpaceToBatchNdDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 0);
5361  }
5362  explicit SpaceToBatchNdDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5363  : fbb_(_fbb) {
5364  start_ = fbb_.StartTable();
5365  }
5367  flatbuffers::Offset<SpaceToBatchNdDescriptor> Finish() {
5368  const auto end = fbb_.EndTable(start_);
5369  auto o = flatbuffers::Offset<SpaceToBatchNdDescriptor>(end);
5370  return o;
5371  }
5372 };
5373 
5374 inline flatbuffers::Offset<SpaceToBatchNdDescriptor> CreateSpaceToBatchNdDescriptor(
5375  flatbuffers::FlatBufferBuilder &_fbb,
5376  flatbuffers::Offset<flatbuffers::Vector<uint32_t>> blockShape = 0,
5377  flatbuffers::Offset<flatbuffers::Vector<uint32_t>> padList = 0,
5379  SpaceToBatchNdDescriptorBuilder builder_(_fbb);
5380  builder_.add_padList(padList);
5381  builder_.add_blockShape(blockShape);
5382  builder_.add_dataLayout(dataLayout);
5383  return builder_.Finish();
5384 }
5385 
5386 inline flatbuffers::Offset<SpaceToBatchNdDescriptor> CreateSpaceToBatchNdDescriptorDirect(
5387  flatbuffers::FlatBufferBuilder &_fbb,
5388  const std::vector<uint32_t> *blockShape = nullptr,
5389  const std::vector<uint32_t> *padList = nullptr,
5391  auto blockShape__ = blockShape ? _fbb.CreateVector<uint32_t>(*blockShape) : 0;
5392  auto padList__ = padList ? _fbb.CreateVector<uint32_t>(*padList) : 0;
5394  _fbb,
5395  blockShape__,
5396  padList__,
5397  dataLayout);
5398 }
5399 
5400 struct SpaceToDepthLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5402  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5403  VT_BASE = 4,
5404  VT_DESCRIPTOR = 6
5405  };
5406  const armnnSerializer::LayerBase *base() const {
5407  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
5408  }
5409  const armnnSerializer::SpaceToDepthDescriptor *descriptor() const {
5410  return GetPointer<const armnnSerializer::SpaceToDepthDescriptor *>(VT_DESCRIPTOR);
5411  }
5412  bool Verify(flatbuffers::Verifier &verifier) const {
5413  return VerifyTableStart(verifier) &&
5414  VerifyOffset(verifier, VT_BASE) &&
5415  verifier.VerifyTable(base()) &&
5416  VerifyOffset(verifier, VT_DESCRIPTOR) &&
5417  verifier.VerifyTable(descriptor()) &&
5418  verifier.EndTable();
5419  }
5420 };
5421 
5423  typedef SpaceToDepthLayer Table;
5424  flatbuffers::FlatBufferBuilder &fbb_;
5425  flatbuffers::uoffset_t start_;
5426  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
5427  fbb_.AddOffset(SpaceToDepthLayer::VT_BASE, base);
5428  }
5429  void add_descriptor(flatbuffers::Offset<armnnSerializer::SpaceToDepthDescriptor> descriptor) {
5430  fbb_.AddOffset(SpaceToDepthLayer::VT_DESCRIPTOR, descriptor);
5431  }
5432  explicit SpaceToDepthLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5433  : fbb_(_fbb) {
5434  start_ = fbb_.StartTable();
5435  }
5437  flatbuffers::Offset<SpaceToDepthLayer> Finish() {
5438  const auto end = fbb_.EndTable(start_);
5439  auto o = flatbuffers::Offset<SpaceToDepthLayer>(end);
5440  return o;
5441  }
5442 };
5443 
5444 inline flatbuffers::Offset<SpaceToDepthLayer> CreateSpaceToDepthLayer(
5445  flatbuffers::FlatBufferBuilder &_fbb,
5446  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
5447  flatbuffers::Offset<armnnSerializer::SpaceToDepthDescriptor> descriptor = 0) {
5448  SpaceToDepthLayerBuilder builder_(_fbb);
5449  builder_.add_descriptor(descriptor);
5450  builder_.add_base(base);
5451  return builder_.Finish();
5452 }
5453 
5454 struct SpaceToDepthDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5456  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5457  VT_BLOCKSIZE = 4,
5458  VT_DATALAYOUT = 6
5459  };
5460  uint32_t blockSize() const {
5461  return GetField<uint32_t>(VT_BLOCKSIZE, 0);
5462  }
5464  return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 0));
5465  }
5466  bool Verify(flatbuffers::Verifier &verifier) const {
5467  return VerifyTableStart(verifier) &&
5468  VerifyField<uint32_t>(verifier, VT_BLOCKSIZE) &&
5469  VerifyField<int8_t>(verifier, VT_DATALAYOUT) &&
5470  verifier.EndTable();
5471  }
5472 };
5473 
5475  typedef SpaceToDepthDescriptor Table;
5476  flatbuffers::FlatBufferBuilder &fbb_;
5477  flatbuffers::uoffset_t start_;
5478  void add_blockSize(uint32_t blockSize) {
5479  fbb_.AddElement<uint32_t>(SpaceToDepthDescriptor::VT_BLOCKSIZE, blockSize, 0);
5480  }
5482  fbb_.AddElement<int8_t>(SpaceToDepthDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 0);
5483  }
5484  explicit SpaceToDepthDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5485  : fbb_(_fbb) {
5486  start_ = fbb_.StartTable();
5487  }
5489  flatbuffers::Offset<SpaceToDepthDescriptor> Finish() {
5490  const auto end = fbb_.EndTable(start_);
5491  auto o = flatbuffers::Offset<SpaceToDepthDescriptor>(end);
5492  return o;
5493  }
5494 };
5495 
5496 inline flatbuffers::Offset<SpaceToDepthDescriptor> CreateSpaceToDepthDescriptor(
5497  flatbuffers::FlatBufferBuilder &_fbb,
5498  uint32_t blockSize = 0,
5500  SpaceToDepthDescriptorBuilder builder_(_fbb);
5501  builder_.add_blockSize(blockSize);
5502  builder_.add_dataLayout(dataLayout);
5503  return builder_.Finish();
5504 }
5505 
5506 struct SubtractionLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5508  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5509  VT_BASE = 4
5510  };
5511  const armnnSerializer::LayerBase *base() const {
5512  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
5513  }
5514  bool Verify(flatbuffers::Verifier &verifier) const {
5515  return VerifyTableStart(verifier) &&
5516  VerifyOffset(verifier, VT_BASE) &&
5517  verifier.VerifyTable(base()) &&
5518  verifier.EndTable();
5519  }
5520 };
5521 
5523  typedef SubtractionLayer Table;
5524  flatbuffers::FlatBufferBuilder &fbb_;
5525  flatbuffers::uoffset_t start_;
5526  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
5527  fbb_.AddOffset(SubtractionLayer::VT_BASE, base);
5528  }
5529  explicit SubtractionLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5530  : fbb_(_fbb) {
5531  start_ = fbb_.StartTable();
5532  }
5534  flatbuffers::Offset<SubtractionLayer> Finish() {
5535  const auto end = fbb_.EndTable(start_);
5536  auto o = flatbuffers::Offset<SubtractionLayer>(end);
5537  return o;
5538  }
5539 };
5540 
5541 inline flatbuffers::Offset<SubtractionLayer> CreateSubtractionLayer(
5542  flatbuffers::FlatBufferBuilder &_fbb,
5543  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
5544  SubtractionLayerBuilder builder_(_fbb);
5545  builder_.add_base(base);
5546  return builder_.Finish();
5547 }
5548 
5549 struct BatchToSpaceNdLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5551  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5552  VT_BASE = 4,
5553  VT_DESCRIPTOR = 6
5554  };
5555  const armnnSerializer::LayerBase *base() const {
5556  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
5557  }
5558  const armnnSerializer::BatchToSpaceNdDescriptor *descriptor() const {
5559  return GetPointer<const armnnSerializer::BatchToSpaceNdDescriptor *>(VT_DESCRIPTOR);
5560  }
5561  bool Verify(flatbuffers::Verifier &verifier) const {
5562  return VerifyTableStart(verifier) &&
5563  VerifyOffset(verifier, VT_BASE) &&
5564  verifier.VerifyTable(base()) &&
5565  VerifyOffset(verifier, VT_DESCRIPTOR) &&
5566  verifier.VerifyTable(descriptor()) &&
5567  verifier.EndTable();
5568  }
5569 };
5570 
5572  typedef BatchToSpaceNdLayer Table;
5573  flatbuffers::FlatBufferBuilder &fbb_;
5574  flatbuffers::uoffset_t start_;
5575  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
5576  fbb_.AddOffset(BatchToSpaceNdLayer::VT_BASE, base);
5577  }
5578  void add_descriptor(flatbuffers::Offset<armnnSerializer::BatchToSpaceNdDescriptor> descriptor) {
5579  fbb_.AddOffset(BatchToSpaceNdLayer::VT_DESCRIPTOR, descriptor);
5580  }
5581  explicit BatchToSpaceNdLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5582  : fbb_(_fbb) {
5583  start_ = fbb_.StartTable();
5584  }
5586  flatbuffers::Offset<BatchToSpaceNdLayer> Finish() {
5587  const auto end = fbb_.EndTable(start_);
5588  auto o = flatbuffers::Offset<BatchToSpaceNdLayer>(end);
5589  return o;
5590  }
5591 };
5592 
5593 inline flatbuffers::Offset<BatchToSpaceNdLayer> CreateBatchToSpaceNdLayer(
5594  flatbuffers::FlatBufferBuilder &_fbb,
5595  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
5596  flatbuffers::Offset<armnnSerializer::BatchToSpaceNdDescriptor> descriptor = 0) {
5597  BatchToSpaceNdLayerBuilder builder_(_fbb);
5598  builder_.add_descriptor(descriptor);
5599  builder_.add_base(base);
5600  return builder_.Finish();
5601 }
5602 
5603 struct BatchToSpaceNdDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5605  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5606  VT_BLOCKSHAPE = 4,
5608  VT_DATALAYOUT = 8
5609  };
5610  const flatbuffers::Vector<uint32_t> *blockShape() const {
5611  return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_BLOCKSHAPE);
5612  }
5613  const flatbuffers::Vector<uint32_t> *crops() const {
5614  return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_CROPS);
5615  }
5617  return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 0));
5618  }
5619  bool Verify(flatbuffers::Verifier &verifier) const {
5620  return VerifyTableStart(verifier) &&
5621  VerifyOffset(verifier, VT_BLOCKSHAPE) &&
5622  verifier.VerifyVector(blockShape()) &&
5623  VerifyOffset(verifier, VT_CROPS) &&
5624  verifier.VerifyVector(crops()) &&
5625  VerifyField<int8_t>(verifier, VT_DATALAYOUT) &&
5626  verifier.EndTable();
5627  }
5628 };
5629 
5631  typedef BatchToSpaceNdDescriptor Table;
5632  flatbuffers::FlatBufferBuilder &fbb_;
5633  flatbuffers::uoffset_t start_;
5634  void add_blockShape(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> blockShape) {
5635  fbb_.AddOffset(BatchToSpaceNdDescriptor::VT_BLOCKSHAPE, blockShape);
5636  }
5637  void add_crops(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> crops) {
5638  fbb_.AddOffset(BatchToSpaceNdDescriptor::VT_CROPS, crops);
5639  }
5641  fbb_.AddElement<int8_t>(BatchToSpaceNdDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 0);
5642  }
5643  explicit BatchToSpaceNdDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5644  : fbb_(_fbb) {
5645  start_ = fbb_.StartTable();
5646  }
5648  flatbuffers::Offset<BatchToSpaceNdDescriptor> Finish() {
5649  const auto end = fbb_.EndTable(start_);
5650  auto o = flatbuffers::Offset<BatchToSpaceNdDescriptor>(end);
5651  return o;
5652  }
5653 };
5654 
5655 inline flatbuffers::Offset<BatchToSpaceNdDescriptor> CreateBatchToSpaceNdDescriptor(
5656  flatbuffers::FlatBufferBuilder &_fbb,
5657  flatbuffers::Offset<flatbuffers::Vector<uint32_t>> blockShape = 0,
5658  flatbuffers::Offset<flatbuffers::Vector<uint32_t>> crops = 0,
5660  BatchToSpaceNdDescriptorBuilder builder_(_fbb);
5661  builder_.add_crops(crops);
5662  builder_.add_blockShape(blockShape);
5663  builder_.add_dataLayout(dataLayout);
5664  return builder_.Finish();
5665 }
5666 
5667 inline flatbuffers::Offset<BatchToSpaceNdDescriptor> CreateBatchToSpaceNdDescriptorDirect(
5668  flatbuffers::FlatBufferBuilder &_fbb,
5669  const std::vector<uint32_t> *blockShape = nullptr,
5670  const std::vector<uint32_t> *crops = nullptr,
5672  auto blockShape__ = blockShape ? _fbb.CreateVector<uint32_t>(*blockShape) : 0;
5673  auto crops__ = crops ? _fbb.CreateVector<uint32_t>(*crops) : 0;
5675  _fbb,
5676  blockShape__,
5677  crops__,
5678  dataLayout);
5679 }
5680 
5681 struct NormalizationLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5683  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5684  VT_BASE = 4,
5685  VT_DESCRIPTOR = 6
5686  };
5687  const armnnSerializer::LayerBase *base() const {
5688  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
5689  }
5690  const armnnSerializer::NormalizationDescriptor *descriptor() const {
5691  return GetPointer<const armnnSerializer::NormalizationDescriptor *>(VT_DESCRIPTOR);
5692  }
5693  bool Verify(flatbuffers::Verifier &verifier) const {
5694  return VerifyTableStart(verifier) &&
5695  VerifyOffset(verifier, VT_BASE) &&
5696  verifier.VerifyTable(base()) &&
5697  VerifyOffset(verifier, VT_DESCRIPTOR) &&
5698  verifier.VerifyTable(descriptor()) &&
5699  verifier.EndTable();
5700  }
5701 };
5702 
5704  typedef NormalizationLayer Table;
5705  flatbuffers::FlatBufferBuilder &fbb_;
5706  flatbuffers::uoffset_t start_;
5707  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
5708  fbb_.AddOffset(NormalizationLayer::VT_BASE, base);
5709  }
5710  void add_descriptor(flatbuffers::Offset<armnnSerializer::NormalizationDescriptor> descriptor) {
5711  fbb_.AddOffset(NormalizationLayer::VT_DESCRIPTOR, descriptor);
5712  }
5713  explicit NormalizationLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5714  : fbb_(_fbb) {
5715  start_ = fbb_.StartTable();
5716  }
5718  flatbuffers::Offset<NormalizationLayer> Finish() {
5719  const auto end = fbb_.EndTable(start_);
5720  auto o = flatbuffers::Offset<NormalizationLayer>(end);
5721  return o;
5722  }
5723 };
5724 
5725 inline flatbuffers::Offset<NormalizationLayer> CreateNormalizationLayer(
5726  flatbuffers::FlatBufferBuilder &_fbb,
5727  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
5728  flatbuffers::Offset<armnnSerializer::NormalizationDescriptor> descriptor = 0) {
5729  NormalizationLayerBuilder builder_(_fbb);
5730  builder_.add_descriptor(descriptor);
5731  builder_.add_base(base);
5732  return builder_.Finish();
5733 }
5734 
5735 struct NormalizationDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5737  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5741  VT_ALPHA = 10,
5742  VT_BETA = 12,
5743  VT_K = 14,
5744  VT_DATALAYOUT = 16
5745  };
5747  return static_cast<armnnSerializer::NormalizationAlgorithmChannel>(GetField<int8_t>(VT_NORMCHANNELTYPE, 0));
5748  }
5750  return static_cast<armnnSerializer::NormalizationAlgorithmMethod>(GetField<int8_t>(VT_NORMMETHODTYPE, 0));
5751  }
5752  uint32_t normSize() const {
5753  return GetField<uint32_t>(VT_NORMSIZE, 0);
5754  }
5755  float alpha() const {
5756  return GetField<float>(VT_ALPHA, 0.0f);
5757  }
5758  float beta() const {
5759  return GetField<float>(VT_BETA, 0.0f);
5760  }
5761  float k() const {
5762  return GetField<float>(VT_K, 0.0f);
5763  }
5765  return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 1));
5766  }
5767  bool Verify(flatbuffers::Verifier &verifier) const {
5768  return VerifyTableStart(verifier) &&
5769  VerifyField<int8_t>(verifier, VT_NORMCHANNELTYPE) &&
5770  VerifyField<int8_t>(verifier, VT_NORMMETHODTYPE) &&
5771  VerifyField<uint32_t>(verifier, VT_NORMSIZE) &&
5772  VerifyField<float>(verifier, VT_ALPHA) &&
5773  VerifyField<float>(verifier, VT_BETA) &&
5774  VerifyField<float>(verifier, VT_K) &&
5775  VerifyField<int8_t>(verifier, VT_DATALAYOUT) &&
5776  verifier.EndTable();
5777  }
5778 };
5779 
5781  typedef NormalizationDescriptor Table;
5782  flatbuffers::FlatBufferBuilder &fbb_;
5783  flatbuffers::uoffset_t start_;
5785  fbb_.AddElement<int8_t>(NormalizationDescriptor::VT_NORMCHANNELTYPE, static_cast<int8_t>(normChannelType), 0);
5786  }
5788  fbb_.AddElement<int8_t>(NormalizationDescriptor::VT_NORMMETHODTYPE, static_cast<int8_t>(normMethodType), 0);
5789  }
5790  void add_normSize(uint32_t normSize) {
5791  fbb_.AddElement<uint32_t>(NormalizationDescriptor::VT_NORMSIZE, normSize, 0);
5792  }
5793  void add_alpha(float alpha) {
5794  fbb_.AddElement<float>(NormalizationDescriptor::VT_ALPHA, alpha, 0.0f);
5795  }
5796  void add_beta(float beta) {
5797  fbb_.AddElement<float>(NormalizationDescriptor::VT_BETA, beta, 0.0f);
5798  }
5799  void add_k(float k) {
5800  fbb_.AddElement<float>(NormalizationDescriptor::VT_K, k, 0.0f);
5801  }
5803  fbb_.AddElement<int8_t>(NormalizationDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 1);
5804  }
5805  explicit NormalizationDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5806  : fbb_(_fbb) {
5807  start_ = fbb_.StartTable();
5808  }
5810  flatbuffers::Offset<NormalizationDescriptor> Finish() {
5811  const auto end = fbb_.EndTable(start_);
5812  auto o = flatbuffers::Offset<NormalizationDescriptor>(end);
5813  return o;
5814  }
5815 };
5816 
5817 inline flatbuffers::Offset<NormalizationDescriptor> CreateNormalizationDescriptor(
5818  flatbuffers::FlatBufferBuilder &_fbb,
5821  uint32_t normSize = 0,
5822  float alpha = 0.0f,
5823  float beta = 0.0f,
5824  float k = 0.0f,
5826  NormalizationDescriptorBuilder builder_(_fbb);
5827  builder_.add_k(k);
5828  builder_.add_beta(beta);
5829  builder_.add_alpha(alpha);
5830  builder_.add_normSize(normSize);
5831  builder_.add_dataLayout(dataLayout);
5832  builder_.add_normMethodType(normMethodType);
5833  builder_.add_normChannelType(normChannelType);
5834  return builder_.Finish();
5835 }
5836 
5837 struct MeanLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5839  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5840  VT_BASE = 4,
5841  VT_DESCRIPTOR = 6
5842  };
5843  const armnnSerializer::LayerBase *base() const {
5844  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
5845  }
5846  const armnnSerializer::MeanDescriptor *descriptor() const {
5847  return GetPointer<const armnnSerializer::MeanDescriptor *>(VT_DESCRIPTOR);
5848  }
5849  bool Verify(flatbuffers::Verifier &verifier) const {
5850  return VerifyTableStart(verifier) &&
5851  VerifyOffset(verifier, VT_BASE) &&
5852  verifier.VerifyTable(base()) &&
5853  VerifyOffset(verifier, VT_DESCRIPTOR) &&
5854  verifier.VerifyTable(descriptor()) &&
5855  verifier.EndTable();
5856  }
5857 };
5858 
5860  typedef MeanLayer Table;
5861  flatbuffers::FlatBufferBuilder &fbb_;
5862  flatbuffers::uoffset_t start_;
5863  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
5864  fbb_.AddOffset(MeanLayer::VT_BASE, base);
5865  }
5866  void add_descriptor(flatbuffers::Offset<armnnSerializer::MeanDescriptor> descriptor) {
5867  fbb_.AddOffset(MeanLayer::VT_DESCRIPTOR, descriptor);
5868  }
5869  explicit MeanLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5870  : fbb_(_fbb) {
5871  start_ = fbb_.StartTable();
5872  }
5873  MeanLayerBuilder &operator=(const MeanLayerBuilder &);
5874  flatbuffers::Offset<MeanLayer> Finish() {
5875  const auto end = fbb_.EndTable(start_);
5876  auto o = flatbuffers::Offset<MeanLayer>(end);
5877  return o;
5878  }
5879 };
5880 
5881 inline flatbuffers::Offset<MeanLayer> CreateMeanLayer(
5882  flatbuffers::FlatBufferBuilder &_fbb,
5883  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
5884  flatbuffers::Offset<armnnSerializer::MeanDescriptor> descriptor = 0) {
5885  MeanLayerBuilder builder_(_fbb);
5886  builder_.add_descriptor(descriptor);
5887  builder_.add_base(base);
5888  return builder_.Finish();
5889 }
5890 
5891 struct MeanDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5893  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5894  VT_AXIS = 4,
5895  VT_KEEPDIMS = 6
5896  };
5897  const flatbuffers::Vector<uint32_t> *axis() const {
5898  return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_AXIS);
5899  }
5900  bool keepDims() const {
5901  return GetField<uint8_t>(VT_KEEPDIMS, 0) != 0;
5902  }
5903  bool Verify(flatbuffers::Verifier &verifier) const {
5904  return VerifyTableStart(verifier) &&
5905  VerifyOffset(verifier, VT_AXIS) &&
5906  verifier.VerifyVector(axis()) &&
5907  VerifyField<uint8_t>(verifier, VT_KEEPDIMS) &&
5908  verifier.EndTable();
5909  }
5910 };
5911 
5913  typedef MeanDescriptor Table;
5914  flatbuffers::FlatBufferBuilder &fbb_;
5915  flatbuffers::uoffset_t start_;
5916  void add_axis(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> axis) {
5917  fbb_.AddOffset(MeanDescriptor::VT_AXIS, axis);
5918  }
5919  void add_keepDims(bool keepDims) {
5920  fbb_.AddElement<uint8_t>(MeanDescriptor::VT_KEEPDIMS, static_cast<uint8_t>(keepDims), 0);
5921  }
5922  explicit MeanDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5923  : fbb_(_fbb) {
5924  start_ = fbb_.StartTable();
5925  }
5926  MeanDescriptorBuilder &operator=(const MeanDescriptorBuilder &);
5927  flatbuffers::Offset<MeanDescriptor> Finish() {
5928  const auto end = fbb_.EndTable(start_);
5929  auto o = flatbuffers::Offset<MeanDescriptor>(end);
5930  return o;
5931  }
5932 };
5933 
5934 inline flatbuffers::Offset<MeanDescriptor> CreateMeanDescriptor(
5935  flatbuffers::FlatBufferBuilder &_fbb,
5936  flatbuffers::Offset<flatbuffers::Vector<uint32_t>> axis = 0,
5937  bool keepDims = false) {
5938  MeanDescriptorBuilder builder_(_fbb);
5939  builder_.add_axis(axis);
5940  builder_.add_keepDims(keepDims);
5941  return builder_.Finish();
5942 }
5943 
5944 inline flatbuffers::Offset<MeanDescriptor> CreateMeanDescriptorDirect(
5945  flatbuffers::FlatBufferBuilder &_fbb,
5946  const std::vector<uint32_t> *axis = nullptr,
5947  bool keepDims = false) {
5948  auto axis__ = axis ? _fbb.CreateVector<uint32_t>(*axis) : 0;
5950  _fbb,
5951  axis__,
5952  keepDims);
5953 }
5954 
5955 struct PadLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5957  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5958  VT_BASE = 4,
5959  VT_DESCRIPTOR = 6
5960  };
5961  const armnnSerializer::LayerBase *base() const {
5962  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
5963  }
5964  const armnnSerializer::PadDescriptor *descriptor() const {
5965  return GetPointer<const armnnSerializer::PadDescriptor *>(VT_DESCRIPTOR);
5966  }
5967  bool Verify(flatbuffers::Verifier &verifier) const {
5968  return VerifyTableStart(verifier) &&
5969  VerifyOffset(verifier, VT_BASE) &&
5970  verifier.VerifyTable(base()) &&
5971  VerifyOffset(verifier, VT_DESCRIPTOR) &&
5972  verifier.VerifyTable(descriptor()) &&
5973  verifier.EndTable();
5974  }
5975 };
5976 
5978  typedef PadLayer Table;
5979  flatbuffers::FlatBufferBuilder &fbb_;
5980  flatbuffers::uoffset_t start_;
5981  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
5982  fbb_.AddOffset(PadLayer::VT_BASE, base);
5983  }
5984  void add_descriptor(flatbuffers::Offset<armnnSerializer::PadDescriptor> descriptor) {
5985  fbb_.AddOffset(PadLayer::VT_DESCRIPTOR, descriptor);
5986  }
5987  explicit PadLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5988  : fbb_(_fbb) {
5989  start_ = fbb_.StartTable();
5990  }
5991  PadLayerBuilder &operator=(const PadLayerBuilder &);
5992  flatbuffers::Offset<PadLayer> Finish() {
5993  const auto end = fbb_.EndTable(start_);
5994  auto o = flatbuffers::Offset<PadLayer>(end);
5995  return o;
5996  }
5997 };
5998 
5999 inline flatbuffers::Offset<PadLayer> CreatePadLayer(
6000  flatbuffers::FlatBufferBuilder &_fbb,
6001  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
6002  flatbuffers::Offset<armnnSerializer::PadDescriptor> descriptor = 0) {
6003  PadLayerBuilder builder_(_fbb);
6004  builder_.add_descriptor(descriptor);
6005  builder_.add_base(base);
6006  return builder_.Finish();
6007 }
6008 
6009 struct PadDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6011  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6012  VT_PADLIST = 4,
6013  VT_PADVALUE = 6
6014  };
6015  const flatbuffers::Vector<uint32_t> *padList() const {
6016  return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_PADLIST);
6017  }
6018  float padValue() const {
6019  return GetField<float>(VT_PADVALUE, 0.0f);
6020  }
6021  bool Verify(flatbuffers::Verifier &verifier) const {
6022  return VerifyTableStart(verifier) &&
6023  VerifyOffset(verifier, VT_PADLIST) &&
6024  verifier.VerifyVector(padList()) &&
6025  VerifyField<float>(verifier, VT_PADVALUE) &&
6026  verifier.EndTable();
6027  }
6028 };
6029 
6031  typedef PadDescriptor Table;
6032  flatbuffers::FlatBufferBuilder &fbb_;
6033  flatbuffers::uoffset_t start_;
6034  void add_padList(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> padList) {
6035  fbb_.AddOffset(PadDescriptor::VT_PADLIST, padList);
6036  }
6037  void add_padValue(float padValue) {
6038  fbb_.AddElement<float>(PadDescriptor::VT_PADVALUE, padValue, 0.0f);
6039  }
6040  explicit PadDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6041  : fbb_(_fbb) {
6042  start_ = fbb_.StartTable();
6043  }
6044  PadDescriptorBuilder &operator=(const PadDescriptorBuilder &);
6045  flatbuffers::Offset<PadDescriptor> Finish() {
6046  const auto end = fbb_.EndTable(start_);
6047  auto o = flatbuffers::Offset<PadDescriptor>(end);
6048  return o;
6049  }
6050 };
6051 
6052 inline flatbuffers::Offset<PadDescriptor> CreatePadDescriptor(
6053  flatbuffers::FlatBufferBuilder &_fbb,
6054  flatbuffers::Offset<flatbuffers::Vector<uint32_t>> padList = 0,
6055  float padValue = 0.0f) {
6056  PadDescriptorBuilder builder_(_fbb);
6057  builder_.add_padValue(padValue);
6058  builder_.add_padList(padList);
6059  return builder_.Finish();
6060 }
6061 
6062 inline flatbuffers::Offset<PadDescriptor> CreatePadDescriptorDirect(
6063  flatbuffers::FlatBufferBuilder &_fbb,
6064  const std::vector<uint32_t> *padList = nullptr,
6065  float padValue = 0.0f) {
6066  auto padList__ = padList ? _fbb.CreateVector<uint32_t>(*padList) : 0;
6068  _fbb,
6069  padList__,
6070  padValue);
6071 }
6072 
6073 /// @deprecated Use ElementwiseUnaryLayer instead
6074 struct RsqrtLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6076  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6077  VT_BASE = 4
6078  };
6079  const armnnSerializer::LayerBase *base() const {
6080  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
6081  }
6082  bool Verify(flatbuffers::Verifier &verifier) const {
6083  return VerifyTableStart(verifier) &&
6084  VerifyOffset(verifier, VT_BASE) &&
6085  verifier.VerifyTable(base()) &&
6086  verifier.EndTable();
6087  }
6088 };
6089 
6091  typedef RsqrtLayer Table;
6092  flatbuffers::FlatBufferBuilder &fbb_;
6093  flatbuffers::uoffset_t start_;
6094  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
6095  fbb_.AddOffset(RsqrtLayer::VT_BASE, base);
6096  }
6097  explicit RsqrtLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6098  : fbb_(_fbb) {
6099  start_ = fbb_.StartTable();
6100  }
6101  RsqrtLayerBuilder &operator=(const RsqrtLayerBuilder &);
6102  flatbuffers::Offset<RsqrtLayer> Finish() {
6103  const auto end = fbb_.EndTable(start_);
6104  auto o = flatbuffers::Offset<RsqrtLayer>(end);
6105  return o;
6106  }
6107 };
6108 
6109 inline flatbuffers::Offset<RsqrtLayer> CreateRsqrtLayer(
6110  flatbuffers::FlatBufferBuilder &_fbb,
6111  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
6112  RsqrtLayerBuilder builder_(_fbb);
6113  builder_.add_base(base);
6114  return builder_.Finish();
6115 }
6116 
6117 struct BatchNormalizationLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6119  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6120  VT_BASE = 4,
6121  VT_DESCRIPTOR = 6,
6122  VT_MEAN = 8,
6124  VT_BETA = 12,
6125  VT_GAMMA = 14
6126  };
6127  const armnnSerializer::LayerBase *base() const {
6128  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
6129  }
6130  const armnnSerializer::BatchNormalizationDescriptor *descriptor() const {
6131  return GetPointer<const armnnSerializer::BatchNormalizationDescriptor *>(VT_DESCRIPTOR);
6132  }
6133  const armnnSerializer::ConstTensor *mean() const {
6134  return GetPointer<const armnnSerializer::ConstTensor *>(VT_MEAN);
6135  }
6136  const armnnSerializer::ConstTensor *variance() const {
6137  return GetPointer<const armnnSerializer::ConstTensor *>(VT_VARIANCE);
6138  }
6139  const armnnSerializer::ConstTensor *beta() const {
6140  return GetPointer<const armnnSerializer::ConstTensor *>(VT_BETA);
6141  }
6142  const armnnSerializer::ConstTensor *gamma() const {
6143  return GetPointer<const armnnSerializer::ConstTensor *>(VT_GAMMA);
6144  }
6145  bool Verify(flatbuffers::Verifier &verifier) const {
6146  return VerifyTableStart(verifier) &&
6147  VerifyOffset(verifier, VT_BASE) &&
6148  verifier.VerifyTable(base()) &&
6149  VerifyOffset(verifier, VT_DESCRIPTOR) &&
6150  verifier.VerifyTable(descriptor()) &&
6151  VerifyOffset(verifier, VT_MEAN) &&
6152  verifier.VerifyTable(mean()) &&
6153  VerifyOffset(verifier, VT_VARIANCE) &&
6154  verifier.VerifyTable(variance()) &&
6155  VerifyOffset(verifier, VT_BETA) &&
6156  verifier.VerifyTable(beta()) &&
6157  VerifyOffset(verifier, VT_GAMMA) &&
6158  verifier.VerifyTable(gamma()) &&
6159  verifier.EndTable();
6160  }
6161 };
6162 
6164  typedef BatchNormalizationLayer Table;
6165  flatbuffers::FlatBufferBuilder &fbb_;
6166  flatbuffers::uoffset_t start_;
6167  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
6168  fbb_.AddOffset(BatchNormalizationLayer::VT_BASE, base);
6169  }
6170  void add_descriptor(flatbuffers::Offset<armnnSerializer::BatchNormalizationDescriptor> descriptor) {
6171  fbb_.AddOffset(BatchNormalizationLayer::VT_DESCRIPTOR, descriptor);
6172  }
6173  void add_mean(flatbuffers::Offset<armnnSerializer::ConstTensor> mean) {
6174  fbb_.AddOffset(BatchNormalizationLayer::VT_MEAN, mean);
6175  }
6176  void add_variance(flatbuffers::Offset<armnnSerializer::ConstTensor> variance) {
6177  fbb_.AddOffset(BatchNormalizationLayer::VT_VARIANCE, variance);
6178  }
6179  void add_beta(flatbuffers::Offset<armnnSerializer::ConstTensor> beta) {
6180  fbb_.AddOffset(BatchNormalizationLayer::VT_BETA, beta);
6181  }
6182  void add_gamma(flatbuffers::Offset<armnnSerializer::ConstTensor> gamma) {
6183  fbb_.AddOffset(BatchNormalizationLayer::VT_GAMMA, gamma);
6184  }
6185  explicit BatchNormalizationLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6186  : fbb_(_fbb) {
6187  start_ = fbb_.StartTable();
6188  }
6190  flatbuffers::Offset<BatchNormalizationLayer> Finish() {
6191  const auto end = fbb_.EndTable(start_);
6192  auto o = flatbuffers::Offset<BatchNormalizationLayer>(end);
6193  return o;
6194  }
6195 };
6196 
6197 inline flatbuffers::Offset<BatchNormalizationLayer> CreateBatchNormalizationLayer(
6198  flatbuffers::FlatBufferBuilder &_fbb,
6199  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
6200  flatbuffers::Offset<armnnSerializer::BatchNormalizationDescriptor> descriptor = 0,
6201  flatbuffers::Offset<armnnSerializer::ConstTensor> mean = 0,
6202  flatbuffers::Offset<armnnSerializer::ConstTensor> variance = 0,
6203  flatbuffers::Offset<armnnSerializer::ConstTensor> beta = 0,
6204  flatbuffers::Offset<armnnSerializer::ConstTensor> gamma = 0) {
6205  BatchNormalizationLayerBuilder builder_(_fbb);
6206  builder_.add_gamma(gamma);
6207  builder_.add_beta(beta);
6208  builder_.add_variance(variance);
6209  builder_.add_mean(mean);
6210  builder_.add_descriptor(descriptor);
6211  builder_.add_base(base);
6212  return builder_.Finish();
6213 }
6214 
6215 struct BatchNormalizationDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6217  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6218  VT_EPS = 4,
6219  VT_DATALAYOUT = 6
6220  };
6221  float eps() const {
6222  return GetField<float>(VT_EPS, 0.0f);
6223  }
6225  return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 0));
6226  }
6227  bool Verify(flatbuffers::Verifier &verifier) const {
6228  return VerifyTableStart(verifier) &&
6229  VerifyField<float>(verifier, VT_EPS) &&
6230  VerifyField<int8_t>(verifier, VT_DATALAYOUT) &&
6231  verifier.EndTable();
6232  }
6233 };
6234 
6236  typedef BatchNormalizationDescriptor Table;
6237  flatbuffers::FlatBufferBuilder &fbb_;
6238  flatbuffers::uoffset_t start_;
6239  void add_eps(float eps) {
6240  fbb_.AddElement<float>(BatchNormalizationDescriptor::VT_EPS, eps, 0.0f);
6241  }
6243  fbb_.AddElement<int8_t>(BatchNormalizationDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 0);
6244  }
6245  explicit BatchNormalizationDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6246  : fbb_(_fbb) {
6247  start_ = fbb_.StartTable();
6248  }
6250  flatbuffers::Offset<BatchNormalizationDescriptor> Finish() {
6251  const auto end = fbb_.EndTable(start_);
6252  auto o = flatbuffers::Offset<BatchNormalizationDescriptor>(end);
6253  return o;
6254  }
6255 };
6256 
6257 inline flatbuffers::Offset<BatchNormalizationDescriptor> CreateBatchNormalizationDescriptor(
6258  flatbuffers::FlatBufferBuilder &_fbb,
6259  float eps = 0.0f,
6261  BatchNormalizationDescriptorBuilder builder_(_fbb);
6262  builder_.add_eps(eps);
6263  builder_.add_dataLayout(dataLayout);
6264  return builder_.Finish();
6265 }
6266 
6267 /// @deprecated Use ResizeLayer instead
6268 struct ResizeBilinearLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6270  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6271  VT_BASE = 4,
6272  VT_DESCRIPTOR = 6
6273  };
6274  const armnnSerializer::LayerBase *base() const {
6275  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
6276  }
6277  const armnnSerializer::ResizeBilinearDescriptor *descriptor() const {
6278  return GetPointer<const armnnSerializer::ResizeBilinearDescriptor *>(VT_DESCRIPTOR);
6279  }
6280  bool Verify(flatbuffers::Verifier &verifier) const {
6281  return VerifyTableStart(verifier) &&
6282  VerifyOffset(verifier, VT_BASE) &&
6283  verifier.VerifyTable(base()) &&
6284  VerifyOffset(verifier, VT_DESCRIPTOR) &&
6285  verifier.VerifyTable(descriptor()) &&
6286  verifier.EndTable();
6287  }
6288 };
6289 
6291  typedef ResizeBilinearLayer Table;
6292  flatbuffers::FlatBufferBuilder &fbb_;
6293  flatbuffers::uoffset_t start_;
6294  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
6295  fbb_.AddOffset(ResizeBilinearLayer::VT_BASE, base);
6296  }
6297  void add_descriptor(flatbuffers::Offset<armnnSerializer::ResizeBilinearDescriptor> descriptor) {
6298  fbb_.AddOffset(ResizeBilinearLayer::VT_DESCRIPTOR, descriptor);
6299  }
6300  explicit ResizeBilinearLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6301  : fbb_(_fbb) {
6302  start_ = fbb_.StartTable();
6303  }
6305  flatbuffers::Offset<ResizeBilinearLayer> Finish() {
6306  const auto end = fbb_.EndTable(start_);
6307  auto o = flatbuffers::Offset<ResizeBilinearLayer>(end);
6308  return o;
6309  }
6310 };
6311 
6312 inline flatbuffers::Offset<ResizeBilinearLayer> CreateResizeBilinearLayer(
6313  flatbuffers::FlatBufferBuilder &_fbb,
6314  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
6315  flatbuffers::Offset<armnnSerializer::ResizeBilinearDescriptor> descriptor = 0) {
6316  ResizeBilinearLayerBuilder builder_(_fbb);
6317  builder_.add_descriptor(descriptor);
6318  builder_.add_base(base);
6319  return builder_.Finish();
6320 }
6321 
6322 struct ResizeBilinearDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6324  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6327  VT_DATALAYOUT = 8,
6329  VT_HALFPIXELCENTERS = 12
6330  };
6331  uint32_t targetWidth() const {
6332  return GetField<uint32_t>(VT_TARGETWIDTH, 0);
6333  }
6334  uint32_t targetHeight() const {
6335  return GetField<uint32_t>(VT_TARGETHEIGHT, 0);
6336  }
6338  return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 0));
6339  }
6340  bool alignCorners() const {
6341  return GetField<uint8_t>(VT_ALIGNCORNERS, 0) != 0;
6342  }
6343  bool halfPixelCenters() const {
6344  return GetField<uint8_t>(VT_HALFPIXELCENTERS, 0) != 0;
6345  }
6346  bool Verify(flatbuffers::Verifier &verifier) const {
6347  return VerifyTableStart(verifier) &&
6348  VerifyField<uint32_t>(verifier, VT_TARGETWIDTH) &&
6349  VerifyField<uint32_t>(verifier, VT_TARGETHEIGHT) &&
6350  VerifyField<int8_t>(verifier, VT_DATALAYOUT) &&
6351  VerifyField<uint8_t>(verifier, VT_ALIGNCORNERS) &&
6352  VerifyField<uint8_t>(verifier, VT_HALFPIXELCENTERS) &&
6353  verifier.EndTable();
6354  }
6355 };
6356 
6358  typedef ResizeBilinearDescriptor Table;
6359  flatbuffers::FlatBufferBuilder &fbb_;
6360  flatbuffers::uoffset_t start_;
6361  void add_targetWidth(uint32_t targetWidth) {
6362  fbb_.AddElement<uint32_t>(ResizeBilinearDescriptor::VT_TARGETWIDTH, targetWidth, 0);
6363  }
6364  void add_targetHeight(uint32_t targetHeight) {
6365  fbb_.AddElement<uint32_t>(ResizeBilinearDescriptor::VT_TARGETHEIGHT, targetHeight, 0);
6366  }
6368  fbb_.AddElement<int8_t>(ResizeBilinearDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 0);
6369  }
6370  void add_alignCorners(bool alignCorners) {
6371  fbb_.AddElement<uint8_t>(ResizeBilinearDescriptor::VT_ALIGNCORNERS, static_cast<uint8_t>(alignCorners), 0);
6372  }
6373  void add_halfPixelCenters(bool halfPixelCenters) {
6374  fbb_.AddElement<uint8_t>(ResizeBilinearDescriptor::VT_HALFPIXELCENTERS, static_cast<uint8_t>(halfPixelCenters), 0);
6375  }
6376  explicit ResizeBilinearDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6377  : fbb_(_fbb) {
6378  start_ = fbb_.StartTable();
6379  }
6381  flatbuffers::Offset<ResizeBilinearDescriptor> Finish() {
6382  const auto end = fbb_.EndTable(start_);
6383  auto o = flatbuffers::Offset<ResizeBilinearDescriptor>(end);
6384  return o;
6385  }
6386 };
6387 
6388 inline flatbuffers::Offset<ResizeBilinearDescriptor> CreateResizeBilinearDescriptor(
6389  flatbuffers::FlatBufferBuilder &_fbb,
6390  uint32_t targetWidth = 0,
6391  uint32_t targetHeight = 0,
6393  bool alignCorners = false,
6394  bool halfPixelCenters = false) {
6395  ResizeBilinearDescriptorBuilder builder_(_fbb);
6396  builder_.add_targetHeight(targetHeight);
6397  builder_.add_targetWidth(targetWidth);
6398  builder_.add_halfPixelCenters(halfPixelCenters);
6399  builder_.add_alignCorners(alignCorners);
6400  builder_.add_dataLayout(dataLayout);
6401  return builder_.Finish();
6402 }
6403 
6404 struct SliceLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6406  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6407  VT_BASE = 4,
6408  VT_DESCRIPTOR = 6
6409  };
6410  const armnnSerializer::LayerBase *base() const {
6411  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
6412  }
6413  const armnnSerializer::SliceDescriptor *descriptor() const {
6414  return GetPointer<const armnnSerializer::SliceDescriptor *>(VT_DESCRIPTOR);
6415  }
6416  bool Verify(flatbuffers::Verifier &verifier) const {
6417  return VerifyTableStart(verifier) &&
6418  VerifyOffset(verifier, VT_BASE) &&
6419  verifier.VerifyTable(base()) &&
6420  VerifyOffset(verifier, VT_DESCRIPTOR) &&
6421  verifier.VerifyTable(descriptor()) &&
6422  verifier.EndTable();
6423  }
6424 };
6425 
6427  typedef SliceLayer Table;
6428  flatbuffers::FlatBufferBuilder &fbb_;
6429  flatbuffers::uoffset_t start_;
6430  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
6431  fbb_.AddOffset(SliceLayer::VT_BASE, base);
6432  }
6433  void add_descriptor(flatbuffers::Offset<armnnSerializer::SliceDescriptor> descriptor) {
6434  fbb_.AddOffset(SliceLayer::VT_DESCRIPTOR, descriptor);
6435  }
6436  explicit SliceLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6437  : fbb_(_fbb) {
6438  start_ = fbb_.StartTable();
6439  }
6440  SliceLayerBuilder &operator=(const SliceLayerBuilder &);
6441  flatbuffers::Offset<SliceLayer> Finish() {
6442  const auto end = fbb_.EndTable(start_);
6443  auto o = flatbuffers::Offset<SliceLayer>(end);
6444  return o;
6445  }
6446 };
6447 
6448 inline flatbuffers::Offset<SliceLayer> CreateSliceLayer(
6449  flatbuffers::FlatBufferBuilder &_fbb,
6450  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
6451  flatbuffers::Offset<armnnSerializer::SliceDescriptor> descriptor = 0) {
6452  SliceLayerBuilder builder_(_fbb);
6453  builder_.add_descriptor(descriptor);
6454  builder_.add_base(base);
6455  return builder_.Finish();
6456 }
6457 
6458 struct SliceDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6460  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6462  VT_SIZE = 6
6463  };
6464  const flatbuffers::Vector<uint32_t> *begin() const {
6465  return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_BEGIN);
6466  }
6467  const flatbuffers::Vector<uint32_t> *size() const {
6468  return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_SIZE);
6469  }
6470  bool Verify(flatbuffers::Verifier &verifier) const {
6471  return VerifyTableStart(verifier) &&
6472  VerifyOffset(verifier, VT_BEGIN) &&
6473  verifier.VerifyVector(begin()) &&
6474  VerifyOffset(verifier, VT_SIZE) &&
6475  verifier.VerifyVector(size()) &&
6476  verifier.EndTable();
6477  }
6478 };
6479 
6481  typedef SliceDescriptor Table;
6482  flatbuffers::FlatBufferBuilder &fbb_;
6483  flatbuffers::uoffset_t start_;
6484  void add_begin(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> begin) {
6485  fbb_.AddOffset(SliceDescriptor::VT_BEGIN, begin);
6486  }
6487  void add_size(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> size) {
6488  fbb_.AddOffset(SliceDescriptor::VT_SIZE, size);
6489  }
6490  explicit SliceDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6491  : fbb_(_fbb) {
6492  start_ = fbb_.StartTable();
6493  }
6494  SliceDescriptorBuilder &operator=(const SliceDescriptorBuilder &);
6495  flatbuffers::Offset<SliceDescriptor> Finish() {
6496  const auto end = fbb_.EndTable(start_);
6497  auto o = flatbuffers::Offset<SliceDescriptor>(end);
6498  return o;
6499  }
6500 };
6501 
6502 inline flatbuffers::Offset<SliceDescriptor> CreateSliceDescriptor(
6503  flatbuffers::FlatBufferBuilder &_fbb,
6504  flatbuffers::Offset<flatbuffers::Vector<uint32_t>> begin = 0,
6505  flatbuffers::Offset<flatbuffers::Vector<uint32_t>> size = 0) {
6506  SliceDescriptorBuilder builder_(_fbb);
6507  builder_.add_size(size);
6508  builder_.add_begin(begin);
6509  return builder_.Finish();
6510 }
6511 
6512 inline flatbuffers::Offset<SliceDescriptor> CreateSliceDescriptorDirect(
6513  flatbuffers::FlatBufferBuilder &_fbb,
6514  const std::vector<uint32_t> *begin = nullptr,
6515  const std::vector<uint32_t> *size = nullptr) {
6516  auto begin__ = begin ? _fbb.CreateVector<uint32_t>(*begin) : 0;
6517  auto size__ = size ? _fbb.CreateVector<uint32_t>(*size) : 0;
6519  _fbb,
6520  begin__,
6521  size__);
6522 }
6523 
6524 struct StridedSliceLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6526  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6527  VT_BASE = 4,
6528  VT_DESCRIPTOR = 6
6529  };
6530  const armnnSerializer::LayerBase *base() const {
6531  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
6532  }
6533  const armnnSerializer::StridedSliceDescriptor *descriptor() const {
6534  return GetPointer<const armnnSerializer::StridedSliceDescriptor *>(VT_DESCRIPTOR);
6535  }
6536  bool Verify(flatbuffers::Verifier &verifier) const {
6537  return VerifyTableStart(verifier) &&
6538  VerifyOffset(verifier, VT_BASE) &&
6539  verifier.VerifyTable(base()) &&
6540  VerifyOffset(verifier, VT_DESCRIPTOR) &&
6541  verifier.VerifyTable(descriptor()) &&
6542  verifier.EndTable();
6543  }
6544 };
6545 
6547  typedef StridedSliceLayer Table;
6548  flatbuffers::FlatBufferBuilder &fbb_;
6549  flatbuffers::uoffset_t start_;
6550  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
6551  fbb_.AddOffset(StridedSliceLayer::VT_BASE, base);
6552  }
6553  void add_descriptor(flatbuffers::Offset<armnnSerializer::StridedSliceDescriptor> descriptor) {
6554  fbb_.AddOffset(StridedSliceLayer::VT_DESCRIPTOR, descriptor);
6555  }
6556  explicit StridedSliceLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6557  : fbb_(_fbb) {
6558  start_ = fbb_.StartTable();
6559  }
6561  flatbuffers::Offset<StridedSliceLayer> Finish() {
6562  const auto end = fbb_.EndTable(start_);
6563  auto o = flatbuffers::Offset<StridedSliceLayer>(end);
6564  return o;
6565  }
6566 };
6567 
6568 inline flatbuffers::Offset<StridedSliceLayer> CreateStridedSliceLayer(
6569  flatbuffers::FlatBufferBuilder &_fbb,
6570  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
6571  flatbuffers::Offset<armnnSerializer::StridedSliceDescriptor> descriptor = 0) {
6572  StridedSliceLayerBuilder builder_(_fbb);
6573  builder_.add_descriptor(descriptor);
6574  builder_.add_base(base);
6575  return builder_.Finish();
6576 }
6577 
6578 struct StridedSliceDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6580  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6581  VT_BEGIN = 4,
6582  VT_END = 6,
6589  VT_DATALAYOUT = 20
6590  };
6591  const flatbuffers::Vector<int32_t> *begin() const {
6592  return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_BEGIN);
6593  }
6594  const flatbuffers::Vector<int32_t> *end() const {
6595  return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_END);
6596  }
6597  const flatbuffers::Vector<int32_t> *stride() const {
6598  return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_STRIDE);
6599  }
6600  int32_t beginMask() const {
6601  return GetField<int32_t>(VT_BEGINMASK, 0);
6602  }
6603  int32_t endMask() const {
6604  return GetField<int32_t>(VT_ENDMASK, 0);
6605  }
6606  int32_t shrinkAxisMask() const {
6607  return GetField<int32_t>(VT_SHRINKAXISMASK, 0);
6608  }
6609  int32_t ellipsisMask() const {
6610  return GetField<int32_t>(VT_ELLIPSISMASK, 0);
6611  }
6612  int32_t newAxisMask() const {
6613  return GetField<int32_t>(VT_NEWAXISMASK, 0);
6614  }
6616  return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 0));
6617  }
6618  bool Verify(flatbuffers::Verifier &verifier) const {
6619  return VerifyTableStart(verifier) &&
6620  VerifyOffset(verifier, VT_BEGIN) &&
6621  verifier.VerifyVector(begin()) &&
6622  VerifyOffset(verifier, VT_END) &&
6623  verifier.VerifyVector(end()) &&
6624  VerifyOffset(verifier, VT_STRIDE) &&
6625  verifier.VerifyVector(stride()) &&
6626  VerifyField<int32_t>(verifier, VT_BEGINMASK) &&
6627  VerifyField<int32_t>(verifier, VT_ENDMASK) &&
6628  VerifyField<int32_t>(verifier, VT_SHRINKAXISMASK) &&
6629  VerifyField<int32_t>(verifier, VT_ELLIPSISMASK) &&
6630  VerifyField<int32_t>(verifier, VT_NEWAXISMASK) &&
6631  VerifyField<int8_t>(verifier, VT_DATALAYOUT) &&
6632  verifier.EndTable();
6633  }
6634 };
6635 
6637  typedef StridedSliceDescriptor Table;
6638  flatbuffers::FlatBufferBuilder &fbb_;
6639  flatbuffers::uoffset_t start_;
6640  void add_begin(flatbuffers::Offset<flatbuffers::Vector<int32_t>> begin) {
6641  fbb_.AddOffset(StridedSliceDescriptor::VT_BEGIN, begin);
6642  }
6643  void add_end(flatbuffers::Offset<flatbuffers::Vector<int32_t>> end) {
6644  fbb_.AddOffset(StridedSliceDescriptor::VT_END, end);
6645  }
6646  void add_stride(flatbuffers::Offset<flatbuffers::Vector<int32_t>> stride) {
6647  fbb_.AddOffset(StridedSliceDescriptor::VT_STRIDE, stride);
6648  }
6649  void add_beginMask(int32_t beginMask) {
6650  fbb_.AddElement<int32_t>(StridedSliceDescriptor::VT_BEGINMASK, beginMask, 0);
6651  }
6652  void add_endMask(int32_t endMask) {
6653  fbb_.AddElement<int32_t>(StridedSliceDescriptor::VT_ENDMASK, endMask, 0);
6654  }
6655  void add_shrinkAxisMask(int32_t shrinkAxisMask) {
6656  fbb_.AddElement<int32_t>(StridedSliceDescriptor::VT_SHRINKAXISMASK, shrinkAxisMask, 0);
6657  }
6658  void add_ellipsisMask(int32_t ellipsisMask) {
6659  fbb_.AddElement<int32_t>(StridedSliceDescriptor::VT_ELLIPSISMASK, ellipsisMask, 0);
6660  }
6661  void add_newAxisMask(int32_t newAxisMask) {
6662  fbb_.AddElement<int32_t>(StridedSliceDescriptor::VT_NEWAXISMASK, newAxisMask, 0);
6663  }
6665  fbb_.AddElement<int8_t>(StridedSliceDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 0);
6666  }
6667  explicit StridedSliceDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6668  : fbb_(_fbb) {
6669  start_ = fbb_.StartTable();
6670  }
6672  flatbuffers::Offset<StridedSliceDescriptor> Finish() {
6673  const auto end = fbb_.EndTable(start_);
6674  auto o = flatbuffers::Offset<StridedSliceDescriptor>(end);
6675  return o;
6676  }
6677 };
6678 
6679 inline flatbuffers::Offset<StridedSliceDescriptor> CreateStridedSliceDescriptor(
6680  flatbuffers::FlatBufferBuilder &_fbb,
6681  flatbuffers::Offset<flatbuffers::Vector<int32_t>> begin = 0,
6682  flatbuffers::Offset<flatbuffers::Vector<int32_t>> end = 0,
6683  flatbuffers::Offset<flatbuffers::Vector<int32_t>> stride = 0,
6684  int32_t beginMask = 0,
6685  int32_t endMask = 0,
6686  int32_t shrinkAxisMask = 0,
6687  int32_t ellipsisMask = 0,
6688  int32_t newAxisMask = 0,
6690  StridedSliceDescriptorBuilder builder_(_fbb);
6691  builder_.add_newAxisMask(newAxisMask);
6692  builder_.add_ellipsisMask(ellipsisMask);
6693  builder_.add_shrinkAxisMask(shrinkAxisMask);
6694  builder_.add_endMask(endMask);
6695  builder_.add_beginMask(beginMask);
6696  builder_.add_stride(stride);
6697  builder_.add_end(end);
6698  builder_.add_begin(begin);
6699  builder_.add_dataLayout(dataLayout);
6700  return builder_.Finish();
6701 }
6702 
6703 inline flatbuffers::Offset<StridedSliceDescriptor> CreateStridedSliceDescriptorDirect(
6704  flatbuffers::FlatBufferBuilder &_fbb,
6705  const std::vector<int32_t> *begin = nullptr,
6706  const std::vector<int32_t> *end = nullptr,
6707  const std::vector<int32_t> *stride = nullptr,
6708  int32_t beginMask = 0,
6709  int32_t endMask = 0,
6710  int32_t shrinkAxisMask = 0,
6711  int32_t ellipsisMask = 0,
6712  int32_t newAxisMask = 0,
6714  auto begin__ = begin ? _fbb.CreateVector<int32_t>(*begin) : 0;
6715  auto end__ = end ? _fbb.CreateVector<int32_t>(*end) : 0;
6716  auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
6718  _fbb,
6719  begin__,
6720  end__,
6721  stride__,
6722  beginMask,
6723  endMask,
6724  shrinkAxisMask,
6725  ellipsisMask,
6726  newAxisMask,
6727  dataLayout);
6728 }
6729 
6730 struct ConcatLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6732  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6733  VT_BASE = 4,
6734  VT_DESCRIPTOR = 6
6735  };
6736  const armnnSerializer::LayerBase *base() const {
6737  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
6738  }
6739  const armnnSerializer::OriginsDescriptor *descriptor() const {
6740  return GetPointer<const armnnSerializer::OriginsDescriptor *>(VT_DESCRIPTOR);
6741  }
6742  bool Verify(flatbuffers::Verifier &verifier) const {
6743  return VerifyTableStart(verifier) &&
6744  VerifyOffset(verifier, VT_BASE) &&
6745  verifier.VerifyTable(base()) &&
6746  VerifyOffset(verifier, VT_DESCRIPTOR) &&
6747  verifier.VerifyTable(descriptor()) &&
6748  verifier.EndTable();
6749  }
6750 };
6751 
6753  typedef ConcatLayer Table;
6754  flatbuffers::FlatBufferBuilder &fbb_;
6755  flatbuffers::uoffset_t start_;
6756  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
6757  fbb_.AddOffset(ConcatLayer::VT_BASE, base);
6758  }
6759  void add_descriptor(flatbuffers::Offset<armnnSerializer::OriginsDescriptor> descriptor) {
6760  fbb_.AddOffset(ConcatLayer::VT_DESCRIPTOR, descriptor);
6761  }
6762  explicit ConcatLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6763  : fbb_(_fbb) {
6764  start_ = fbb_.StartTable();
6765  }
6766  ConcatLayerBuilder &operator=(const ConcatLayerBuilder &);
6767  flatbuffers::Offset<ConcatLayer> Finish() {
6768  const auto end = fbb_.EndTable(start_);
6769  auto o = flatbuffers::Offset<ConcatLayer>(end);
6770  return o;
6771  }
6772 };
6773 
6774 inline flatbuffers::Offset<ConcatLayer> CreateConcatLayer(
6775  flatbuffers::FlatBufferBuilder &_fbb,
6776  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
6777  flatbuffers::Offset<armnnSerializer::OriginsDescriptor> descriptor = 0) {
6778  ConcatLayerBuilder builder_(_fbb);
6779  builder_.add_descriptor(descriptor);
6780  builder_.add_base(base);
6781  return builder_.Finish();
6782 }
6783 
6784 /// @deprecated Use ConcatLayer instead
6785 struct MergerLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6787  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6788  VT_BASE = 4,
6789  VT_DESCRIPTOR = 6
6790  };
6791  const armnnSerializer::LayerBase *base() const {
6792  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
6793  }
6794  const armnnSerializer::OriginsDescriptor *descriptor() const {
6795  return GetPointer<const armnnSerializer::OriginsDescriptor *>(VT_DESCRIPTOR);
6796  }
6797  bool Verify(flatbuffers::Verifier &verifier) const {
6798  return VerifyTableStart(verifier) &&
6799  VerifyOffset(verifier, VT_BASE) &&
6800  verifier.VerifyTable(base()) &&
6801  VerifyOffset(verifier, VT_DESCRIPTOR) &&
6802  verifier.VerifyTable(descriptor()) &&
6803  verifier.EndTable();
6804  }
6805 };
6806 
6809  flatbuffers::FlatBufferBuilder &fbb_;
6810  flatbuffers::uoffset_t start_;
6811  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
6812  fbb_.AddOffset(MergerLayer::VT_BASE, base);
6813  }
6814  void add_descriptor(flatbuffers::Offset<armnnSerializer::OriginsDescriptor> descriptor) {
6815  fbb_.AddOffset(MergerLayer::VT_DESCRIPTOR, descriptor);
6816  }
6817  explicit MergerLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6818  : fbb_(_fbb) {
6819  start_ = fbb_.StartTable();
6820  }
6821  MergerLayerBuilder &operator=(const MergerLayerBuilder &);
6822  flatbuffers::Offset<MergerLayer> Finish() {
6823  const auto end = fbb_.EndTable(start_);
6824  auto o = flatbuffers::Offset<MergerLayer>(end);
6825  return o;
6826  }
6827 };
6828 
6829 inline flatbuffers::Offset<MergerLayer> CreateMergerLayer(
6830  flatbuffers::FlatBufferBuilder &_fbb,
6831  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
6832  flatbuffers::Offset<armnnSerializer::OriginsDescriptor> descriptor = 0) {
6833  MergerLayerBuilder builder_(_fbb);
6834  builder_.add_descriptor(descriptor);
6835  builder_.add_base(base);
6836  return builder_.Finish();
6837 }
6838 
6839 struct UintVector FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6841  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6842  VT_DATA = 4
6843  };
6844  const flatbuffers::Vector<uint32_t> *data() const {
6845  return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_DATA);
6846  }
6847  bool Verify(flatbuffers::Verifier &verifier) const {
6848  return VerifyTableStart(verifier) &&
6849  VerifyOffset(verifier, VT_DATA) &&
6850  verifier.VerifyVector(data()) &&
6851  verifier.EndTable();
6852  }
6853 };
6854 
6856  typedef UintVector Table;
6857  flatbuffers::FlatBufferBuilder &fbb_;
6858  flatbuffers::uoffset_t start_;
6859  void add_data(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> data) {
6860  fbb_.AddOffset(UintVector::VT_DATA, data);
6861  }
6862  explicit UintVectorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6863  : fbb_(_fbb) {
6864  start_ = fbb_.StartTable();
6865  }
6866  UintVectorBuilder &operator=(const UintVectorBuilder &);
6867  flatbuffers::Offset<UintVector> Finish() {
6868  const auto end = fbb_.EndTable(start_);
6869  auto o = flatbuffers::Offset<UintVector>(end);
6870  return o;
6871  }
6872 };
6873 
6874 inline flatbuffers::Offset<UintVector> CreateUintVector(
6875  flatbuffers::FlatBufferBuilder &_fbb,
6876  flatbuffers::Offset<flatbuffers::Vector<uint32_t>> data = 0) {
6877  UintVectorBuilder builder_(_fbb);
6878  builder_.add_data(data);
6879  return builder_.Finish();
6880 }
6881 
6882 inline flatbuffers::Offset<UintVector> CreateUintVectorDirect(
6883  flatbuffers::FlatBufferBuilder &_fbb,
6884  const std::vector<uint32_t> *data = nullptr) {
6885  auto data__ = data ? _fbb.CreateVector<uint32_t>(*data) : 0;
6887  _fbb,
6888  data__);
6889 }
6890 
6891 struct OriginsDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6893  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6897  VT_VIEWORIGINS = 10
6898  };
6899  uint32_t concatAxis() const {
6900  return GetField<uint32_t>(VT_CONCATAXIS, 0);
6901  }
6902  uint32_t numViews() const {
6903  return GetField<uint32_t>(VT_NUMVIEWS, 0);
6904  }
6905  uint32_t numDimensions() const {
6906  return GetField<uint32_t>(VT_NUMDIMENSIONS, 0);
6907  }
6908  const flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::UintVector>> *viewOrigins() const {
6909  return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::UintVector>> *>(VT_VIEWORIGINS);
6910  }
6911  bool Verify(flatbuffers::Verifier &verifier) const {
6912  return VerifyTableStart(verifier) &&
6913  VerifyField<uint32_t>(verifier, VT_CONCATAXIS) &&
6914  VerifyField<uint32_t>(verifier, VT_NUMVIEWS) &&
6915  VerifyField<uint32_t>(verifier, VT_NUMDIMENSIONS) &&
6916  VerifyOffset(verifier, VT_VIEWORIGINS) &&
6917  verifier.VerifyVector(viewOrigins()) &&
6918  verifier.VerifyVectorOfTables(viewOrigins()) &&
6919  verifier.EndTable();
6920  }
6921 };
6922 
6924  typedef OriginsDescriptor Table;
6925  flatbuffers::FlatBufferBuilder &fbb_;
6926  flatbuffers::uoffset_t start_;
6927  void add_concatAxis(uint32_t concatAxis) {
6928  fbb_.AddElement<uint32_t>(OriginsDescriptor::VT_CONCATAXIS, concatAxis, 0);
6929  }
6930  void add_numViews(uint32_t numViews) {
6931  fbb_.AddElement<uint32_t>(OriginsDescriptor::VT_NUMVIEWS, numViews, 0);
6932  }
6933  void add_numDimensions(uint32_t numDimensions) {
6934  fbb_.AddElement<uint32_t>(OriginsDescriptor::VT_NUMDIMENSIONS, numDimensions, 0);
6935  }
6936  void add_viewOrigins(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::UintVector>>> viewOrigins) {
6937  fbb_.AddOffset(OriginsDescriptor::VT_VIEWORIGINS, viewOrigins);
6938  }
6939  explicit OriginsDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6940  : fbb_(_fbb) {
6941  start_ = fbb_.StartTable();
6942  }
6944  flatbuffers::Offset<OriginsDescriptor> Finish() {
6945  const auto end = fbb_.EndTable(start_);
6946  auto o = flatbuffers::Offset<OriginsDescriptor>(end);
6947  return o;
6948  }
6949 };
6950 
6951 inline flatbuffers::Offset<OriginsDescriptor> CreateOriginsDescriptor(
6952  flatbuffers::FlatBufferBuilder &_fbb,
6953  uint32_t concatAxis = 0,
6954  uint32_t numViews = 0,
6955  uint32_t numDimensions = 0,
6956  flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::UintVector>>> viewOrigins = 0) {
6957  OriginsDescriptorBuilder builder_(_fbb);
6958  builder_.add_viewOrigins(viewOrigins);
6959  builder_.add_numDimensions(numDimensions);
6960  builder_.add_numViews(numViews);
6961  builder_.add_concatAxis(concatAxis);
6962  return builder_.Finish();
6963 }
6964 
6965 inline flatbuffers::Offset<OriginsDescriptor> CreateOriginsDescriptorDirect(
6966  flatbuffers::FlatBufferBuilder &_fbb,
6967  uint32_t concatAxis = 0,
6968  uint32_t numViews = 0,
6969  uint32_t numDimensions = 0,
6970  const std::vector<flatbuffers::Offset<armnnSerializer::UintVector>> *viewOrigins = nullptr) {
6971  auto viewOrigins__ = viewOrigins ? _fbb.CreateVector<flatbuffers::Offset<armnnSerializer::UintVector>>(*viewOrigins) : 0;
6973  _fbb,
6974  concatAxis,
6975  numViews,
6976  numDimensions,
6977  viewOrigins__);
6978 }
6979 
6980 struct ViewsDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6982  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6984  VT_VIEWSIZES = 6
6985  };
6986  const armnnSerializer::OriginsDescriptor *origins() const {
6987  return GetPointer<const armnnSerializer::OriginsDescriptor *>(VT_ORIGINS);
6988  }
6989  const flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::UintVector>> *viewSizes() const {
6990  return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::UintVector>> *>(VT_VIEWSIZES);
6991  }
6992  bool Verify(flatbuffers::Verifier &verifier) const {
6993  return VerifyTableStart(verifier) &&
6994  VerifyOffset(verifier, VT_ORIGINS) &&
6995  verifier.VerifyTable(origins()) &&
6996  VerifyOffset(verifier, VT_VIEWSIZES) &&
6997  verifier.VerifyVector(viewSizes()) &&
6998  verifier.VerifyVectorOfTables(viewSizes()) &&
6999  verifier.EndTable();
7000  }
7001 };
7002 
7004  typedef ViewsDescriptor Table;
7005  flatbuffers::FlatBufferBuilder &fbb_;
7006  flatbuffers::uoffset_t start_;
7007  void add_origins(flatbuffers::Offset<armnnSerializer::OriginsDescriptor> origins) {
7008  fbb_.AddOffset(ViewsDescriptor::VT_ORIGINS, origins);
7009  }
7010  void add_viewSizes(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::UintVector>>> viewSizes) {
7011  fbb_.AddOffset(ViewsDescriptor::VT_VIEWSIZES, viewSizes);
7012  }
7013  explicit ViewsDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7014  : fbb_(_fbb) {
7015  start_ = fbb_.StartTable();
7016  }
7017  ViewsDescriptorBuilder &operator=(const ViewsDescriptorBuilder &);
7018  flatbuffers::Offset<ViewsDescriptor> Finish() {
7019  const auto end = fbb_.EndTable(start_);
7020  auto o = flatbuffers::Offset<ViewsDescriptor>(end);
7021  return o;
7022  }
7023 };
7024 
7025 inline flatbuffers::Offset<ViewsDescriptor> CreateViewsDescriptor(
7026  flatbuffers::FlatBufferBuilder &_fbb,
7027  flatbuffers::Offset<armnnSerializer::OriginsDescriptor> origins = 0,
7028  flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::UintVector>>> viewSizes = 0) {
7029  ViewsDescriptorBuilder builder_(_fbb);
7030  builder_.add_viewSizes(viewSizes);
7031  builder_.add_origins(origins);
7032  return builder_.Finish();
7033 }
7034 
7035 inline flatbuffers::Offset<ViewsDescriptor> CreateViewsDescriptorDirect(
7036  flatbuffers::FlatBufferBuilder &_fbb,
7037  flatbuffers::Offset<armnnSerializer::OriginsDescriptor> origins = 0,
7038  const std::vector<flatbuffers::Offset<armnnSerializer::UintVector>> *viewSizes = nullptr) {
7039  auto viewSizes__ = viewSizes ? _fbb.CreateVector<flatbuffers::Offset<armnnSerializer::UintVector>>(*viewSizes) : 0;
7041  _fbb,
7042  origins,
7043  viewSizes__);
7044 }
7045 
7046 struct SplitterLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7048  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7049  VT_BASE = 4,
7050  VT_DESCRIPTOR = 6
7051  };
7052  const armnnSerializer::LayerBase *base() const {
7053  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
7054  }
7055  const armnnSerializer::ViewsDescriptor *descriptor() const {
7056  return GetPointer<const armnnSerializer::ViewsDescriptor *>(VT_DESCRIPTOR);
7057  }
7058  bool Verify(flatbuffers::Verifier &verifier) const {
7059  return VerifyTableStart(verifier) &&
7060  VerifyOffset(verifier, VT_BASE) &&
7061  verifier.VerifyTable(base()) &&
7062  VerifyOffset(verifier, VT_DESCRIPTOR) &&
7063  verifier.VerifyTable(descriptor()) &&
7064  verifier.EndTable();
7065  }
7066 };
7067 
7069  typedef SplitterLayer Table;
7070  flatbuffers::FlatBufferBuilder &fbb_;
7071  flatbuffers::uoffset_t start_;
7072  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
7073  fbb_.AddOffset(SplitterLayer::VT_BASE, base);
7074  }
7075  void add_descriptor(flatbuffers::Offset<armnnSerializer::ViewsDescriptor> descriptor) {
7076  fbb_.AddOffset(SplitterLayer::VT_DESCRIPTOR, descriptor);
7077  }
7078  explicit SplitterLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7079  : fbb_(_fbb) {
7080  start_ = fbb_.StartTable();
7081  }
7082  SplitterLayerBuilder &operator=(const SplitterLayerBuilder &);
7083  flatbuffers::Offset<SplitterLayer> Finish() {
7084  const auto end = fbb_.EndTable(start_);
7085  auto o = flatbuffers::Offset<SplitterLayer>(end);
7086  return o;
7087  }
7088 };
7089 
7090 inline flatbuffers::Offset<SplitterLayer> CreateSplitterLayer(
7091  flatbuffers::FlatBufferBuilder &_fbb,
7092  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
7093  flatbuffers::Offset<armnnSerializer::ViewsDescriptor> descriptor = 0) {
7094  SplitterLayerBuilder builder_(_fbb);
7095  builder_.add_descriptor(descriptor);
7096  builder_.add_base(base);
7097  return builder_.Finish();
7098 }
7099 
7100 struct DetectionPostProcessLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7102  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7103  VT_BASE = 4,
7104  VT_DESCRIPTOR = 6,
7105  VT_ANCHORS = 8
7106  };
7107  const armnnSerializer::LayerBase *base() const {
7108  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
7109  }
7110  const armnnSerializer::DetectionPostProcessDescriptor *descriptor() const {
7111  return GetPointer<const armnnSerializer::DetectionPostProcessDescriptor *>(VT_DESCRIPTOR);
7112  }
7113  const armnnSerializer::ConstTensor *anchors() const {
7114  return GetPointer<const armnnSerializer::ConstTensor *>(VT_ANCHORS);
7115  }
7116  bool Verify(flatbuffers::Verifier &verifier) const {
7117  return VerifyTableStart(verifier) &&
7118  VerifyOffset(verifier, VT_BASE) &&
7119  verifier.VerifyTable(base()) &&
7120  VerifyOffset(verifier, VT_DESCRIPTOR) &&
7121  verifier.VerifyTable(descriptor()) &&
7122  VerifyOffset(verifier, VT_ANCHORS) &&
7123  verifier.VerifyTable(anchors()) &&
7124  verifier.EndTable();
7125  }
7126 };
7127 
7129  typedef DetectionPostProcessLayer Table;
7130  flatbuffers::FlatBufferBuilder &fbb_;
7131  flatbuffers::uoffset_t start_;
7132  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
7133  fbb_.AddOffset(DetectionPostProcessLayer::VT_BASE, base);
7134  }
7135  void add_descriptor(flatbuffers::Offset<armnnSerializer::DetectionPostProcessDescriptor> descriptor) {
7136  fbb_.AddOffset(DetectionPostProcessLayer::VT_DESCRIPTOR, descriptor);
7137  }
7138  void add_anchors(flatbuffers::Offset<armnnSerializer::ConstTensor> anchors) {
7139  fbb_.AddOffset(DetectionPostProcessLayer::VT_ANCHORS, anchors);
7140  }
7141  explicit DetectionPostProcessLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7142  : fbb_(_fbb) {
7143  start_ = fbb_.StartTable();
7144  }
7146  flatbuffers::Offset<DetectionPostProcessLayer> Finish() {
7147  const auto end = fbb_.EndTable(start_);
7148  auto o = flatbuffers::Offset<DetectionPostProcessLayer>(end);
7149  return o;
7150  }
7151 };
7152 
7153 inline flatbuffers::Offset<DetectionPostProcessLayer> CreateDetectionPostProcessLayer(
7154  flatbuffers::FlatBufferBuilder &_fbb,
7155  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
7156  flatbuffers::Offset<armnnSerializer::DetectionPostProcessDescriptor> descriptor = 0,
7157  flatbuffers::Offset<armnnSerializer::ConstTensor> anchors = 0) {
7158  DetectionPostProcessLayerBuilder builder_(_fbb);
7159  builder_.add_anchors(anchors);
7160  builder_.add_descriptor(descriptor);
7161  builder_.add_base(base);
7162  return builder_.Finish();
7163 }
7164 
7165 struct DetectionPostProcessDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7167  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7178  VT_SCALEH = 24
7179  };
7180  uint32_t maxDetections() const {
7181  return GetField<uint32_t>(VT_MAXDETECTIONS, 0);
7182  }
7183  uint32_t maxClassesPerDetection() const {
7184  return GetField<uint32_t>(VT_MAXCLASSESPERDETECTION, 0);
7185  }
7186  uint32_t detectionsPerClass() const {
7187  return GetField<uint32_t>(VT_DETECTIONSPERCLASS, 0);
7188  }
7189  float nmsScoreThreshold() const {
7190  return GetField<float>(VT_NMSSCORETHRESHOLD, 0.0f);
7191  }
7192  float nmsIouThreshold() const {
7193  return GetField<float>(VT_NMSIOUTHRESHOLD, 0.0f);
7194  }
7195  uint32_t numClasses() const {
7196  return GetField<uint32_t>(VT_NUMCLASSES, 0);
7197  }
7198  bool useRegularNms() const {
7199  return GetField<uint8_t>(VT_USEREGULARNMS, 0) != 0;
7200  }
7201  float scaleX() const {
7202  return GetField<float>(VT_SCALEX, 0.0f);
7203  }
7204  float scaleY() const {
7205  return GetField<float>(VT_SCALEY, 0.0f);
7206  }
7207  float scaleW() const {
7208  return GetField<float>(VT_SCALEW, 0.0f);
7209  }
7210  float scaleH() const {
7211  return GetField<float>(VT_SCALEH, 0.0f);
7212  }
7213  bool Verify(flatbuffers::Verifier &verifier) const {
7214  return VerifyTableStart(verifier) &&
7215  VerifyField<uint32_t>(verifier, VT_MAXDETECTIONS) &&
7216  VerifyField<uint32_t>(verifier, VT_MAXCLASSESPERDETECTION) &&
7217  VerifyField<uint32_t>(verifier, VT_DETECTIONSPERCLASS) &&
7218  VerifyField<float>(verifier, VT_NMSSCORETHRESHOLD) &&
7219  VerifyField<float>(verifier, VT_NMSIOUTHRESHOLD) &&
7220  VerifyField<uint32_t>(verifier, VT_NUMCLASSES) &&
7221  VerifyField<uint8_t>(verifier, VT_USEREGULARNMS) &&
7222  VerifyField<float>(verifier, VT_SCALEX) &&
7223  VerifyField<float>(verifier, VT_SCALEY) &&
7224  VerifyField<float>(verifier, VT_SCALEW) &&
7225  VerifyField<float>(verifier, VT_SCALEH) &&
7226  verifier.EndTable();
7227  }
7228 };
7229 
7231  typedef DetectionPostProcessDescriptor Table;
7232  flatbuffers::FlatBufferBuilder &fbb_;
7233  flatbuffers::uoffset_t start_;
7234  void add_maxDetections(uint32_t maxDetections) {
7235  fbb_.AddElement<uint32_t>(DetectionPostProcessDescriptor::VT_MAXDETECTIONS, maxDetections, 0);
7236  }
7237  void add_maxClassesPerDetection(uint32_t maxClassesPerDetection) {
7238  fbb_.AddElement<uint32_t>(DetectionPostProcessDescriptor::VT_MAXCLASSESPERDETECTION, maxClassesPerDetection, 0);
7239  }
7240  void add_detectionsPerClass(uint32_t detectionsPerClass) {
7241  fbb_.AddElement<uint32_t>(DetectionPostProcessDescriptor::VT_DETECTIONSPERCLASS, detectionsPerClass, 0);
7242  }
7243  void add_nmsScoreThreshold(float nmsScoreThreshold) {
7244  fbb_.AddElement<float>(DetectionPostProcessDescriptor::VT_NMSSCORETHRESHOLD, nmsScoreThreshold, 0.0f);
7245  }
7246  void add_nmsIouThreshold(float nmsIouThreshold) {
7247  fbb_.AddElement<float>(DetectionPostProcessDescriptor::VT_NMSIOUTHRESHOLD, nmsIouThreshold, 0.0f);
7248  }
7249  void add_numClasses(uint32_t numClasses) {
7250  fbb_.AddElement<uint32_t>(DetectionPostProcessDescriptor::VT_NUMCLASSES, numClasses, 0);
7251  }
7252  void add_useRegularNms(bool useRegularNms) {
7253  fbb_.AddElement<uint8_t>(DetectionPostProcessDescriptor::VT_USEREGULARNMS, static_cast<uint8_t>(useRegularNms), 0);
7254  }
7255  void add_scaleX(float scaleX) {
7256  fbb_.AddElement<float>(DetectionPostProcessDescriptor::VT_SCALEX, scaleX, 0.0f);
7257  }
7258  void add_scaleY(float scaleY) {
7259  fbb_.AddElement<float>(DetectionPostProcessDescriptor::VT_SCALEY, scaleY, 0.0f);
7260  }
7261  void add_scaleW(float scaleW) {
7262  fbb_.AddElement<float>(DetectionPostProcessDescriptor::VT_SCALEW, scaleW, 0.0f);
7263  }
7264  void add_scaleH(float scaleH) {
7265  fbb_.AddElement<float>(DetectionPostProcessDescriptor::VT_SCALEH, scaleH, 0.0f);
7266  }
7267  explicit DetectionPostProcessDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7268  : fbb_(_fbb) {
7269  start_ = fbb_.StartTable();
7270  }
7272  flatbuffers::Offset<DetectionPostProcessDescriptor> Finish() {
7273  const auto end = fbb_.EndTable(start_);
7274  auto o = flatbuffers::Offset<DetectionPostProcessDescriptor>(end);
7275  return o;
7276  }
7277 };
7278 
7279 inline flatbuffers::Offset<DetectionPostProcessDescriptor> CreateDetectionPostProcessDescriptor(
7280  flatbuffers::FlatBufferBuilder &_fbb,
7281  uint32_t maxDetections = 0,
7282  uint32_t maxClassesPerDetection = 0,
7283  uint32_t detectionsPerClass = 0,
7284  float nmsScoreThreshold = 0.0f,
7285  float nmsIouThreshold = 0.0f,
7286  uint32_t numClasses = 0,
7287  bool useRegularNms = false,
7288  float scaleX = 0.0f,
7289  float scaleY = 0.0f,
7290  float scaleW = 0.0f,
7291  float scaleH = 0.0f) {
7293  builder_.add_scaleH(scaleH);
7294  builder_.add_scaleW(scaleW);
7295  builder_.add_scaleY(scaleY);
7296  builder_.add_scaleX(scaleX);
7297  builder_.add_numClasses(numClasses);
7298  builder_.add_nmsIouThreshold(nmsIouThreshold);
7299  builder_.add_nmsScoreThreshold(nmsScoreThreshold);
7300  builder_.add_detectionsPerClass(detectionsPerClass);
7301  builder_.add_maxClassesPerDetection(maxClassesPerDetection);
7302  builder_.add_maxDetections(maxDetections);
7303  builder_.add_useRegularNms(useRegularNms);
7304  return builder_.Finish();
7305 }
7306 
7307 struct LstmInputParams FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7309  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7330  VT_OUTPUTLAYERNORMWEIGHTS = 44
7331  };
7332  const armnnSerializer::ConstTensor *inputToForgetWeights() const {
7333  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOFORGETWEIGHTS);
7334  }
7335  const armnnSerializer::ConstTensor *inputToCellWeights() const {
7336  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOCELLWEIGHTS);
7337  }
7338  const armnnSerializer::ConstTensor *inputToOutputWeights() const {
7339  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOOUTPUTWEIGHTS);
7340  }
7341  const armnnSerializer::ConstTensor *recurrentToForgetWeights() const {
7342  return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOFORGETWEIGHTS);
7343  }
7344  const armnnSerializer::ConstTensor *recurrentToCellWeights() const {
7345  return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOCELLWEIGHTS);
7346  }
7347  const armnnSerializer::ConstTensor *recurrentToOutputWeights() const {
7348  return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOOUTPUTWEIGHTS);
7349  }
7350  const armnnSerializer::ConstTensor *forgetGateBias() const {
7351  return GetPointer<const armnnSerializer::ConstTensor *>(VT_FORGETGATEBIAS);
7352  }
7353  const armnnSerializer::ConstTensor *cellBias() const {
7354  return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLBIAS);
7355  }
7356  const armnnSerializer::ConstTensor *outputGateBias() const {
7357  return GetPointer<const armnnSerializer::ConstTensor *>(VT_OUTPUTGATEBIAS);
7358  }
7359  const armnnSerializer::ConstTensor *inputToInputWeights() const {
7360  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOINPUTWEIGHTS);
7361  }
7362  const armnnSerializer::ConstTensor *recurrentToInputWeights() const {
7363  return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOINPUTWEIGHTS);
7364  }
7365  const armnnSerializer::ConstTensor *cellToInputWeights() const {
7366  return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLTOINPUTWEIGHTS);
7367  }
7368  const armnnSerializer::ConstTensor *inputGateBias() const {
7369  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTGATEBIAS);
7370  }
7371  const armnnSerializer::ConstTensor *projectionWeights() const {
7372  return GetPointer<const armnnSerializer::ConstTensor *>(VT_PROJECTIONWEIGHTS);
7373  }
7374  const armnnSerializer::ConstTensor *projectionBias() const {
7375  return GetPointer<const armnnSerializer::ConstTensor *>(VT_PROJECTIONBIAS);
7376  }
7377  const armnnSerializer::ConstTensor *cellToForgetWeights() const {
7378  return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLTOFORGETWEIGHTS);
7379  }
7380  const armnnSerializer::ConstTensor *cellToOutputWeights() const {
7381  return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLTOOUTPUTWEIGHTS);
7382  }
7383  const armnnSerializer::ConstTensor *inputLayerNormWeights() const {
7384  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTLAYERNORMWEIGHTS);
7385  }
7386  const armnnSerializer::ConstTensor *forgetLayerNormWeights() const {
7387  return GetPointer<const armnnSerializer::ConstTensor *>(VT_FORGETLAYERNORMWEIGHTS);
7388  }
7389  const armnnSerializer::ConstTensor *cellLayerNormWeights() const {
7390  return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLLAYERNORMWEIGHTS);
7391  }
7392  const armnnSerializer::ConstTensor *outputLayerNormWeights() const {
7393  return GetPointer<const armnnSerializer::ConstTensor *>(VT_OUTPUTLAYERNORMWEIGHTS);
7394  }
7395  bool Verify(flatbuffers::Verifier &verifier) const {
7396  return VerifyTableStart(verifier) &&
7397  VerifyOffset(verifier, VT_INPUTTOFORGETWEIGHTS) &&
7398  verifier.VerifyTable(inputToForgetWeights()) &&
7399  VerifyOffset(verifier, VT_INPUTTOCELLWEIGHTS) &&
7400  verifier.VerifyTable(inputToCellWeights()) &&
7401  VerifyOffset(verifier, VT_INPUTTOOUTPUTWEIGHTS) &&
7402  verifier.VerifyTable(inputToOutputWeights()) &&
7403  VerifyOffset(verifier, VT_RECURRENTTOFORGETWEIGHTS) &&
7404  verifier.VerifyTable(recurrentToForgetWeights()) &&
7405  VerifyOffset(verifier, VT_RECURRENTTOCELLWEIGHTS) &&
7406  verifier.VerifyTable(recurrentToCellWeights()) &&
7407  VerifyOffset(verifier, VT_RECURRENTTOOUTPUTWEIGHTS) &&
7408  verifier.VerifyTable(recurrentToOutputWeights()) &&
7409  VerifyOffset(verifier, VT_FORGETGATEBIAS) &&
7410  verifier.VerifyTable(forgetGateBias()) &&
7411  VerifyOffset(verifier, VT_CELLBIAS) &&
7412  verifier.VerifyTable(cellBias()) &&
7413  VerifyOffset(verifier, VT_OUTPUTGATEBIAS) &&
7414  verifier.VerifyTable(outputGateBias()) &&
7415  VerifyOffset(verifier, VT_INPUTTOINPUTWEIGHTS) &&
7416  verifier.VerifyTable(inputToInputWeights()) &&
7417  VerifyOffset(verifier, VT_RECURRENTTOINPUTWEIGHTS) &&
7418  verifier.VerifyTable(recurrentToInputWeights()) &&
7419  VerifyOffset(verifier, VT_CELLTOINPUTWEIGHTS) &&
7420  verifier.VerifyTable(cellToInputWeights()) &&
7421  VerifyOffset(verifier, VT_INPUTGATEBIAS) &&
7422  verifier.VerifyTable(inputGateBias()) &&
7423  VerifyOffset(verifier, VT_PROJECTIONWEIGHTS) &&
7424  verifier.VerifyTable(projectionWeights()) &&
7425  VerifyOffset(verifier, VT_PROJECTIONBIAS) &&
7426  verifier.VerifyTable(projectionBias()) &&
7427  VerifyOffset(verifier, VT_CELLTOFORGETWEIGHTS) &&
7428  verifier.VerifyTable(cellToForgetWeights()) &&
7429  VerifyOffset(verifier, VT_CELLTOOUTPUTWEIGHTS) &&
7430  verifier.VerifyTable(cellToOutputWeights()) &&
7431  VerifyOffset(verifier, VT_INPUTLAYERNORMWEIGHTS) &&
7432  verifier.VerifyTable(inputLayerNormWeights()) &&
7433  VerifyOffset(verifier, VT_FORGETLAYERNORMWEIGHTS) &&
7434  verifier.VerifyTable(forgetLayerNormWeights()) &&
7435  VerifyOffset(verifier, VT_CELLLAYERNORMWEIGHTS) &&
7436  verifier.VerifyTable(cellLayerNormWeights()) &&
7437  VerifyOffset(verifier, VT_OUTPUTLAYERNORMWEIGHTS) &&
7438  verifier.VerifyTable(outputLayerNormWeights()) &&
7439  verifier.EndTable();
7440  }
7441 };
7442 
7444  typedef LstmInputParams Table;
7445  flatbuffers::FlatBufferBuilder &fbb_;
7446  flatbuffers::uoffset_t start_;
7447  void add_inputToForgetWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToForgetWeights) {
7448  fbb_.AddOffset(LstmInputParams::VT_INPUTTOFORGETWEIGHTS, inputToForgetWeights);
7449  }
7450  void add_inputToCellWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToCellWeights) {
7451  fbb_.AddOffset(LstmInputParams::VT_INPUTTOCELLWEIGHTS, inputToCellWeights);
7452  }
7453  void add_inputToOutputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToOutputWeights) {
7454  fbb_.AddOffset(LstmInputParams::VT_INPUTTOOUTPUTWEIGHTS, inputToOutputWeights);
7455  }
7456  void add_recurrentToForgetWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToForgetWeights) {
7457  fbb_.AddOffset(LstmInputParams::VT_RECURRENTTOFORGETWEIGHTS, recurrentToForgetWeights);
7458  }
7459  void add_recurrentToCellWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToCellWeights) {
7460  fbb_.AddOffset(LstmInputParams::VT_RECURRENTTOCELLWEIGHTS, recurrentToCellWeights);
7461  }
7462  void add_recurrentToOutputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToOutputWeights) {
7463  fbb_.AddOffset(LstmInputParams::VT_RECURRENTTOOUTPUTWEIGHTS, recurrentToOutputWeights);
7464  }
7465  void add_forgetGateBias(flatbuffers::Offset<armnnSerializer::ConstTensor> forgetGateBias) {
7466  fbb_.AddOffset(LstmInputParams::VT_FORGETGATEBIAS, forgetGateBias);
7467  }
7468  void add_cellBias(flatbuffers::Offset<armnnSerializer::ConstTensor> cellBias) {
7469  fbb_.AddOffset(LstmInputParams::VT_CELLBIAS, cellBias);
7470  }
7471  void add_outputGateBias(flatbuffers::Offset<armnnSerializer::ConstTensor> outputGateBias) {
7472  fbb_.AddOffset(LstmInputParams::VT_OUTPUTGATEBIAS, outputGateBias);
7473  }
7474  void add_inputToInputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToInputWeights) {
7475  fbb_.AddOffset(LstmInputParams::VT_INPUTTOINPUTWEIGHTS, inputToInputWeights);
7476  }
7477  void add_recurrentToInputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToInputWeights) {
7478  fbb_.AddOffset(LstmInputParams::VT_RECURRENTTOINPUTWEIGHTS, recurrentToInputWeights);
7479  }
7480  void add_cellToInputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> cellToInputWeights) {
7481  fbb_.AddOffset(LstmInputParams::VT_CELLTOINPUTWEIGHTS, cellToInputWeights);
7482  }
7483  void add_inputGateBias(flatbuffers::Offset<armnnSerializer::ConstTensor> inputGateBias) {
7484  fbb_.AddOffset(LstmInputParams::VT_INPUTGATEBIAS, inputGateBias);
7485  }
7486  void add_projectionWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> projectionWeights) {
7487  fbb_.AddOffset(LstmInputParams::VT_PROJECTIONWEIGHTS, projectionWeights);
7488  }
7489  void add_projectionBias(flatbuffers::Offset<armnnSerializer::ConstTensor> projectionBias) {
7490  fbb_.AddOffset(LstmInputParams::VT_PROJECTIONBIAS, projectionBias);
7491  }
7492  void add_cellToForgetWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> cellToForgetWeights) {
7493  fbb_.AddOffset(LstmInputParams::VT_CELLTOFORGETWEIGHTS, cellToForgetWeights);
7494  }
7495  void add_cellToOutputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> cellToOutputWeights) {
7496  fbb_.AddOffset(LstmInputParams::VT_CELLTOOUTPUTWEIGHTS, cellToOutputWeights);
7497  }
7498  void add_inputLayerNormWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputLayerNormWeights) {
7499  fbb_.AddOffset(LstmInputParams::VT_INPUTLAYERNORMWEIGHTS, inputLayerNormWeights);
7500  }
7501  void add_forgetLayerNormWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> forgetLayerNormWeights) {
7502  fbb_.AddOffset(LstmInputParams::VT_FORGETLAYERNORMWEIGHTS, forgetLayerNormWeights);
7503  }
7504  void add_cellLayerNormWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> cellLayerNormWeights) {
7505  fbb_.AddOffset(LstmInputParams::VT_CELLLAYERNORMWEIGHTS, cellLayerNormWeights);
7506  }
7507  void add_outputLayerNormWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> outputLayerNormWeights) {
7508  fbb_.AddOffset(LstmInputParams::VT_OUTPUTLAYERNORMWEIGHTS, outputLayerNormWeights);
7509  }
7510  explicit LstmInputParamsBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7511  : fbb_(_fbb) {
7512  start_ = fbb_.StartTable();
7513  }
7514  LstmInputParamsBuilder &operator=(const LstmInputParamsBuilder &);
7515  flatbuffers::Offset<LstmInputParams> Finish() {
7516  const auto end = fbb_.EndTable(start_);
7517  auto o = flatbuffers::Offset<LstmInputParams>(end);
7518  return o;
7519  }
7520 };
7521 
7522 inline flatbuffers::Offset<LstmInputParams> CreateLstmInputParams(
7523  flatbuffers::FlatBufferBuilder &_fbb,
7524  flatbuffers::Offset<armnnSerializer::ConstTensor> inputToForgetWeights = 0,
7525  flatbuffers::Offset<armnnSerializer::ConstTensor> inputToCellWeights = 0,
7526  flatbuffers::Offset<armnnSerializer::ConstTensor> inputToOutputWeights = 0,
7527  flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToForgetWeights = 0,
7528  flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToCellWeights = 0,
7529  flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToOutputWeights = 0,
7530  flatbuffers::Offset<armnnSerializer::ConstTensor> forgetGateBias = 0,
7531  flatbuffers::Offset<armnnSerializer::ConstTensor> cellBias = 0,
7532  flatbuffers::Offset<armnnSerializer::ConstTensor> outputGateBias = 0,
7533  flatbuffers::Offset<armnnSerializer::ConstTensor> inputToInputWeights = 0,
7534  flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToInputWeights = 0,
7535  flatbuffers::Offset<armnnSerializer::ConstTensor> cellToInputWeights = 0,
7536  flatbuffers::Offset<armnnSerializer::ConstTensor> inputGateBias = 0,
7537  flatbuffers::Offset<armnnSerializer::ConstTensor> projectionWeights = 0,
7538  flatbuffers::Offset<armnnSerializer::ConstTensor> projectionBias = 0,
7539  flatbuffers::Offset<armnnSerializer::ConstTensor> cellToForgetWeights = 0,
7540  flatbuffers::Offset<armnnSerializer::ConstTensor> cellToOutputWeights = 0,
7541  flatbuffers::Offset<armnnSerializer::ConstTensor> inputLayerNormWeights = 0,
7542  flatbuffers::Offset<armnnSerializer::ConstTensor> forgetLayerNormWeights = 0,
7543  flatbuffers::Offset<armnnSerializer::ConstTensor> cellLayerNormWeights = 0,
7544  flatbuffers::Offset<armnnSerializer::ConstTensor> outputLayerNormWeights = 0) {
7545  LstmInputParamsBuilder builder_(_fbb);
7546  builder_.add_outputLayerNormWeights(outputLayerNormWeights);
7547  builder_.add_cellLayerNormWeights(cellLayerNormWeights);
7548  builder_.add_forgetLayerNormWeights(forgetLayerNormWeights);
7549  builder_.add_inputLayerNormWeights(inputLayerNormWeights);
7550  builder_.add_cellToOutputWeights(cellToOutputWeights);
7551  builder_.add_cellToForgetWeights(cellToForgetWeights);
7552  builder_.add_projectionBias(projectionBias);
7553  builder_.add_projectionWeights(projectionWeights);
7554  builder_.add_inputGateBias(inputGateBias);
7555  builder_.add_cellToInputWeights(cellToInputWeights);
7556  builder_.add_recurrentToInputWeights(recurrentToInputWeights);
7557  builder_.add_inputToInputWeights(inputToInputWeights);
7558  builder_.add_outputGateBias(outputGateBias);
7559  builder_.add_cellBias(cellBias);
7560  builder_.add_forgetGateBias(forgetGateBias);
7561  builder_.add_recurrentToOutputWeights(recurrentToOutputWeights);
7562  builder_.add_recurrentToCellWeights(recurrentToCellWeights);
7563  builder_.add_recurrentToForgetWeights(recurrentToForgetWeights);
7564  builder_.add_inputToOutputWeights(inputToOutputWeights);
7565  builder_.add_inputToCellWeights(inputToCellWeights);
7566  builder_.add_inputToForgetWeights(inputToForgetWeights);
7567  return builder_.Finish();
7568 }
7569 
7570 struct LstmDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7572  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7579  VT_LAYERNORMENABLED = 16
7580  };
7581  uint32_t activationFunc() const {
7582  return GetField<uint32_t>(VT_ACTIVATIONFUNC, 0);
7583  }
7584  float clippingThresCell() const {
7585  return GetField<float>(VT_CLIPPINGTHRESCELL, 0.0f);
7586  }
7587  float clippingThresProj() const {
7588  return GetField<float>(VT_CLIPPINGTHRESPROJ, 0.0f);
7589  }
7590  bool cifgEnabled() const {
7591  return GetField<uint8_t>(VT_CIFGENABLED, 1) != 0;
7592  }
7593  bool peepholeEnabled() const {
7594  return GetField<uint8_t>(VT_PEEPHOLEENABLED, 0) != 0;
7595  }
7596  bool projectionEnabled() const {
7597  return GetField<uint8_t>(VT_PROJECTIONENABLED, 0) != 0;
7598  }
7599  bool layerNormEnabled() const {
7600  return GetField<uint8_t>(VT_LAYERNORMENABLED, 0) != 0;
7601  }
7602  bool Verify(flatbuffers::Verifier &verifier) const {
7603  return VerifyTableStart(verifier) &&
7604  VerifyField<uint32_t>(verifier, VT_ACTIVATIONFUNC) &&
7605  VerifyField<float>(verifier, VT_CLIPPINGTHRESCELL) &&
7606  VerifyField<float>(verifier, VT_CLIPPINGTHRESPROJ) &&
7607  VerifyField<uint8_t>(verifier, VT_CIFGENABLED) &&
7608  VerifyField<uint8_t>(verifier, VT_PEEPHOLEENABLED) &&
7609  VerifyField<uint8_t>(verifier, VT_PROJECTIONENABLED) &&
7610  VerifyField<uint8_t>(verifier, VT_LAYERNORMENABLED) &&
7611  verifier.EndTable();
7612  }
7613 };
7614 
7616  typedef LstmDescriptor Table;
7617  flatbuffers::FlatBufferBuilder &fbb_;
7618  flatbuffers::uoffset_t start_;
7619  void add_activationFunc(uint32_t activationFunc) {
7620  fbb_.AddElement<uint32_t>(LstmDescriptor::VT_ACTIVATIONFUNC, activationFunc, 0);
7621  }
7622  void add_clippingThresCell(float clippingThresCell) {
7623  fbb_.AddElement<float>(LstmDescriptor::VT_CLIPPINGTHRESCELL, clippingThresCell, 0.0f);
7624  }
7625  void add_clippingThresProj(float clippingThresProj) {
7626  fbb_.AddElement<float>(LstmDescriptor::VT_CLIPPINGTHRESPROJ, clippingThresProj, 0.0f);
7627  }
7628  void add_cifgEnabled(bool cifgEnabled) {
7629  fbb_.AddElement<uint8_t>(LstmDescriptor::VT_CIFGENABLED, static_cast<uint8_t>(cifgEnabled), 1);
7630  }
7631  void add_peepholeEnabled(bool peepholeEnabled) {
7632  fbb_.AddElement<uint8_t>(LstmDescriptor::VT_PEEPHOLEENABLED, static_cast<uint8_t>(peepholeEnabled), 0);
7633  }
7634  void add_projectionEnabled(bool projectionEnabled) {
7635  fbb_.AddElement<uint8_t>(LstmDescriptor::VT_PROJECTIONENABLED, static_cast<uint8_t>(projectionEnabled), 0);
7636  }
7637  void add_layerNormEnabled(bool layerNormEnabled) {
7638  fbb_.AddElement<uint8_t>(LstmDescriptor::VT_LAYERNORMENABLED, static_cast<uint8_t>(layerNormEnabled), 0);
7639  }
7640  explicit LstmDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7641  : fbb_(_fbb) {
7642  start_ = fbb_.StartTable();
7643  }
7644  LstmDescriptorBuilder &operator=(const LstmDescriptorBuilder &);
7645  flatbuffers::Offset<LstmDescriptor> Finish() {
7646  const auto end = fbb_.EndTable(start_);
7647  auto o = flatbuffers::Offset<LstmDescriptor>(end);
7648  return o;
7649  }
7650 };
7651 
7652 inline flatbuffers::Offset<LstmDescriptor> CreateLstmDescriptor(
7653  flatbuffers::FlatBufferBuilder &_fbb,
7654  uint32_t activationFunc = 0,
7655  float clippingThresCell = 0.0f,
7656  float clippingThresProj = 0.0f,
7657  bool cifgEnabled = true,
7658  bool peepholeEnabled = false,
7659  bool projectionEnabled = false,
7660  bool layerNormEnabled = false) {
7661  LstmDescriptorBuilder builder_(_fbb);
7662  builder_.add_clippingThresProj(clippingThresProj);
7663  builder_.add_clippingThresCell(clippingThresCell);
7664  builder_.add_activationFunc(activationFunc);
7665  builder_.add_layerNormEnabled(layerNormEnabled);
7666  builder_.add_projectionEnabled(projectionEnabled);
7667  builder_.add_peepholeEnabled(peepholeEnabled);
7668  builder_.add_cifgEnabled(cifgEnabled);
7669  return builder_.Finish();
7670 }
7671 
7672 struct LstmLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7674  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7675  VT_BASE = 4,
7676  VT_DESCRIPTOR = 6,
7677  VT_INPUTPARAMS = 8
7678  };
7679  const armnnSerializer::LayerBase *base() const {
7680  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
7681  }
7682  const armnnSerializer::LstmDescriptor *descriptor() const {
7683  return GetPointer<const armnnSerializer::LstmDescriptor *>(VT_DESCRIPTOR);
7684  }
7685  const armnnSerializer::LstmInputParams *inputParams() const {
7686  return GetPointer<const armnnSerializer::LstmInputParams *>(VT_INPUTPARAMS);
7687  }
7688  bool Verify(flatbuffers::Verifier &verifier) const {
7689  return VerifyTableStart(verifier) &&
7690  VerifyOffset(verifier, VT_BASE) &&
7691  verifier.VerifyTable(base()) &&
7692  VerifyOffset(verifier, VT_DESCRIPTOR) &&
7693  verifier.VerifyTable(descriptor()) &&
7694  VerifyOffset(verifier, VT_INPUTPARAMS) &&
7695  verifier.VerifyTable(inputParams()) &&
7696  verifier.EndTable();
7697  }
7698 };
7699 
7701  typedef LstmLayer Table;
7702  flatbuffers::FlatBufferBuilder &fbb_;
7703  flatbuffers::uoffset_t start_;
7704  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
7705  fbb_.AddOffset(LstmLayer::VT_BASE, base);
7706  }
7707  void add_descriptor(flatbuffers::Offset<armnnSerializer::LstmDescriptor> descriptor) {
7708  fbb_.AddOffset(LstmLayer::VT_DESCRIPTOR, descriptor);
7709  }
7710  void add_inputParams(flatbuffers::Offset<armnnSerializer::LstmInputParams> inputParams) {
7711  fbb_.AddOffset(LstmLayer::VT_INPUTPARAMS, inputParams);
7712  }
7713  explicit LstmLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7714  : fbb_(_fbb) {
7715  start_ = fbb_.StartTable();
7716  }
7717  LstmLayerBuilder &operator=(const LstmLayerBuilder &);
7718  flatbuffers::Offset<LstmLayer> Finish() {
7719  const auto end = fbb_.EndTable(start_);
7720  auto o = flatbuffers::Offset<LstmLayer>(end);
7721  return o;
7722  }
7723 };
7724 
7725 inline flatbuffers::Offset<LstmLayer> CreateLstmLayer(
7726  flatbuffers::FlatBufferBuilder &_fbb,
7727  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
7728  flatbuffers::Offset<armnnSerializer::LstmDescriptor> descriptor = 0,
7729  flatbuffers::Offset<armnnSerializer::LstmInputParams> inputParams = 0) {
7730  LstmLayerBuilder builder_(_fbb);
7731  builder_.add_inputParams(inputParams);
7732  builder_.add_descriptor(descriptor);
7733  builder_.add_base(base);
7734  return builder_.Finish();
7735 }
7736 
7737 struct QLstmInputParams FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7739  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7746  VT_FORGETGATEBIAS = 16,
7747  VT_CELLBIAS = 18,
7748  VT_OUTPUTGATEBIAS = 20,
7751  VT_INPUTGATEBIAS = 26,
7752  VT_PROJECTIONWEIGHTS = 28,
7753  VT_PROJECTIONBIAS = 30,
7754  VT_CELLTOINPUTWEIGHTS = 32,
7760  VT_OUTPUTLAYERNORMWEIGHTS = 44
7761  };
7762  const armnnSerializer::ConstTensor *inputToForgetWeights() const {
7763  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOFORGETWEIGHTS);
7764  }
7765  const armnnSerializer::ConstTensor *inputToCellWeights() const {
7766  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOCELLWEIGHTS);
7767  }
7768  const armnnSerializer::ConstTensor *inputToOutputWeights() const {
7769  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOOUTPUTWEIGHTS);
7770  }
7771  const armnnSerializer::ConstTensor *recurrentToForgetWeights() const {
7772  return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOFORGETWEIGHTS);
7773  }
7774  const armnnSerializer::ConstTensor *recurrentToCellWeights() const {
7775  return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOCELLWEIGHTS);
7776  }
7777  const armnnSerializer::ConstTensor *recurrentToOutputWeights() const {
7778  return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOOUTPUTWEIGHTS);
7779  }
7780  const armnnSerializer::ConstTensor *forgetGateBias() const {
7781  return GetPointer<const armnnSerializer::ConstTensor *>(VT_FORGETGATEBIAS);
7782  }
7783  const armnnSerializer::ConstTensor *cellBias() const {
7784  return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLBIAS);
7785  }
7786  const armnnSerializer::ConstTensor *outputGateBias() const {
7787  return GetPointer<const armnnSerializer::ConstTensor *>(VT_OUTPUTGATEBIAS);
7788  }
7789  const armnnSerializer::ConstTensor *inputToInputWeights() const {
7790  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOINPUTWEIGHTS);
7791  }
7792  const armnnSerializer::ConstTensor *recurrentToInputWeights() const {
7793  return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOINPUTWEIGHTS);
7794  }
7795  const armnnSerializer::ConstTensor *inputGateBias() const {
7796  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTGATEBIAS);
7797  }
7798  const armnnSerializer::ConstTensor *projectionWeights() const {
7799  return GetPointer<const armnnSerializer::ConstTensor *>(VT_PROJECTIONWEIGHTS);
7800  }
7801  const armnnSerializer::ConstTensor *projectionBias() const {
7802  return GetPointer<const armnnSerializer::ConstTensor *>(VT_PROJECTIONBIAS);
7803  }
7804  const armnnSerializer::ConstTensor *cellToInputWeights() const {
7805  return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLTOINPUTWEIGHTS);
7806  }
7807  const armnnSerializer::ConstTensor *cellToForgetWeights() const {
7808  return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLTOFORGETWEIGHTS);
7809  }
7810  const armnnSerializer::ConstTensor *cellToOutputWeights() const {
7811  return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLTOOUTPUTWEIGHTS);
7812  }
7813  const armnnSerializer::ConstTensor *inputLayerNormWeights() const {
7814  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTLAYERNORMWEIGHTS);
7815  }
7816  const armnnSerializer::ConstTensor *forgetLayerNormWeights() const {
7817  return GetPointer<const armnnSerializer::ConstTensor *>(VT_FORGETLAYERNORMWEIGHTS);
7818  }
7819  const armnnSerializer::ConstTensor *cellLayerNormWeights() const {
7820  return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLLAYERNORMWEIGHTS);
7821  }
7822  const armnnSerializer::ConstTensor *outputLayerNormWeights() const {
7823  return GetPointer<const armnnSerializer::ConstTensor *>(VT_OUTPUTLAYERNORMWEIGHTS);
7824  }
7825  bool Verify(flatbuffers::Verifier &verifier) const {
7826  return VerifyTableStart(verifier) &&
7827  VerifyOffset(verifier, VT_INPUTTOFORGETWEIGHTS) &&
7828  verifier.VerifyTable(inputToForgetWeights()) &&
7829  VerifyOffset(verifier, VT_INPUTTOCELLWEIGHTS) &&
7830  verifier.VerifyTable(inputToCellWeights()) &&
7831  VerifyOffset(verifier, VT_INPUTTOOUTPUTWEIGHTS) &&
7832  verifier.VerifyTable(inputToOutputWeights()) &&
7833  VerifyOffset(verifier, VT_RECURRENTTOFORGETWEIGHTS) &&
7834  verifier.VerifyTable(recurrentToForgetWeights()) &&
7835  VerifyOffset(verifier, VT_RECURRENTTOCELLWEIGHTS) &&
7836  verifier.VerifyTable(recurrentToCellWeights()) &&
7837  VerifyOffset(verifier, VT_RECURRENTTOOUTPUTWEIGHTS) &&
7838  verifier.VerifyTable(recurrentToOutputWeights()) &&
7839  VerifyOffset(verifier, VT_FORGETGATEBIAS) &&
7840  verifier.VerifyTable(forgetGateBias()) &&
7841  VerifyOffset(verifier, VT_CELLBIAS) &&
7842  verifier.VerifyTable(cellBias()) &&
7843  VerifyOffset(verifier, VT_OUTPUTGATEBIAS) &&
7844  verifier.VerifyTable(outputGateBias()) &&
7845  VerifyOffset(verifier, VT_INPUTTOINPUTWEIGHTS) &&
7846  verifier.VerifyTable(inputToInputWeights()) &&
7847  VerifyOffset(verifier, VT_RECURRENTTOINPUTWEIGHTS) &&
7848  verifier.VerifyTable(recurrentToInputWeights()) &&
7849  VerifyOffset(verifier, VT_INPUTGATEBIAS) &&
7850  verifier.VerifyTable(inputGateBias()) &&
7851  VerifyOffset(verifier, VT_PROJECTIONWEIGHTS) &&
7852  verifier.VerifyTable(projectionWeights()) &&
7853  VerifyOffset(verifier, VT_PROJECTIONBIAS) &&
7854  verifier.VerifyTable(projectionBias()) &&
7855  VerifyOffset(verifier, VT_CELLTOINPUTWEIGHTS) &&
7856  verifier.VerifyTable(cellToInputWeights()) &&
7857  VerifyOffset(verifier, VT_CELLTOFORGETWEIGHTS) &&
7858  verifier.VerifyTable(cellToForgetWeights()) &&
7859  VerifyOffset(verifier, VT_CELLTOOUTPUTWEIGHTS) &&
7860  verifier.VerifyTable(cellToOutputWeights()) &&
7861  VerifyOffset(verifier, VT_INPUTLAYERNORMWEIGHTS) &&
7862  verifier.VerifyTable(inputLayerNormWeights()) &&
7863  VerifyOffset(verifier, VT_FORGETLAYERNORMWEIGHTS) &&
7864  verifier.VerifyTable(forgetLayerNormWeights()) &&
7865  VerifyOffset(verifier, VT_CELLLAYERNORMWEIGHTS) &&
7866  verifier.VerifyTable(cellLayerNormWeights()) &&
7867  VerifyOffset(verifier, VT_OUTPUTLAYERNORMWEIGHTS) &&
7868  verifier.VerifyTable(outputLayerNormWeights()) &&
7869  verifier.EndTable();
7870  }
7871 };
7872 
7874  typedef QLstmInputParams Table;
7875  flatbuffers::FlatBufferBuilder &fbb_;
7876  flatbuffers::uoffset_t start_;
7877  void add_inputToForgetWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToForgetWeights) {
7878  fbb_.AddOffset(QLstmInputParams::VT_INPUTTOFORGETWEIGHTS, inputToForgetWeights);
7879  }
7880  void add_inputToCellWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToCellWeights) {
7881  fbb_.AddOffset(QLstmInputParams::VT_INPUTTOCELLWEIGHTS, inputToCellWeights);
7882  }
7883  void add_inputToOutputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToOutputWeights) {
7884  fbb_.AddOffset(QLstmInputParams::VT_INPUTTOOUTPUTWEIGHTS, inputToOutputWeights);
7885  }
7886  void add_recurrentToForgetWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToForgetWeights) {
7887  fbb_.AddOffset(QLstmInputParams::VT_RECURRENTTOFORGETWEIGHTS, recurrentToForgetWeights);
7888  }
7889  void add_recurrentToCellWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToCellWeights) {
7890  fbb_.AddOffset(QLstmInputParams::VT_RECURRENTTOCELLWEIGHTS, recurrentToCellWeights);
7891  }
7892  void add_recurrentToOutputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToOutputWeights) {
7893  fbb_.AddOffset(QLstmInputParams::VT_RECURRENTTOOUTPUTWEIGHTS, recurrentToOutputWeights);
7894  }
7895  void add_forgetGateBias(flatbuffers::Offset<armnnSerializer::ConstTensor> forgetGateBias) {
7896  fbb_.AddOffset(QLstmInputParams::VT_FORGETGATEBIAS, forgetGateBias);
7897  }
7898  void add_cellBias(flatbuffers::Offset<armnnSerializer::ConstTensor> cellBias) {
7899  fbb_.AddOffset(QLstmInputParams::VT_CELLBIAS, cellBias);
7900  }
7901  void add_outputGateBias(flatbuffers::Offset<armnnSerializer::ConstTensor> outputGateBias) {
7902  fbb_.AddOffset(QLstmInputParams::VT_OUTPUTGATEBIAS, outputGateBias);
7903  }
7904  void add_inputToInputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToInputWeights) {
7905  fbb_.AddOffset(QLstmInputParams::VT_INPUTTOINPUTWEIGHTS, inputToInputWeights);
7906  }
7907  void add_recurrentToInputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToInputWeights) {
7908  fbb_.AddOffset(QLstmInputParams::VT_RECURRENTTOINPUTWEIGHTS, recurrentToInputWeights);
7909  }
7910  void add_inputGateBias(flatbuffers::Offset<armnnSerializer::ConstTensor> inputGateBias) {
7911  fbb_.AddOffset(QLstmInputParams::VT_INPUTGATEBIAS, inputGateBias);
7912  }
7913  void add_projectionWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> projectionWeights) {
7914  fbb_.AddOffset(QLstmInputParams::VT_PROJECTIONWEIGHTS, projectionWeights);
7915  }
7916  void add_projectionBias(flatbuffers::Offset<armnnSerializer::ConstTensor> projectionBias) {
7917  fbb_.AddOffset(QLstmInputParams::VT_PROJECTIONBIAS, projectionBias);
7918  }
7919  void add_cellToInputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> cellToInputWeights) {
7920  fbb_.AddOffset(QLstmInputParams::VT_CELLTOINPUTWEIGHTS, cellToInputWeights);
7921  }
7922  void add_cellToForgetWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> cellToForgetWeights) {
7923  fbb_.AddOffset(QLstmInputParams::VT_CELLTOFORGETWEIGHTS, cellToForgetWeights);
7924  }
7925  void add_cellToOutputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> cellToOutputWeights) {
7926  fbb_.AddOffset(QLstmInputParams::VT_CELLTOOUTPUTWEIGHTS, cellToOutputWeights);
7927  }
7928  void add_inputLayerNormWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputLayerNormWeights) {
7929  fbb_.AddOffset(QLstmInputParams::VT_INPUTLAYERNORMWEIGHTS, inputLayerNormWeights);
7930  }
7931  void add_forgetLayerNormWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> forgetLayerNormWeights) {
7932  fbb_.AddOffset(QLstmInputParams::VT_FORGETLAYERNORMWEIGHTS, forgetLayerNormWeights);
7933  }
7934  void add_cellLayerNormWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> cellLayerNormWeights) {
7935  fbb_.AddOffset(QLstmInputParams::VT_CELLLAYERNORMWEIGHTS, cellLayerNormWeights);
7936  }
7937  void add_outputLayerNormWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> outputLayerNormWeights) {
7938  fbb_.AddOffset(QLstmInputParams::VT_OUTPUTLAYERNORMWEIGHTS, outputLayerNormWeights);
7939  }
7940  explicit QLstmInputParamsBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7941  : fbb_(_fbb) {
7942  start_ = fbb_.StartTable();
7943  }
7945  flatbuffers::Offset<QLstmInputParams> Finish() {
7946  const auto end = fbb_.EndTable(start_);
7947  auto o = flatbuffers::Offset<QLstmInputParams>(end);
7948  return o;
7949  }
7950 };
7951 
7952 inline flatbuffers::Offset<QLstmInputParams> CreateQLstmInputParams(
7953  flatbuffers::FlatBufferBuilder &_fbb,
7954  flatbuffers::Offset<armnnSerializer::ConstTensor> inputToForgetWeights = 0,
7955  flatbuffers::Offset<armnnSerializer::ConstTensor> inputToCellWeights = 0,
7956  flatbuffers::Offset<armnnSerializer::ConstTensor> inputToOutputWeights = 0,
7957  flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToForgetWeights = 0,
7958  flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToCellWeights = 0,
7959  flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToOutputWeights = 0,
7960  flatbuffers::Offset<armnnSerializer::ConstTensor> forgetGateBias = 0,
7961  flatbuffers::Offset<armnnSerializer::ConstTensor> cellBias = 0,
7962  flatbuffers::Offset<armnnSerializer::ConstTensor> outputGateBias = 0,
7963  flatbuffers::Offset<armnnSerializer::ConstTensor> inputToInputWeights = 0,
7964  flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToInputWeights = 0,
7965  flatbuffers::Offset<armnnSerializer::ConstTensor> inputGateBias = 0,
7966  flatbuffers::Offset<armnnSerializer::ConstTensor> projectionWeights = 0,
7967  flatbuffers::Offset<armnnSerializer::ConstTensor> projectionBias = 0,
7968  flatbuffers::Offset<armnnSerializer::ConstTensor> cellToInputWeights = 0,
7969  flatbuffers::Offset<armnnSerializer::ConstTensor> cellToForgetWeights = 0,
7970  flatbuffers::Offset<armnnSerializer::ConstTensor> cellToOutputWeights = 0,
7971  flatbuffers::Offset<armnnSerializer::ConstTensor> inputLayerNormWeights = 0,
7972  flatbuffers::Offset<armnnSerializer::ConstTensor> forgetLayerNormWeights = 0,
7973  flatbuffers::Offset<armnnSerializer::ConstTensor> cellLayerNormWeights = 0,
7974  flatbuffers::Offset<armnnSerializer::ConstTensor> outputLayerNormWeights = 0) {
7975  QLstmInputParamsBuilder builder_(_fbb);
7976  builder_.add_outputLayerNormWeights(outputLayerNormWeights);
7977  builder_.add_cellLayerNormWeights(cellLayerNormWeights);
7978  builder_.add_forgetLayerNormWeights(forgetLayerNormWeights);
7979  builder_.add_inputLayerNormWeights(inputLayerNormWeights);
7980  builder_.add_cellToOutputWeights(cellToOutputWeights);
7981  builder_.add_cellToForgetWeights(cellToForgetWeights);
7982  builder_.add_cellToInputWeights(cellToInputWeights);
7983  builder_.add_projectionBias(projectionBias);
7984  builder_.add_projectionWeights(projectionWeights);
7985  builder_.add_inputGateBias(inputGateBias);
7986  builder_.add_recurrentToInputWeights(recurrentToInputWeights);
7987  builder_.add_inputToInputWeights(inputToInputWeights);
7988  builder_.add_outputGateBias(outputGateBias);
7989  builder_.add_cellBias(cellBias);
7990  builder_.add_forgetGateBias(forgetGateBias);
7991  builder_.add_recurrentToOutputWeights(recurrentToOutputWeights);
7992  builder_.add_recurrentToCellWeights(recurrentToCellWeights);
7993  builder_.add_recurrentToForgetWeights(recurrentToForgetWeights);
7994  builder_.add_inputToOutputWeights(inputToOutputWeights);
7995  builder_.add_inputToCellWeights(inputToCellWeights);
7996  builder_.add_inputToForgetWeights(inputToForgetWeights);
7997  return builder_.Finish();
7998 }
7999 
8000 struct QLstmDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
8002  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
8003  VT_CIFGENABLED = 4,
8004  VT_PEEPHOLEENABLED = 6,
8014  VT_HIDDENSTATESCALE = 26
8015  };
8016  bool cifgEnabled() const {
8017  return GetField<uint8_t>(VT_CIFGENABLED, 1) != 0;
8018  }
8019  bool peepholeEnabled() const {
8020  return GetField<uint8_t>(VT_PEEPHOLEENABLED, 0) != 0;
8021  }
8022  bool projectionEnabled() const {
8023  return GetField<uint8_t>(VT_PROJECTIONENABLED, 0) != 0;
8024  }
8025  bool layerNormEnabled() const {
8026  return GetField<uint8_t>(VT_LAYERNORMENABLED, 0) != 0;
8027  }
8028  float cellClip() const {
8029  return GetField<float>(VT_CELLCLIP, 0.0f);
8030  }
8031  float projectionClip() const {
8032  return GetField<float>(VT_PROJECTIONCLIP, 0.0f);
8033  }
8034  float inputIntermediateScale() const {
8035  return GetField<float>(VT_INPUTINTERMEDIATESCALE, 0.0f);
8036  }
8037  float forgetIntermediateScale() const {
8038  return GetField<float>(VT_FORGETINTERMEDIATESCALE, 0.0f);
8039  }
8040  float cellIntermediateScale() const {
8041  return GetField<float>(VT_CELLINTERMEDIATESCALE, 0.0f);
8042  }
8043  float outputIntermediateScale() const {
8044  return GetField<float>(VT_OUTPUTINTERMEDIATESCALE, 0.0f);
8045  }
8046  int32_t hiddenStateZeroPoint() const {
8047  return GetField<int32_t>(VT_HIDDENSTATEZEROPOINT, 0);
8048  }
8049  float hiddenStateScale() const {
8050  return GetField<float>(VT_HIDDENSTATESCALE, 0.0f);
8051  }
8052  bool Verify(flatbuffers::Verifier &verifier) const {
8053  return VerifyTableStart(verifier) &&
8054  VerifyField<uint8_t>(verifier, VT_CIFGENABLED) &&
8055  VerifyField<uint8_t>(verifier, VT_PEEPHOLEENABLED) &&
8056  VerifyField<uint8_t>(verifier, VT_PROJECTIONENABLED) &&
8057  VerifyField<uint8_t>(verifier, VT_LAYERNORMENABLED) &&
8058  VerifyField<float>(verifier, VT_CELLCLIP) &&
8059  VerifyField<float>(verifier, VT_PROJECTIONCLIP) &&
8060  VerifyField<float>(verifier, VT_INPUTINTERMEDIATESCALE) &&
8061  VerifyField<float>(verifier, VT_FORGETINTERMEDIATESCALE) &&
8062  VerifyField<float>(verifier, VT_CELLINTERMEDIATESCALE) &&
8063  VerifyField<float>(verifier, VT_OUTPUTINTERMEDIATESCALE) &&
8064  VerifyField<int32_t>(verifier, VT_HIDDENSTATEZEROPOINT) &&
8065  VerifyField<float>(verifier, VT_HIDDENSTATESCALE) &&
8066  verifier.EndTable();
8067  }
8068 };
8069 
8071  typedef QLstmDescriptor Table;
8072  flatbuffers::FlatBufferBuilder &fbb_;
8073  flatbuffers::uoffset_t start_;
8074  void add_cifgEnabled(bool cifgEnabled) {
8075  fbb_.AddElement<uint8_t>(QLstmDescriptor::VT_CIFGENABLED, static_cast<uint8_t>(cifgEnabled), 1);
8076  }
8077  void add_peepholeEnabled(bool peepholeEnabled) {
8078  fbb_.AddElement<uint8_t>(QLstmDescriptor::VT_PEEPHOLEENABLED, static_cast<uint8_t>(peepholeEnabled), 0);
8079  }
8080  void add_projectionEnabled(bool projectionEnabled) {
8081  fbb_.AddElement<uint8_t>(QLstmDescriptor::VT_PROJECTIONENABLED, static_cast<uint8_t>(projectionEnabled), 0);
8082  }
8083  void add_layerNormEnabled(bool layerNormEnabled) {
8084  fbb_.AddElement<uint8_t>(QLstmDescriptor::VT_LAYERNORMENABLED, static_cast<uint8_t>(layerNormEnabled), 0);
8085  }
8086  void add_cellClip(float cellClip) {
8087  fbb_.AddElement<float>(QLstmDescriptor::VT_CELLCLIP, cellClip, 0.0f);
8088  }
8089  void add_projectionClip(float projectionClip) {
8090  fbb_.AddElement<float>(QLstmDescriptor::VT_PROJECTIONCLIP, projectionClip, 0.0f);
8091  }
8092  void add_inputIntermediateScale(float inputIntermediateScale) {
8093  fbb_.AddElement<float>(QLstmDescriptor::VT_INPUTINTERMEDIATESCALE, inputIntermediateScale, 0.0f);
8094  }
8095  void add_forgetIntermediateScale(float forgetIntermediateScale) {
8096  fbb_.AddElement<float>(QLstmDescriptor::VT_FORGETINTERMEDIATESCALE, forgetIntermediateScale, 0.0f);
8097  }
8098  void add_cellIntermediateScale(float cellIntermediateScale) {
8099  fbb_.AddElement<float>(QLstmDescriptor::VT_CELLINTERMEDIATESCALE, cellIntermediateScale, 0.0f);
8100  }
8101  void add_outputIntermediateScale(float outputIntermediateScale) {
8102  fbb_.AddElement<float>(QLstmDescriptor::VT_OUTPUTINTERMEDIATESCALE, outputIntermediateScale, 0.0f);
8103  }
8104  void add_hiddenStateZeroPoint(int32_t hiddenStateZeroPoint) {
8105  fbb_.AddElement<int32_t>(QLstmDescriptor::VT_HIDDENSTATEZEROPOINT, hiddenStateZeroPoint, 0);
8106  }
8107  void add_hiddenStateScale(float hiddenStateScale) {
8108  fbb_.AddElement<float>(QLstmDescriptor::VT_HIDDENSTATESCALE, hiddenStateScale, 0.0f);
8109  }
8110  explicit QLstmDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
8111  : fbb_(_fbb) {
8112  start_ = fbb_.StartTable();
8113  }
8114  QLstmDescriptorBuilder &operator=(const QLstmDescriptorBuilder &);
8115  flatbuffers::Offset<QLstmDescriptor> Finish() {
8116  const auto end = fbb_.EndTable(start_);
8117  auto o = flatbuffers::Offset<QLstmDescriptor>(end);
8118  return o;
8119  }
8120 };
8121 
8122 inline flatbuffers::Offset<QLstmDescriptor> CreateQLstmDescriptor(
8123  flatbuffers::FlatBufferBuilder &_fbb,
8124  bool cifgEnabled = true,
8125  bool peepholeEnabled = false,
8126  bool projectionEnabled = false,
8127  bool layerNormEnabled = false,
8128  float cellClip = 0.0f,
8129  float projectionClip = 0.0f,
8130  float inputIntermediateScale = 0.0f,
8131  float forgetIntermediateScale = 0.0f,
8132  float cellIntermediateScale = 0.0f,
8133  float outputIntermediateScale = 0.0f,
8134  int32_t hiddenStateZeroPoint = 0,
8135  float hiddenStateScale = 0.0f) {
8136  QLstmDescriptorBuilder builder_(_fbb);
8137  builder_.add_hiddenStateScale(hiddenStateScale);
8138  builder_.add_hiddenStateZeroPoint(hiddenStateZeroPoint);
8139  builder_.add_outputIntermediateScale(outputIntermediateScale);
8140  builder_.add_cellIntermediateScale(cellIntermediateScale);
8141  builder_.add_forgetIntermediateScale(forgetIntermediateScale);
8142  builder_.add_inputIntermediateScale(inputIntermediateScale);
8143  builder_.add_projectionClip(projectionClip);
8144  builder_.add_cellClip(cellClip);
8145  builder_.add_layerNormEnabled(layerNormEnabled);
8146  builder_.add_projectionEnabled(projectionEnabled);
8147  builder_.add_peepholeEnabled(peepholeEnabled);
8148  builder_.add_cifgEnabled(cifgEnabled);
8149  return builder_.Finish();
8150 }
8151 
8152 struct QLstmLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
8154  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
8155  VT_BASE = 4,
8156  VT_DESCRIPTOR = 6,
8157  VT_INPUTPARAMS = 8
8158  };
8159  const armnnSerializer::LayerBase *base() const {
8160  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
8161  }
8162  const armnnSerializer::QLstmDescriptor *descriptor() const {
8163  return GetPointer<const armnnSerializer::QLstmDescriptor *>(VT_DESCRIPTOR);
8164  }
8165  const armnnSerializer::QLstmInputParams *inputParams() const {
8166  return GetPointer<const armnnSerializer::QLstmInputParams *>(VT_INPUTPARAMS);
8167  }
8168  bool Verify(flatbuffers::Verifier &verifier) const {
8169  return VerifyTableStart(verifier) &&
8170  VerifyOffset(verifier, VT_BASE) &&
8171  verifier.VerifyTable(base()) &&
8172  VerifyOffset(verifier, VT_DESCRIPTOR) &&
8173  verifier.VerifyTable(descriptor()) &&
8174  VerifyOffset(verifier, VT_INPUTPARAMS) &&
8175  verifier.VerifyTable(inputParams()) &&
8176  verifier.EndTable();
8177  }
8178 };
8179 
8181  typedef QLstmLayer Table;
8182  flatbuffers::FlatBufferBuilder &fbb_;
8183  flatbuffers::uoffset_t start_;
8184  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
8185  fbb_.AddOffset(QLstmLayer::VT_BASE, base);
8186  }
8187  void add_descriptor(flatbuffers::Offset<armnnSerializer::QLstmDescriptor> descriptor) {
8188  fbb_.AddOffset(QLstmLayer::VT_DESCRIPTOR, descriptor);
8189  }
8190  void add_inputParams(flatbuffers::Offset<armnnSerializer::QLstmInputParams> inputParams) {
8191  fbb_.AddOffset(QLstmLayer::VT_INPUTPARAMS, inputParams);
8192  }
8193  explicit QLstmLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
8194  : fbb_(_fbb) {
8195  start_ = fbb_.StartTable();
8196  }
8197  QLstmLayerBuilder &operator=(const QLstmLayerBuilder &);
8198  flatbuffers::Offset<QLstmLayer> Finish() {
8199  const auto end = fbb_.EndTable(start_);
8200  auto o = flatbuffers::Offset<QLstmLayer>(end);
8201  return o;
8202  }
8203 };
8204 
8205 inline flatbuffers::Offset<QLstmLayer> CreateQLstmLayer(
8206  flatbuffers::FlatBufferBuilder &_fbb,
8207  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
8208  flatbuffers::Offset<armnnSerializer::QLstmDescriptor> descriptor = 0,
8209  flatbuffers::Offset<armnnSerializer::QLstmInputParams> inputParams = 0) {
8210  QLstmLayerBuilder builder_(_fbb);
8211  builder_.add_inputParams(inputParams);
8212  builder_.add_descriptor(descriptor);
8213  builder_.add_base(base);
8214  return builder_.Finish();
8215 }
8216 
8217 struct QuantizedLstmInputParams FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
8219  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
8228  VT_INPUTGATEBIAS = 20,
8229  VT_FORGETGATEBIAS = 22,
8230  VT_CELLBIAS = 24,
8231  VT_OUTPUTGATEBIAS = 26
8232  };
8233  const armnnSerializer::ConstTensor *inputToInputWeights() const {
8234  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOINPUTWEIGHTS);
8235  }
8236  const armnnSerializer::ConstTensor *inputToForgetWeights() const {
8237  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOFORGETWEIGHTS);
8238  }
8239  const armnnSerializer::ConstTensor *inputToCellWeights() const {
8240  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOCELLWEIGHTS);
8241  }
8242  const armnnSerializer::ConstTensor *inputToOutputWeights() const {
8243  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOOUTPUTWEIGHTS);
8244  }
8245  const armnnSerializer::ConstTensor *recurrentToInputWeights() const {
8246  return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOINPUTWEIGHTS);
8247  }
8248  const armnnSerializer::ConstTensor *recurrentToForgetWeights() const {
8249  return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOFORGETWEIGHTS);
8250  }
8251  const armnnSerializer::ConstTensor *recurrentToCellWeights() const {
8252  return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOCELLWEIGHTS);
8253  }
8254  const armnnSerializer::ConstTensor *recurrentToOutputWeights() const {
8255  return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOOUTPUTWEIGHTS);
8256  }
8257  const armnnSerializer::ConstTensor *inputGateBias() const {
8258  return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTGATEBIAS);
8259  }
8260  const armnnSerializer::ConstTensor *forgetGateBias() const {
8261  return GetPointer<const armnnSerializer::ConstTensor *>(VT_FORGETGATEBIAS);
8262  }
8263  const armnnSerializer::ConstTensor *cellBias() const {
8264  return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLBIAS);
8265  }
8266  const armnnSerializer::ConstTensor *outputGateBias() const {
8267  return GetPointer<const armnnSerializer::ConstTensor *>(VT_OUTPUTGATEBIAS);
8268  }
8269  bool Verify(flatbuffers::Verifier &verifier) const {
8270  return VerifyTableStart(verifier) &&
8271  VerifyOffset(verifier, VT_INPUTTOINPUTWEIGHTS) &&
8272  verifier.VerifyTable(inputToInputWeights()) &&
8273  VerifyOffset(verifier, VT_INPUTTOFORGETWEIGHTS) &&
8274  verifier.VerifyTable(inputToForgetWeights()) &&
8275  VerifyOffset(verifier, VT_INPUTTOCELLWEIGHTS) &&
8276  verifier.VerifyTable(inputToCellWeights()) &&
8277  VerifyOffset(verifier, VT_INPUTTOOUTPUTWEIGHTS) &&
8278  verifier.VerifyTable(inputToOutputWeights()) &&
8279  VerifyOffset(verifier, VT_RECURRENTTOINPUTWEIGHTS) &&
8280  verifier.VerifyTable(recurrentToInputWeights()) &&
8281  VerifyOffset(verifier, VT_RECURRENTTOFORGETWEIGHTS) &&
8282  verifier.VerifyTable(recurrentToForgetWeights()) &&
8283  VerifyOffset(verifier, VT_RECURRENTTOCELLWEIGHTS) &&
8284  verifier.VerifyTable(recurrentToCellWeights()) &&
8285  VerifyOffset(verifier, VT_RECURRENTTOOUTPUTWEIGHTS) &&
8286  verifier.VerifyTable(recurrentToOutputWeights()) &&
8287  VerifyOffset(verifier, VT_INPUTGATEBIAS) &&
8288  verifier.VerifyTable(inputGateBias()) &&
8289  VerifyOffset(verifier, VT_FORGETGATEBIAS) &&
8290  verifier.VerifyTable(forgetGateBias()) &&
8291  VerifyOffset(verifier, VT_CELLBIAS) &&
8292  verifier.VerifyTable(cellBias()) &&
8293  VerifyOffset(verifier, VT_OUTPUTGATEBIAS) &&
8294  verifier.VerifyTable(outputGateBias()) &&
8295  verifier.EndTable();
8296  }
8297 };
8298 
8300  typedef QuantizedLstmInputParams Table;
8301  flatbuffers::FlatBufferBuilder &fbb_;
8302  flatbuffers::uoffset_t start_;
8303  void add_inputToInputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToInputWeights) {
8304  fbb_.AddOffset(QuantizedLstmInputParams::VT_INPUTTOINPUTWEIGHTS, inputToInputWeights);
8305  }
8306  void add_inputToForgetWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToForgetWeights) {
8307  fbb_.AddOffset(QuantizedLstmInputParams::VT_INPUTTOFORGETWEIGHTS, inputToForgetWeights);
8308  }
8309  void add_inputToCellWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToCellWeights) {
8310  fbb_.AddOffset(QuantizedLstmInputParams::VT_INPUTTOCELLWEIGHTS, inputToCellWeights);
8311  }
8312  void add_inputToOutputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToOutputWeights) {
8313  fbb_.AddOffset(QuantizedLstmInputParams::VT_INPUTTOOUTPUTWEIGHTS, inputToOutputWeights);
8314  }
8315  void add_recurrentToInputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToInputWeights) {
8316  fbb_.AddOffset(QuantizedLstmInputParams::VT_RECURRENTTOINPUTWEIGHTS, recurrentToInputWeights);
8317  }
8318  void add_recurrentToForgetWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToForgetWeights) {
8319  fbb_.AddOffset(QuantizedLstmInputParams::VT_RECURRENTTOFORGETWEIGHTS, recurrentToForgetWeights);
8320  }
8321  void add_recurrentToCellWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToCellWeights) {
8322  fbb_.AddOffset(QuantizedLstmInputParams::VT_RECURRENTTOCELLWEIGHTS, recurrentToCellWeights);
8323  }
8324  void add_recurrentToOutputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToOutputWeights) {
8325  fbb_.AddOffset(QuantizedLstmInputParams::VT_RECURRENTTOOUTPUTWEIGHTS, recurrentToOutputWeights);
8326  }
8327  void add_inputGateBias(flatbuffers::Offset<armnnSerializer::ConstTensor> inputGateBias) {
8328  fbb_.AddOffset(QuantizedLstmInputParams::VT_INPUTGATEBIAS, inputGateBias);
8329  }
8330  void add_forgetGateBias(flatbuffers::Offset<armnnSerializer::ConstTensor> forgetGateBias) {
8331  fbb_.AddOffset(QuantizedLstmInputParams::VT_FORGETGATEBIAS, forgetGateBias);
8332  }
8333  void add_cellBias(flatbuffers::Offset<armnnSerializer::ConstTensor> cellBias) {
8334  fbb_.AddOffset(QuantizedLstmInputParams::VT_CELLBIAS, cellBias);
8335  }
8336  void add_outputGateBias(flatbuffers::Offset<armnnSerializer::ConstTensor> outputGateBias) {
8337  fbb_.AddOffset(QuantizedLstmInputParams::VT_OUTPUTGATEBIAS, outputGateBias);
8338  }
8339  explicit QuantizedLstmInputParamsBuilder(flatbuffers::FlatBufferBuilder &_fbb)
8340  : fbb_(_fbb) {
8341  start_ = fbb_.StartTable();
8342  }
8344  flatbuffers::Offset<QuantizedLstmInputParams> Finish() {
8345  const auto end = fbb_.EndTable(start_);
8346  auto o = flatbuffers::Offset<QuantizedLstmInputParams>(end);
8347  return o;
8348  }
8349 };
8350 
8351 inline flatbuffers::Offset<QuantizedLstmInputParams> CreateQuantizedLstmInputParams(
8352  flatbuffers::FlatBufferBuilder &_fbb,
8353  flatbuffers::Offset<armnnSerializer::ConstTensor> inputToInputWeights = 0,
8354  flatbuffers::Offset<armnnSerializer::ConstTensor> inputToForgetWeights = 0,
8355  flatbuffers::Offset<armnnSerializer::ConstTensor> inputToCellWeights = 0,
8356  flatbuffers::Offset<armnnSerializer::ConstTensor> inputToOutputWeights = 0,
8357  flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToInputWeights = 0,
8358  flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToForgetWeights = 0,
8359  flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToCellWeights = 0,
8360  flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToOutputWeights = 0,
8361  flatbuffers::Offset<armnnSerializer::ConstTensor> inputGateBias = 0,
8362  flatbuffers::Offset<armnnSerializer::ConstTensor> forgetGateBias = 0,
8363  flatbuffers::Offset<armnnSerializer::ConstTensor> cellBias = 0,
8364  flatbuffers::Offset<armnnSerializer::ConstTensor> outputGateBias = 0) {
8365  QuantizedLstmInputParamsBuilder builder_(_fbb);
8366  builder_.add_outputGateBias(outputGateBias);
8367  builder_.add_cellBias(cellBias);
8368  builder_.add_forgetGateBias(forgetGateBias);
8369  builder_.add_inputGateBias(inputGateBias);
8370  builder_.add_recurrentToOutputWeights(recurrentToOutputWeights);
8371  builder_.add_recurrentToCellWeights(recurrentToCellWeights);
8372  builder_.add_recurrentToForgetWeights(recurrentToForgetWeights);
8373  builder_.add_recurrentToInputWeights(recurrentToInputWeights);
8374  builder_.add_inputToOutputWeights(inputToOutputWeights);
8375  builder_.add_inputToCellWeights(inputToCellWeights);
8376  builder_.add_inputToForgetWeights(inputToForgetWeights);
8377  builder_.add_inputToInputWeights(inputToInputWeights);
8378  return builder_.Finish();
8379 }
8380 
8381 struct QuantizedLstmLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
8383  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
8384  VT_BASE = 4,
8385  VT_INPUTPARAMS = 6
8386  };
8387  const armnnSerializer::LayerBase *base() const {
8388  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
8389  }
8390  const armnnSerializer::QuantizedLstmInputParams *inputParams() const {
8391  return GetPointer<const armnnSerializer::QuantizedLstmInputParams *>(VT_INPUTPARAMS);
8392  }
8393  bool Verify(flatbuffers::Verifier &verifier) const {
8394  return VerifyTableStart(verifier) &&
8395  VerifyOffset(verifier, VT_BASE) &&
8396  verifier.VerifyTable(base()) &&
8397  VerifyOffset(verifier, VT_INPUTPARAMS) &&
8398  verifier.VerifyTable(inputParams()) &&
8399  verifier.EndTable();
8400  }
8401 };
8402 
8404  typedef QuantizedLstmLayer Table;
8405  flatbuffers::FlatBufferBuilder &fbb_;
8406  flatbuffers::uoffset_t start_;
8407  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
8408  fbb_.AddOffset(QuantizedLstmLayer::VT_BASE, base);
8409  }
8410  void add_inputParams(flatbuffers::Offset<armnnSerializer::QuantizedLstmInputParams> inputParams) {
8411  fbb_.AddOffset(QuantizedLstmLayer::VT_INPUTPARAMS, inputParams);
8412  }
8413  explicit QuantizedLstmLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
8414  : fbb_(_fbb) {
8415  start_ = fbb_.StartTable();
8416  }
8418  flatbuffers::Offset<QuantizedLstmLayer> Finish() {
8419  const auto end = fbb_.EndTable(start_);
8420  auto o = flatbuffers::Offset<QuantizedLstmLayer>(end);
8421  return o;
8422  }
8423 };
8424 
8425 inline flatbuffers::Offset<QuantizedLstmLayer> CreateQuantizedLstmLayer(
8426  flatbuffers::FlatBufferBuilder &_fbb,
8427  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
8428  flatbuffers::Offset<armnnSerializer::QuantizedLstmInputParams> inputParams = 0) {
8429  QuantizedLstmLayerBuilder builder_(_fbb);
8430  builder_.add_inputParams(inputParams);
8431  builder_.add_base(base);
8432  return builder_.Finish();
8433 }
8434 
8435 struct DequantizeLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
8437  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
8438  VT_BASE = 4
8439  };
8440  const armnnSerializer::LayerBase *base() const {
8441  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
8442  }
8443  bool Verify(flatbuffers::Verifier &verifier) const {
8444  return VerifyTableStart(verifier) &&
8445  VerifyOffset(verifier, VT_BASE) &&
8446  verifier.VerifyTable(base()) &&
8447  verifier.EndTable();
8448  }
8449 };
8450 
8452  typedef DequantizeLayer Table;
8453  flatbuffers::FlatBufferBuilder &fbb_;
8454  flatbuffers::uoffset_t start_;
8455  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
8456  fbb_.AddOffset(DequantizeLayer::VT_BASE, base);
8457  }
8458  explicit DequantizeLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
8459  : fbb_(_fbb) {
8460  start_ = fbb_.StartTable();
8461  }
8462  DequantizeLayerBuilder &operator=(const DequantizeLayerBuilder &);
8463  flatbuffers::Offset<DequantizeLayer> Finish() {
8464  const auto end = fbb_.EndTable(start_);
8465  auto o = flatbuffers::Offset<DequantizeLayer>(end);
8466  return o;
8467  }
8468 };
8469 
8470 inline flatbuffers::Offset<DequantizeLayer> CreateDequantizeLayer(
8471  flatbuffers::FlatBufferBuilder &_fbb,
8472  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
8473  DequantizeLayerBuilder builder_(_fbb);
8474  builder_.add_base(base);
8475  return builder_.Finish();
8476 }
8477 
8478 struct MergeLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
8480  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
8481  VT_BASE = 4
8482  };
8483  const armnnSerializer::LayerBase *base() const {
8484  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
8485  }
8486  bool Verify(flatbuffers::Verifier &verifier) const {
8487  return VerifyTableStart(verifier) &&
8488  VerifyOffset(verifier, VT_BASE) &&
8489  verifier.VerifyTable(base()) &&
8490  verifier.EndTable();
8491  }
8492 };
8493 
8495  typedef MergeLayer Table;
8496  flatbuffers::FlatBufferBuilder &fbb_;
8497  flatbuffers::uoffset_t start_;
8498  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
8499  fbb_.AddOffset(MergeLayer::VT_BASE, base);
8500  }
8501  explicit MergeLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
8502  : fbb_(_fbb) {
8503  start_ = fbb_.StartTable();
8504  }
8505  MergeLayerBuilder &operator=(const MergeLayerBuilder &);
8506  flatbuffers::Offset<MergeLayer> Finish() {
8507  const auto end = fbb_.EndTable(start_);
8508  auto o = flatbuffers::Offset<MergeLayer>(end);
8509  return o;
8510  }
8511 };
8512 
8513 inline flatbuffers::Offset<MergeLayer> CreateMergeLayer(
8514  flatbuffers::FlatBufferBuilder &_fbb,
8515  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
8516  MergeLayerBuilder builder_(_fbb);
8517  builder_.add_base(base);
8518  return builder_.Finish();
8519 }
8520 
8521 struct SwitchLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
8523  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
8524  VT_BASE = 4
8525  };
8526  const armnnSerializer::LayerBase *base() const {
8527  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
8528  }
8529  bool Verify(flatbuffers::Verifier &verifier) const {
8530  return VerifyTableStart(verifier) &&
8531  VerifyOffset(verifier, VT_BASE) &&
8532  verifier.VerifyTable(base()) &&
8533  verifier.EndTable();
8534  }
8535 };
8536 
8538  typedef SwitchLayer Table;
8539  flatbuffers::FlatBufferBuilder &fbb_;
8540  flatbuffers::uoffset_t start_;
8541  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
8542  fbb_.AddOffset(SwitchLayer::VT_BASE, base);
8543  }
8544  explicit SwitchLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
8545  : fbb_(_fbb) {
8546  start_ = fbb_.StartTable();
8547  }
8548  SwitchLayerBuilder &operator=(const SwitchLayerBuilder &);
8549  flatbuffers::Offset<SwitchLayer> Finish() {
8550  const auto end = fbb_.EndTable(start_);
8551  auto o = flatbuffers::Offset<SwitchLayer>(end);
8552  return o;
8553  }
8554 };
8555 
8556 inline flatbuffers::Offset<SwitchLayer> CreateSwitchLayer(
8557  flatbuffers::FlatBufferBuilder &_fbb,
8558  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
8559  SwitchLayerBuilder builder_(_fbb);
8560  builder_.add_base(base);
8561  return builder_.Finish();
8562 }
8563 
8564 struct PreluLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
8566  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
8567  VT_BASE = 4
8568  };
8569  const armnnSerializer::LayerBase *base() const {
8570  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
8571  }
8572  bool Verify(flatbuffers::Verifier &verifier) const {
8573  return VerifyTableStart(verifier) &&
8574  VerifyOffset(verifier, VT_BASE) &&
8575  verifier.VerifyTable(base()) &&
8576  verifier.EndTable();
8577  }
8578 };
8579 
8581  typedef PreluLayer Table;
8582  flatbuffers::FlatBufferBuilder &fbb_;
8583  flatbuffers::uoffset_t start_;
8584  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
8585  fbb_.AddOffset(PreluLayer::VT_BASE, base);
8586  }
8587  explicit PreluLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
8588  : fbb_(_fbb) {
8589  start_ = fbb_.StartTable();
8590  }
8591  PreluLayerBuilder &operator=(const PreluLayerBuilder &);
8592  flatbuffers::Offset<PreluLayer> Finish() {
8593  const auto end = fbb_.EndTable(start_);
8594  auto o = flatbuffers::Offset<PreluLayer>(end);
8595  return o;
8596  }
8597 };
8598 
8599 inline flatbuffers::Offset<PreluLayer> CreatePreluLayer(
8600  flatbuffers::FlatBufferBuilder &_fbb,
8601  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
8602  PreluLayerBuilder builder_(_fbb);
8603  builder_.add_base(base);
8604  return builder_.Finish();
8605 }
8606 
8607 struct TransposeConvolution2dLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
8609  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
8610  VT_BASE = 4,
8611  VT_DESCRIPTOR = 6,
8612  VT_WEIGHTS = 8,
8613  VT_BIASES = 10
8614  };
8615  const armnnSerializer::LayerBase *base() const {
8616  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
8617  }
8618  const armnnSerializer::TransposeConvolution2dDescriptor *descriptor() const {
8619  return GetPointer<const armnnSerializer::TransposeConvolution2dDescriptor *>(VT_DESCRIPTOR);
8620  }
8621  const armnnSerializer::ConstTensor *weights() const {
8622  return GetPointer<const armnnSerializer::ConstTensor *>(VT_WEIGHTS);
8623  }
8624  const armnnSerializer::ConstTensor *biases() const {
8625  return GetPointer<const armnnSerializer::ConstTensor *>(VT_BIASES);
8626  }
8627  bool Verify(flatbuffers::Verifier &verifier) const {
8628  return VerifyTableStart(verifier) &&
8629  VerifyOffset(verifier, VT_BASE) &&
8630  verifier.VerifyTable(base()) &&
8631  VerifyOffset(verifier, VT_DESCRIPTOR) &&
8632  verifier.VerifyTable(descriptor()) &&
8633  VerifyOffset(verifier, VT_WEIGHTS) &&
8634  verifier.VerifyTable(weights()) &&
8635  VerifyOffset(verifier, VT_BIASES) &&
8636  verifier.VerifyTable(biases()) &&
8637  verifier.EndTable();
8638  }
8639 };
8640 
8642  typedef TransposeConvolution2dLayer Table;
8643  flatbuffers::FlatBufferBuilder &fbb_;
8644  flatbuffers::uoffset_t start_;
8645  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
8646  fbb_.AddOffset(TransposeConvolution2dLayer::VT_BASE, base);
8647  }
8648  void add_descriptor(flatbuffers::Offset<armnnSerializer::TransposeConvolution2dDescriptor> descriptor) {
8649  fbb_.AddOffset(TransposeConvolution2dLayer::VT_DESCRIPTOR, descriptor);
8650  }
8651  void add_weights(flatbuffers::Offset<armnnSerializer::ConstTensor> weights) {
8652  fbb_.AddOffset(TransposeConvolution2dLayer::VT_WEIGHTS, weights);
8653  }
8654  void add_biases(flatbuffers::Offset<armnnSerializer::ConstTensor> biases) {
8655  fbb_.AddOffset(TransposeConvolution2dLayer::VT_BIASES, biases);
8656  }
8657  explicit TransposeConvolution2dLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
8658  : fbb_(_fbb) {
8659  start_ = fbb_.StartTable();
8660  }
8662  flatbuffers::Offset<TransposeConvolution2dLayer> Finish() {
8663  const auto end = fbb_.EndTable(start_);
8664  auto o = flatbuffers::Offset<TransposeConvolution2dLayer>(end);
8665  return o;
8666  }
8667 };
8668 
8669 inline flatbuffers::Offset<TransposeConvolution2dLayer> CreateTransposeConvolution2dLayer(
8670  flatbuffers::FlatBufferBuilder &_fbb,
8671  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
8672  flatbuffers::Offset<armnnSerializer::TransposeConvolution2dDescriptor> descriptor = 0,
8673  flatbuffers::Offset<armnnSerializer::ConstTensor> weights = 0,
8674  flatbuffers::Offset<armnnSerializer::ConstTensor> biases = 0) {
8675  TransposeConvolution2dLayerBuilder builder_(_fbb);
8676  builder_.add_biases(biases);
8677  builder_.add_weights(weights);
8678  builder_.add_descriptor(descriptor);
8679  builder_.add_base(base);
8680  return builder_.Finish();
8681 }
8682 
8683 struct TransposeConvolution2dDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
8685  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
8686  VT_PADLEFT = 4,
8687  VT_PADRIGHT = 6,
8688  VT_PADTOP = 8,
8689  VT_PADBOTTOM = 10,
8690  VT_STRIDEX = 12,
8691  VT_STRIDEY = 14,
8692  VT_BIASENABLED = 16,
8693  VT_DATALAYOUT = 18
8694  };
8695  uint32_t padLeft() const {
8696  return GetField<uint32_t>(VT_PADLEFT, 0);
8697  }
8698  uint32_t padRight() const {
8699  return GetField<uint32_t>(VT_PADRIGHT, 0);
8700  }
8701  uint32_t padTop() const {
8702  return GetField<uint32_t>(VT_PADTOP, 0);
8703  }
8704  uint32_t padBottom() const {
8705  return GetField<uint32_t>(VT_PADBOTTOM, 0);
8706  }
8707  uint32_t strideX() const {
8708  return GetField<uint32_t>(VT_STRIDEX, 0);
8709  }
8710  uint32_t strideY() const {
8711  return GetField<uint32_t>(VT_STRIDEY, 0);
8712  }
8713  bool biasEnabled() const {
8714  return GetField<uint8_t>(VT_BIASENABLED, 0) != 0;
8715  }
8717  return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 1));
8718  }
8719  bool Verify(flatbuffers::Verifier &verifier) const {
8720  return VerifyTableStart(verifier) &&
8721  VerifyField<uint32_t>(verifier, VT_PADLEFT) &&
8722  VerifyField<uint32_t>(verifier, VT_PADRIGHT) &&
8723  VerifyField<uint32_t>(verifier, VT_PADTOP) &&
8724  VerifyField<uint32_t>(verifier, VT_PADBOTTOM) &&
8725  VerifyField<uint32_t>(verifier, VT_STRIDEX) &&
8726  VerifyField<uint32_t>(verifier, VT_STRIDEY) &&
8727  VerifyField<uint8_t>(verifier, VT_BIASENABLED) &&
8728  VerifyField<int8_t>(verifier, VT_DATALAYOUT) &&
8729  verifier.EndTable();
8730  }
8731 };
8732 
8734  typedef TransposeConvolution2dDescriptor Table;
8735  flatbuffers::FlatBufferBuilder &fbb_;
8736  flatbuffers::uoffset_t start_;
8737  void add_padLeft(uint32_t padLeft) {
8738  fbb_.AddElement<uint32_t>(TransposeConvolution2dDescriptor::VT_PADLEFT, padLeft, 0);
8739  }
8740  void add_padRight(uint32_t padRight) {
8741  fbb_.AddElement<uint32_t>(TransposeConvolution2dDescriptor::VT_PADRIGHT, padRight, 0);
8742  }
8743  void add_padTop(uint32_t padTop) {
8744  fbb_.AddElement<uint32_t>(TransposeConvolution2dDescriptor::VT_PADTOP, padTop, 0);
8745  }
8746  void add_padBottom(uint32_t padBottom) {
8747  fbb_.AddElement<uint32_t>(TransposeConvolution2dDescriptor::VT_PADBOTTOM, padBottom, 0);
8748  }
8749  void add_strideX(uint32_t strideX) {
8750  fbb_.AddElement<uint32_t>(TransposeConvolution2dDescriptor::VT_STRIDEX, strideX, 0);
8751  }
8752  void add_strideY(uint32_t strideY) {
8753  fbb_.AddElement<uint32_t>(TransposeConvolution2dDescriptor::VT_STRIDEY, strideY, 0);
8754  }
8755  void add_biasEnabled(bool biasEnabled) {
8756  fbb_.AddElement<uint8_t>(TransposeConvolution2dDescriptor::VT_BIASENABLED, static_cast<uint8_t>(biasEnabled), 0);
8757  }
8759  fbb_.AddElement<int8_t>(TransposeConvolution2dDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 1);
8760  }
8761  explicit TransposeConvolution2dDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
8762  : fbb_(_fbb) {
8763  start_ = fbb_.StartTable();
8764  }
8766  flatbuffers::Offset<TransposeConvolution2dDescriptor> Finish() {
8767  const auto end = fbb_.EndTable(start_);
8768  auto o = flatbuffers::Offset<TransposeConvolution2dDescriptor>(end);
8769  return o;
8770  }
8771 };
8772 
8773 inline flatbuffers::Offset<TransposeConvolution2dDescriptor> CreateTransposeConvolution2dDescriptor(
8774  flatbuffers::FlatBufferBuilder &_fbb,
8775  uint32_t padLeft = 0,
8776  uint32_t padRight = 0,
8777  uint32_t padTop = 0,
8778  uint32_t padBottom = 0,
8779  uint32_t strideX = 0,
8780  uint32_t strideY = 0,
8781  bool biasEnabled = false,
8784  builder_.add_strideY(strideY);
8785  builder_.add_strideX(strideX);
8786  builder_.add_padBottom(padBottom);
8787  builder_.add_padTop(padTop);
8788  builder_.add_padRight(padRight);
8789  builder_.add_padLeft(padLeft);
8790  builder_.add_dataLayout(dataLayout);
8791  builder_.add_biasEnabled(biasEnabled);
8792  return builder_.Finish();
8793 }
8794 
8795 struct TransposeLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
8797  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
8798  VT_BASE = 4,
8799  VT_DESCRIPTOR = 6
8800  };
8801  const armnnSerializer::LayerBase *base() const {
8802  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
8803  }
8804  const armnnSerializer::TransposeDescriptor *descriptor() const {
8805  return GetPointer<const armnnSerializer::TransposeDescriptor *>(VT_DESCRIPTOR);
8806  }
8807  bool Verify(flatbuffers::Verifier &verifier) const {
8808  return VerifyTableStart(verifier) &&
8809  VerifyOffset(verifier, VT_BASE) &&
8810  verifier.VerifyTable(base()) &&
8811  VerifyOffset(verifier, VT_DESCRIPTOR) &&
8812  verifier.VerifyTable(descriptor()) &&
8813  verifier.EndTable();
8814  }
8815 };
8816 
8818  typedef TransposeLayer Table;
8819  flatbuffers::FlatBufferBuilder &fbb_;
8820  flatbuffers::uoffset_t start_;
8821  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
8822  fbb_.AddOffset(TransposeLayer::VT_BASE, base);
8823  }
8824  void add_descriptor(flatbuffers::Offset<armnnSerializer::TransposeDescriptor> descriptor) {
8825  fbb_.AddOffset(TransposeLayer::VT_DESCRIPTOR, descriptor);
8826  }
8827  explicit TransposeLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
8828  : fbb_(_fbb) {
8829  start_ = fbb_.StartTable();
8830  }
8831  TransposeLayerBuilder &operator=(const TransposeLayerBuilder &);
8832  flatbuffers::Offset<TransposeLayer> Finish() {
8833  const auto end = fbb_.EndTable(start_);
8834  auto o = flatbuffers::Offset<TransposeLayer>(end);
8835  return o;
8836  }
8837 };
8838 
8839 inline flatbuffers::Offset<TransposeLayer> CreateTransposeLayer(
8840  flatbuffers::FlatBufferBuilder &_fbb,
8841  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
8842  flatbuffers::Offset<armnnSerializer::TransposeDescriptor> descriptor = 0) {
8843  TransposeLayerBuilder builder_(_fbb);
8844  builder_.add_descriptor(descriptor);
8845  builder_.add_base(base);
8846  return builder_.Finish();
8847 }
8848 
8849 struct TransposeDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
8851  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
8852  VT_DIMMAPPINGS = 4
8853  };
8854  const flatbuffers::Vector<uint32_t> *dimMappings() const {
8855  return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_DIMMAPPINGS);
8856  }
8857  bool Verify(flatbuffers::Verifier &verifier) const {
8858  return VerifyTableStart(verifier) &&
8859  VerifyOffset(verifier, VT_DIMMAPPINGS) &&
8860  verifier.VerifyVector(dimMappings()) &&
8861  verifier.EndTable();
8862  }
8863 };
8864 
8866  typedef TransposeDescriptor Table;
8867  flatbuffers::FlatBufferBuilder &fbb_;
8868  flatbuffers::uoffset_t start_;
8869  void add_dimMappings(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> dimMappings) {
8870  fbb_.AddOffset(TransposeDescriptor::VT_DIMMAPPINGS, dimMappings);
8871  }
8872  explicit TransposeDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
8873  : fbb_(_fbb) {
8874  start_ = fbb_.StartTable();
8875  }
8877  flatbuffers::Offset<TransposeDescriptor> Finish() {
8878  const auto end = fbb_.EndTable(start_);
8879  auto o = flatbuffers::Offset<TransposeDescriptor>(end);
8880  return o;
8881  }
8882 };
8883 
8884 inline flatbuffers::Offset<TransposeDescriptor> CreateTransposeDescriptor(
8885  flatbuffers::FlatBufferBuilder &_fbb,
8886  flatbuffers::Offset<flatbuffers::Vector<uint32_t>> dimMappings = 0) {
8887  TransposeDescriptorBuilder builder_(_fbb);
8888  builder_.add_dimMappings(dimMappings);
8889  return builder_.Finish();
8890 }
8891 
8892 inline flatbuffers::Offset<TransposeDescriptor> CreateTransposeDescriptorDirect(
8893  flatbuffers::FlatBufferBuilder &_fbb,
8894  const std::vector<uint32_t> *dimMappings = nullptr) {
8895  auto dimMappings__ = dimMappings ? _fbb.CreateVector<uint32_t>(*dimMappings) : 0;
8897  _fbb,
8898  dimMappings__);
8899 }
8900 
8901 struct ResizeLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
8903  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
8904  VT_BASE = 4,
8905  VT_DESCRIPTOR = 6
8906  };
8907  const armnnSerializer::LayerBase *base() const {
8908  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
8909  }
8910  const armnnSerializer::ResizeDescriptor *descriptor() const {
8911  return GetPointer<const armnnSerializer::ResizeDescriptor *>(VT_DESCRIPTOR);
8912  }
8913  bool Verify(flatbuffers::Verifier &verifier) const {
8914  return VerifyTableStart(verifier) &&
8915  VerifyOffset(verifier, VT_BASE) &&
8916  verifier.VerifyTable(base()) &&
8917  VerifyOffset(verifier, VT_DESCRIPTOR) &&
8918  verifier.VerifyTable(descriptor()) &&
8919  verifier.EndTable();
8920  }
8921 };
8922 
8924  typedef ResizeLayer Table;
8925  flatbuffers::FlatBufferBuilder &fbb_;
8926  flatbuffers::uoffset_t start_;
8927  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
8928  fbb_.AddOffset(ResizeLayer::VT_BASE, base);
8929  }
8930  void add_descriptor(flatbuffers::Offset<armnnSerializer::ResizeDescriptor> descriptor) {
8931  fbb_.AddOffset(ResizeLayer::VT_DESCRIPTOR, descriptor);
8932  }
8933  explicit ResizeLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
8934  : fbb_(_fbb) {
8935  start_ = fbb_.StartTable();
8936  }
8937  ResizeLayerBuilder &operator=(const ResizeLayerBuilder &);
8938  flatbuffers::Offset<ResizeLayer> Finish() {
8939  const auto end = fbb_.EndTable(start_);
8940  auto o = flatbuffers::Offset<ResizeLayer>(end);
8941  return o;
8942  }
8943 };
8944 
8945 inline flatbuffers::Offset<ResizeLayer> CreateResizeLayer(
8946  flatbuffers::FlatBufferBuilder &_fbb,
8947  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
8948  flatbuffers::Offset<armnnSerializer::ResizeDescriptor> descriptor = 0) {
8949  ResizeLayerBuilder builder_(_fbb);
8950  builder_.add_descriptor(descriptor);
8951  builder_.add_base(base);
8952  return builder_.Finish();
8953 }
8954 
8955 struct ResizeDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
8957  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
8958  VT_TARGETHEIGHT = 4,
8959  VT_TARGETWIDTH = 6,
8961  VT_DATALAYOUT = 10,
8962  VT_ALIGNCORNERS = 12,
8963  VT_HALFPIXELCENTERS = 14
8964  };
8965  uint32_t targetHeight() const {
8966  return GetField<uint32_t>(VT_TARGETHEIGHT, 0);
8967  }
8968  uint32_t targetWidth() const {
8969  return GetField<uint32_t>(VT_TARGETWIDTH, 0);
8970  }
8972  return static_cast<armnnSerializer::ResizeMethod>(GetField<int8_t>(VT_METHOD, 0));
8973  }
8975  return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 0));
8976  }
8977  bool alignCorners() const {
8978  return GetField<uint8_t>(VT_ALIGNCORNERS, 0) != 0;
8979  }
8980  bool halfPixelCenters() const {
8981  return GetField<uint8_t>(VT_HALFPIXELCENTERS, 0) != 0;
8982  }
8983  bool Verify(flatbuffers::Verifier &verifier) const {
8984  return VerifyTableStart(verifier) &&
8985  VerifyField<uint32_t>(verifier, VT_TARGETHEIGHT) &&
8986  VerifyField<uint32_t>(verifier, VT_TARGETWIDTH) &&
8987  VerifyField<int8_t>(verifier, VT_METHOD) &&
8988  VerifyField<int8_t>(verifier, VT_DATALAYOUT) &&
8989  VerifyField<uint8_t>(verifier, VT_ALIGNCORNERS) &&
8990  VerifyField<uint8_t>(verifier, VT_HALFPIXELCENTERS) &&
8991  verifier.EndTable();
8992  }
8993 };
8994 
8996  typedef ResizeDescriptor Table;
8997  flatbuffers::FlatBufferBuilder &fbb_;
8998  flatbuffers::uoffset_t start_;
8999  void add_targetHeight(uint32_t targetHeight) {
9000  fbb_.AddElement<uint32_t>(ResizeDescriptor::VT_TARGETHEIGHT, targetHeight, 0);
9001  }
9002  void add_targetWidth(uint32_t targetWidth) {
9003  fbb_.AddElement<uint32_t>(ResizeDescriptor::VT_TARGETWIDTH, targetWidth, 0);
9004  }
9006  fbb_.AddElement<int8_t>(ResizeDescriptor::VT_METHOD, static_cast<int8_t>(method), 0);
9007  }
9009  fbb_.AddElement<int8_t>(ResizeDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 0);
9010  }
9011  void add_alignCorners(bool alignCorners) {
9012  fbb_.AddElement<uint8_t>(ResizeDescriptor::VT_ALIGNCORNERS, static_cast<uint8_t>(alignCorners), 0);
9013  }
9014  void add_halfPixelCenters(bool halfPixelCenters) {
9015  fbb_.AddElement<uint8_t>(ResizeDescriptor::VT_HALFPIXELCENTERS, static_cast<uint8_t>(halfPixelCenters), 0);
9016  }
9017  explicit ResizeDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9018  : fbb_(_fbb) {
9019  start_ = fbb_.StartTable();
9020  }
9022  flatbuffers::Offset<ResizeDescriptor> Finish() {
9023  const auto end = fbb_.EndTable(start_);
9024  auto o = flatbuffers::Offset<ResizeDescriptor>(end);
9025  return o;
9026  }
9027 };
9028 
9029 inline flatbuffers::Offset<ResizeDescriptor> CreateResizeDescriptor(
9030  flatbuffers::FlatBufferBuilder &_fbb,
9031  uint32_t targetHeight = 0,
9032  uint32_t targetWidth = 0,
9035  bool alignCorners = false,
9036  bool halfPixelCenters = false) {
9037  ResizeDescriptorBuilder builder_(_fbb);
9038  builder_.add_targetWidth(targetWidth);
9039  builder_.add_targetHeight(targetHeight);
9040  builder_.add_halfPixelCenters(halfPixelCenters);
9041  builder_.add_alignCorners(alignCorners);
9042  builder_.add_dataLayout(dataLayout);
9043  builder_.add_method(method);
9044  return builder_.Finish();
9045 }
9046 
9047 struct StackLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9049  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9050  VT_BASE = 4,
9051  VT_DESCRIPTOR = 6
9052  };
9053  const armnnSerializer::LayerBase *base() const {
9054  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
9055  }
9056  const armnnSerializer::StackDescriptor *descriptor() const {
9057  return GetPointer<const armnnSerializer::StackDescriptor *>(VT_DESCRIPTOR);
9058  }
9059  bool Verify(flatbuffers::Verifier &verifier) const {
9060  return VerifyTableStart(verifier) &&
9061  VerifyOffset(verifier, VT_BASE) &&
9062  verifier.VerifyTable(base()) &&
9063  VerifyOffset(verifier, VT_DESCRIPTOR) &&
9064  verifier.VerifyTable(descriptor()) &&
9065  verifier.EndTable();
9066  }
9067 };
9068 
9070  typedef StackLayer Table;
9071  flatbuffers::FlatBufferBuilder &fbb_;
9072  flatbuffers::uoffset_t start_;
9073  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
9074  fbb_.AddOffset(StackLayer::VT_BASE, base);
9075  }
9076  void add_descriptor(flatbuffers::Offset<armnnSerializer::StackDescriptor> descriptor) {
9077  fbb_.AddOffset(StackLayer::VT_DESCRIPTOR, descriptor);
9078  }
9079  explicit StackLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9080  : fbb_(_fbb) {
9081  start_ = fbb_.StartTable();
9082  }
9083  StackLayerBuilder &operator=(const StackLayerBuilder &);
9084  flatbuffers::Offset<StackLayer> Finish() {
9085  const auto end = fbb_.EndTable(start_);
9086  auto o = flatbuffers::Offset<StackLayer>(end);
9087  return o;
9088  }
9089 };
9090 
9091 inline flatbuffers::Offset<StackLayer> CreateStackLayer(
9092  flatbuffers::FlatBufferBuilder &_fbb,
9093  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
9094  flatbuffers::Offset<armnnSerializer::StackDescriptor> descriptor = 0) {
9095  StackLayerBuilder builder_(_fbb);
9096  builder_.add_descriptor(descriptor);
9097  builder_.add_base(base);
9098  return builder_.Finish();
9099 }
9100 
9101 struct StackDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9103  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9104  VT_AXIS = 4,
9106  VT_INPUTSHAPE = 8
9107  };
9108  uint32_t axis() const {
9109  return GetField<uint32_t>(VT_AXIS, 0);
9110  }
9111  uint32_t numInputs() const {
9112  return GetField<uint32_t>(VT_NUMINPUTS, 0);
9113  }
9114  const flatbuffers::Vector<uint32_t> *inputShape() const {
9115  return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_INPUTSHAPE);
9116  }
9117  bool Verify(flatbuffers::Verifier &verifier) const {
9118  return VerifyTableStart(verifier) &&
9119  VerifyField<uint32_t>(verifier, VT_AXIS) &&
9120  VerifyField<uint32_t>(verifier, VT_NUMINPUTS) &&
9121  VerifyOffset(verifier, VT_INPUTSHAPE) &&
9122  verifier.VerifyVector(inputShape()) &&
9123  verifier.EndTable();
9124  }
9125 };
9126 
9128  typedef StackDescriptor Table;
9129  flatbuffers::FlatBufferBuilder &fbb_;
9130  flatbuffers::uoffset_t start_;
9131  void add_axis(uint32_t axis) {
9132  fbb_.AddElement<uint32_t>(StackDescriptor::VT_AXIS, axis, 0);
9133  }
9134  void add_numInputs(uint32_t numInputs) {
9135  fbb_.AddElement<uint32_t>(StackDescriptor::VT_NUMINPUTS, numInputs, 0);
9136  }
9137  void add_inputShape(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> inputShape) {
9138  fbb_.AddOffset(StackDescriptor::VT_INPUTSHAPE, inputShape);
9139  }
9140  explicit StackDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9141  : fbb_(_fbb) {
9142  start_ = fbb_.StartTable();
9143  }
9144  StackDescriptorBuilder &operator=(const StackDescriptorBuilder &);
9145  flatbuffers::Offset<StackDescriptor> Finish() {
9146  const auto end = fbb_.EndTable(start_);
9147  auto o = flatbuffers::Offset<StackDescriptor>(end);
9148  return o;
9149  }
9150 };
9151 
9152 inline flatbuffers::Offset<StackDescriptor> CreateStackDescriptor(
9153  flatbuffers::FlatBufferBuilder &_fbb,
9154  uint32_t axis = 0,
9155  uint32_t numInputs = 0,
9156  flatbuffers::Offset<flatbuffers::Vector<uint32_t>> inputShape = 0) {
9157  StackDescriptorBuilder builder_(_fbb);
9158  builder_.add_inputShape(inputShape);
9159  builder_.add_numInputs(numInputs);
9160  builder_.add_axis(axis);
9161  return builder_.Finish();
9162 }
9163 
9164 inline flatbuffers::Offset<StackDescriptor> CreateStackDescriptorDirect(
9165  flatbuffers::FlatBufferBuilder &_fbb,
9166  uint32_t axis = 0,
9167  uint32_t numInputs = 0,
9168  const std::vector<uint32_t> *inputShape = nullptr) {
9169  auto inputShape__ = inputShape ? _fbb.CreateVector<uint32_t>(*inputShape) : 0;
9171  _fbb,
9172  axis,
9173  numInputs,
9174  inputShape__);
9175 }
9176 
9177 struct StandInDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9179  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9180  VT_NUMINPUTS = 4,
9181  VT_NUMOUTPUTS = 6
9182  };
9183  uint32_t numInputs() const {
9184  return GetField<uint32_t>(VT_NUMINPUTS, 0);
9185  }
9186  uint32_t numOutputs() const {
9187  return GetField<uint32_t>(VT_NUMOUTPUTS, 0);
9188  }
9189  bool Verify(flatbuffers::Verifier &verifier) const {
9190  return VerifyTableStart(verifier) &&
9191  VerifyField<uint32_t>(verifier, VT_NUMINPUTS) &&
9192  VerifyField<uint32_t>(verifier, VT_NUMOUTPUTS) &&
9193  verifier.EndTable();
9194  }
9195 };
9196 
9198  typedef StandInDescriptor Table;
9199  flatbuffers::FlatBufferBuilder &fbb_;
9200  flatbuffers::uoffset_t start_;
9201  void add_numInputs(uint32_t numInputs) {
9202  fbb_.AddElement<uint32_t>(StandInDescriptor::VT_NUMINPUTS, numInputs, 0);
9203  }
9204  void add_numOutputs(uint32_t numOutputs) {
9205  fbb_.AddElement<uint32_t>(StandInDescriptor::VT_NUMOUTPUTS, numOutputs, 0);
9206  }
9207  explicit StandInDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9208  : fbb_(_fbb) {
9209  start_ = fbb_.StartTable();
9210  }
9212  flatbuffers::Offset<StandInDescriptor> Finish() {
9213  const auto end = fbb_.EndTable(start_);
9214  auto o = flatbuffers::Offset<StandInDescriptor>(end);
9215  return o;
9216  }
9217 };
9218 
9219 inline flatbuffers::Offset<StandInDescriptor> CreateStandInDescriptor(
9220  flatbuffers::FlatBufferBuilder &_fbb,
9221  uint32_t numInputs = 0,
9222  uint32_t numOutputs = 0) {
9223  StandInDescriptorBuilder builder_(_fbb);
9224  builder_.add_numOutputs(numOutputs);
9225  builder_.add_numInputs(numInputs);
9226  return builder_.Finish();
9227 }
9228 
9229 struct StandInLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9231  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9232  VT_BASE = 4,
9233  VT_DESCRIPTOR = 6
9234  };
9235  const armnnSerializer::LayerBase *base() const {
9236  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
9237  }
9238  const armnnSerializer::StandInDescriptor *descriptor() const {
9239  return GetPointer<const armnnSerializer::StandInDescriptor *>(VT_DESCRIPTOR);
9240  }
9241  bool Verify(flatbuffers::Verifier &verifier) const {
9242  return VerifyTableStart(verifier) &&
9243  VerifyOffset(verifier, VT_BASE) &&
9244  verifier.VerifyTable(base()) &&
9245  VerifyOffset(verifier, VT_DESCRIPTOR) &&
9246  verifier.VerifyTable(descriptor()) &&
9247  verifier.EndTable();
9248  }
9249 };
9250 
9252  typedef StandInLayer Table;
9253  flatbuffers::FlatBufferBuilder &fbb_;
9254  flatbuffers::uoffset_t start_;
9255  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
9256  fbb_.AddOffset(StandInLayer::VT_BASE, base);
9257  }
9258  void add_descriptor(flatbuffers::Offset<armnnSerializer::StandInDescriptor> descriptor) {
9259  fbb_.AddOffset(StandInLayer::VT_DESCRIPTOR, descriptor);
9260  }
9261  explicit StandInLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9262  : fbb_(_fbb) {
9263  start_ = fbb_.StartTable();
9264  }
9265  StandInLayerBuilder &operator=(const StandInLayerBuilder &);
9266  flatbuffers::Offset<StandInLayer> Finish() {
9267  const auto end = fbb_.EndTable(start_);
9268  auto o = flatbuffers::Offset<StandInLayer>(end);
9269  return o;
9270  }
9271 };
9272 
9273 inline flatbuffers::Offset<StandInLayer> CreateStandInLayer(
9274  flatbuffers::FlatBufferBuilder &_fbb,
9275  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
9276  flatbuffers::Offset<armnnSerializer::StandInDescriptor> descriptor = 0) {
9277  StandInLayerBuilder builder_(_fbb);
9278  builder_.add_descriptor(descriptor);
9279  builder_.add_base(base);
9280  return builder_.Finish();
9281 }
9282 
9283 struct RankLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9285  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9286  VT_BASE = 4
9287  };
9288  const armnnSerializer::LayerBase *base() const {
9289  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
9290  }
9291  bool Verify(flatbuffers::Verifier &verifier) const {
9292  return VerifyTableStart(verifier) &&
9293  VerifyOffset(verifier, VT_BASE) &&
9294  verifier.VerifyTable(base()) &&
9295  verifier.EndTable();
9296  }
9297 };
9298 
9300  typedef RankLayer Table;
9301  flatbuffers::FlatBufferBuilder &fbb_;
9302  flatbuffers::uoffset_t start_;
9303  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
9304  fbb_.AddOffset(RankLayer::VT_BASE, base);
9305  }
9306  explicit RankLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9307  : fbb_(_fbb) {
9308  start_ = fbb_.StartTable();
9309  }
9310  RankLayerBuilder &operator=(const RankLayerBuilder &);
9311  flatbuffers::Offset<RankLayer> Finish() {
9312  const auto end = fbb_.EndTable(start_);
9313  auto o = flatbuffers::Offset<RankLayer>(end);
9314  return o;
9315  }
9316 };
9317 
9318 inline flatbuffers::Offset<RankLayer> CreateRankLayer(
9319  flatbuffers::FlatBufferBuilder &_fbb,
9320  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
9321  RankLayerBuilder builder_(_fbb);
9322  builder_.add_base(base);
9323  return builder_.Finish();
9324 }
9325 
9326 struct ReduceLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9328  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9329  VT_BASE = 4,
9330  VT_DESCRIPTOR = 6
9331  };
9332  const armnnSerializer::LayerBase *base() const {
9333  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
9334  }
9335  const armnnSerializer::ReduceDescriptor *descriptor() const {
9336  return GetPointer<const armnnSerializer::ReduceDescriptor *>(VT_DESCRIPTOR);
9337  }
9338  bool Verify(flatbuffers::Verifier &verifier) const {
9339  return VerifyTableStart(verifier) &&
9340  VerifyOffset(verifier, VT_BASE) &&
9341  verifier.VerifyTable(base()) &&
9342  VerifyOffset(verifier, VT_DESCRIPTOR) &&
9343  verifier.VerifyTable(descriptor()) &&
9344  verifier.EndTable();
9345  }
9346 };
9347 
9349  typedef ReduceLayer Table;
9350  flatbuffers::FlatBufferBuilder &fbb_;
9351  flatbuffers::uoffset_t start_;
9352  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
9353  fbb_.AddOffset(ReduceLayer::VT_BASE, base);
9354  }
9355  void add_descriptor(flatbuffers::Offset<armnnSerializer::ReduceDescriptor> descriptor) {
9356  fbb_.AddOffset(ReduceLayer::VT_DESCRIPTOR, descriptor);
9357  }
9358  explicit ReduceLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9359  : fbb_(_fbb) {
9360  start_ = fbb_.StartTable();
9361  }
9362  ReduceLayerBuilder &operator=(const ReduceLayerBuilder &);
9363  flatbuffers::Offset<ReduceLayer> Finish() {
9364  const auto end = fbb_.EndTable(start_);
9365  auto o = flatbuffers::Offset<ReduceLayer>(end);
9366  return o;
9367  }
9368 };
9369 
9370 inline flatbuffers::Offset<ReduceLayer> CreateReduceLayer(
9371  flatbuffers::FlatBufferBuilder &_fbb,
9372  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
9373  flatbuffers::Offset<armnnSerializer::ReduceDescriptor> descriptor = 0) {
9374  ReduceLayerBuilder builder_(_fbb);
9375  builder_.add_descriptor(descriptor);
9376  builder_.add_base(base);
9377  return builder_.Finish();
9378 }
9379 
9380 struct ReduceDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9382  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9384  VT_AXIS = 6,
9385  VT_REDUCEOPERATION = 8
9386  };
9387  bool keepDims() const {
9388  return GetField<uint8_t>(VT_KEEPDIMS, 0) != 0;
9389  }
9390  const flatbuffers::Vector<uint32_t> *axis() const {
9391  return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_AXIS);
9392  }
9394  return static_cast<armnnSerializer::ReduceOperation>(GetField<int8_t>(VT_REDUCEOPERATION, 0));
9395  }
9396  bool Verify(flatbuffers::Verifier &verifier) const {
9397  return VerifyTableStart(verifier) &&
9398  VerifyField<uint8_t>(verifier, VT_KEEPDIMS) &&
9399  VerifyOffset(verifier, VT_AXIS) &&
9400  verifier.VerifyVector(axis()) &&
9401  VerifyField<int8_t>(verifier, VT_REDUCEOPERATION) &&
9402  verifier.EndTable();
9403  }
9404 };
9405 
9407  typedef ReduceDescriptor Table;
9408  flatbuffers::FlatBufferBuilder &fbb_;
9409  flatbuffers::uoffset_t start_;
9410  void add_keepDims(bool keepDims) {
9411  fbb_.AddElement<uint8_t>(ReduceDescriptor::VT_KEEPDIMS, static_cast<uint8_t>(keepDims), 0);
9412  }
9413  void add_axis(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> axis) {
9414  fbb_.AddOffset(ReduceDescriptor::VT_AXIS, axis);
9415  }
9417  fbb_.AddElement<int8_t>(ReduceDescriptor::VT_REDUCEOPERATION, static_cast<int8_t>(reduceOperation), 0);
9418  }
9419  explicit ReduceDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9420  : fbb_(_fbb) {
9421  start_ = fbb_.StartTable();
9422  }
9424  flatbuffers::Offset<ReduceDescriptor> Finish() {
9425  const auto end = fbb_.EndTable(start_);
9426  auto o = flatbuffers::Offset<ReduceDescriptor>(end);
9427  return o;
9428  }
9429 };
9430 
9431 inline flatbuffers::Offset<ReduceDescriptor> CreateReduceDescriptor(
9432  flatbuffers::FlatBufferBuilder &_fbb,
9433  bool keepDims = false,
9434  flatbuffers::Offset<flatbuffers::Vector<uint32_t>> axis = 0,
9436  ReduceDescriptorBuilder builder_(_fbb);
9437  builder_.add_axis(axis);
9438  builder_.add_reduceOperation(reduceOperation);
9439  builder_.add_keepDims(keepDims);
9440  return builder_.Finish();
9441 }
9442 
9443 inline flatbuffers::Offset<ReduceDescriptor> CreateReduceDescriptorDirect(
9444  flatbuffers::FlatBufferBuilder &_fbb,
9445  bool keepDims = false,
9446  const std::vector<uint32_t> *axis = nullptr,
9448  auto axis__ = axis ? _fbb.CreateVector<uint32_t>(*axis) : 0;
9450  _fbb,
9451  keepDims,
9452  axis__,
9453  reduceOperation);
9454 }
9455 
9456 struct UnidirectionalSequenceLstmDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9458  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9459  VT_ACTIVATIONFUNC = 4,
9462  VT_CIFGENABLED = 10,
9463  VT_PEEPHOLEENABLED = 12,
9464  VT_PROJECTIONENABLED = 14,
9465  VT_LAYERNORMENABLED = 16,
9466  VT_TIMEMAJOR = 18
9467  };
9468  uint32_t activationFunc() const {
9469  return GetField<uint32_t>(VT_ACTIVATIONFUNC, 0);
9470  }
9471  float clippingThresCell() const {
9472  return GetField<float>(VT_CLIPPINGTHRESCELL, 0.0f);
9473  }
9474  float clippingThresProj() const {
9475  return GetField<float>(VT_CLIPPINGTHRESPROJ, 0.0f);
9476  }
9477  bool cifgEnabled() const {
9478  return GetField<uint8_t>(VT_CIFGENABLED, 1) != 0;
9479  }
9480  bool peepholeEnabled() const {
9481  return GetField<uint8_t>(VT_PEEPHOLEENABLED, 0) != 0;
9482  }
9483  bool projectionEnabled() const {
9484  return GetField<uint8_t>(VT_PROJECTIONENABLED, 0) != 0;
9485  }
9486  bool layerNormEnabled() const {
9487  return GetField<uint8_t>(VT_LAYERNORMENABLED, 0) != 0;
9488  }
9489  bool timeMajor() const {
9490  return GetField<uint8_t>(VT_TIMEMAJOR, 0) != 0;
9491  }
9492  bool Verify(flatbuffers::Verifier &verifier) const {
9493  return VerifyTableStart(verifier) &&
9494  VerifyField<uint32_t>(verifier, VT_ACTIVATIONFUNC) &&
9495  VerifyField<float>(verifier, VT_CLIPPINGTHRESCELL) &&
9496  VerifyField<float>(verifier, VT_CLIPPINGTHRESPROJ) &&
9497  VerifyField<uint8_t>(verifier, VT_CIFGENABLED) &&
9498  VerifyField<uint8_t>(verifier, VT_PEEPHOLEENABLED) &&
9499  VerifyField<uint8_t>(verifier, VT_PROJECTIONENABLED) &&
9500  VerifyField<uint8_t>(verifier, VT_LAYERNORMENABLED) &&
9501  VerifyField<uint8_t>(verifier, VT_TIMEMAJOR) &&
9502  verifier.EndTable();
9503  }
9504 };
9505 
9508  flatbuffers::FlatBufferBuilder &fbb_;
9509  flatbuffers::uoffset_t start_;
9510  void add_activationFunc(uint32_t activationFunc) {
9511  fbb_.AddElement<uint32_t>(UnidirectionalSequenceLstmDescriptor::VT_ACTIVATIONFUNC, activationFunc, 0);
9512  }
9513  void add_clippingThresCell(float clippingThresCell) {
9514  fbb_.AddElement<float>(UnidirectionalSequenceLstmDescriptor::VT_CLIPPINGTHRESCELL, clippingThresCell, 0.0f);
9515  }
9516  void add_clippingThresProj(float clippingThresProj) {
9517  fbb_.AddElement<float>(UnidirectionalSequenceLstmDescriptor::VT_CLIPPINGTHRESPROJ, clippingThresProj, 0.0f);
9518  }
9519  void add_cifgEnabled(bool cifgEnabled) {
9520  fbb_.AddElement<uint8_t>(UnidirectionalSequenceLstmDescriptor::VT_CIFGENABLED, static_cast<uint8_t>(cifgEnabled), 1);
9521  }
9522  void add_peepholeEnabled(bool peepholeEnabled) {
9523  fbb_.AddElement<uint8_t>(UnidirectionalSequenceLstmDescriptor::VT_PEEPHOLEENABLED, static_cast<uint8_t>(peepholeEnabled), 0);
9524  }
9525  void add_projectionEnabled(bool projectionEnabled) {
9526  fbb_.AddElement<uint8_t>(UnidirectionalSequenceLstmDescriptor::VT_PROJECTIONENABLED, static_cast<uint8_t>(projectionEnabled), 0);
9527  }
9528  void add_layerNormEnabled(bool layerNormEnabled) {
9529  fbb_.AddElement<uint8_t>(UnidirectionalSequenceLstmDescriptor::VT_LAYERNORMENABLED, static_cast<uint8_t>(layerNormEnabled), 0);
9530  }
9531  void add_timeMajor(bool timeMajor) {
9532  fbb_.AddElement<uint8_t>(UnidirectionalSequenceLstmDescriptor::VT_TIMEMAJOR, static_cast<uint8_t>(timeMajor), 0);
9533  }
9534  explicit UnidirectionalSequenceLstmDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9535  : fbb_(_fbb) {
9536  start_ = fbb_.StartTable();
9537  }
9539  flatbuffers::Offset<UnidirectionalSequenceLstmDescriptor> Finish() {
9540  const auto end = fbb_.EndTable(start_);
9541  auto o = flatbuffers::Offset<UnidirectionalSequenceLstmDescriptor>(end);
9542  return o;
9543  }
9544 };
9545 
9546 inline flatbuffers::Offset<UnidirectionalSequenceLstmDescriptor> CreateUnidirectionalSequenceLstmDescriptor(
9547  flatbuffers::FlatBufferBuilder &_fbb,
9548  uint32_t activationFunc = 0,
9549  float clippingThresCell = 0.0f,
9550  float clippingThresProj = 0.0f,
9551  bool cifgEnabled = true,
9552  bool peepholeEnabled = false,
9553  bool projectionEnabled = false,
9554  bool layerNormEnabled = false,
9555  bool timeMajor = false) {
9557  builder_.add_clippingThresProj(clippingThresProj);
9558  builder_.add_clippingThresCell(clippingThresCell);
9559  builder_.add_activationFunc(activationFunc);
9560  builder_.add_timeMajor(timeMajor);
9561  builder_.add_layerNormEnabled(layerNormEnabled);
9562  builder_.add_projectionEnabled(projectionEnabled);
9563  builder_.add_peepholeEnabled(peepholeEnabled);
9564  builder_.add_cifgEnabled(cifgEnabled);
9565  return builder_.Finish();
9566 }
9567 
9568 struct UnidirectionalSequenceLstmLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9570  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9571  VT_BASE = 4,
9572  VT_DESCRIPTOR = 6,
9573  VT_INPUTPARAMS = 8
9574  };
9575  const armnnSerializer::LayerBase *base() const {
9576  return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
9577  }
9579  return GetPointer<const armnnSerializer::UnidirectionalSequenceLstmDescriptor *>(VT_DESCRIPTOR);
9580  }
9581  const armnnSerializer::LstmInputParams *inputParams() const {
9582  return GetPointer<const armnnSerializer::LstmInputParams *>(VT_INPUTPARAMS);
9583  }
9584  bool Verify(flatbuffers::Verifier &verifier) const {
9585  return VerifyTableStart(verifier) &&
9586  VerifyOffset(verifier, VT_BASE) &&
9587  verifier.VerifyTable(base()) &&
9588  VerifyOffset(verifier, VT_DESCRIPTOR) &&
9589  verifier.VerifyTable(descriptor()) &&
9590  VerifyOffset(verifier, VT_INPUTPARAMS) &&
9591  verifier.VerifyTable(inputParams()) &&
9592  verifier.EndTable();
9593  }
9594 };
9595 
9597  typedef UnidirectionalSequenceLstmLayer Table;
9598  flatbuffers::FlatBufferBuilder &fbb_;
9599  flatbuffers::uoffset_t start_;
9600  void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
9601  fbb_.AddOffset(UnidirectionalSequenceLstmLayer::VT_BASE, base);
9602  }
9603  void add_descriptor(flatbuffers::Offset<armnnSerializer::UnidirectionalSequenceLstmDescriptor> descriptor) {
9604  fbb_.AddOffset(UnidirectionalSequenceLstmLayer::VT_DESCRIPTOR, descriptor);
9605  }
9606  void add_inputParams(flatbuffers::Offset<armnnSerializer::LstmInputParams> inputParams) {
9607  fbb_.AddOffset(UnidirectionalSequenceLstmLayer::VT_INPUTPARAMS, inputParams);
9608  }
9609  explicit UnidirectionalSequenceLstmLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9610  : fbb_(_fbb) {
9611  start_ = fbb_.StartTable();
9612  }
9614  flatbuffers::Offset<UnidirectionalSequenceLstmLayer> Finish() {
9615  const auto end = fbb_.EndTable(start_);
9616  auto o = flatbuffers::Offset<UnidirectionalSequenceLstmLayer>(end);
9617  return o;
9618  }
9619 };
9620 
9621 inline flatbuffers::Offset<UnidirectionalSequenceLstmLayer> CreateUnidirectionalSequenceLstmLayer(
9622  flatbuffers::FlatBufferBuilder &_fbb,
9623  flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
9624  flatbuffers::Offset<armnnSerializer::UnidirectionalSequenceLstmDescriptor> descriptor = 0,
9625  flatbuffers::Offset<armnnSerializer::LstmInputParams> inputParams = 0) {
9627  builder_.add_inputParams(inputParams);
9628  builder_.add_descriptor(descriptor);
9629  builder_.add_base(base);
9630  return builder_.Finish();
9631 }
9632 
9633 struct AnyLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9635  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9637  VT_LAYER = 6
9638  };
9640  return static_cast<armnnSerializer::Layer>(GetField<uint8_t>(VT_LAYER_TYPE, 0));
9641  }
9642  const void *layer() const {
9643  return GetPointer<const void *>(VT_LAYER);
9644  }
9645  template<typename T> const T *layer_as() const;
9646  const armnnSerializer::ActivationLayer *layer_as_ActivationLayer() const {
9647  return layer_type() == armnnSerializer::Layer_ActivationLayer ? static_cast<const armnnSerializer::ActivationLayer *>(layer()) : nullptr;
9648  }
9649  const armnnSerializer::AdditionLayer *layer_as_AdditionLayer() const {
9650  return layer_type() == armnnSerializer::Layer_AdditionLayer ? static_cast<const armnnSerializer::AdditionLayer *>(layer()) : nullptr;
9651  }
9652  const armnnSerializer::BatchToSpaceNdLayer *layer_as_BatchToSpaceNdLayer() const {
9653  return layer_type() == armnnSerializer::Layer_BatchToSpaceNdLayer ? static_cast<const armnnSerializer::BatchToSpaceNdLayer *>(layer()) : nullptr;
9654  }
9655  const armnnSerializer::BatchNormalizationLayer *layer_as_BatchNormalizationLayer() const {
9656  return layer_type() == armnnSerializer::Layer_BatchNormalizationLayer ? static_cast<const armnnSerializer::BatchNormalizationLayer *>(layer()) : nullptr;
9657  }
9658  const armnnSerializer::ConstantLayer *layer_as_ConstantLayer() const {
9659  return layer_type() == armnnSerializer::Layer_ConstantLayer ? static_cast<const armnnSerializer::ConstantLayer *>(layer()) : nullptr;
9660  }
9661  const armnnSerializer::Convolution2dLayer *layer_as_Convolution2dLayer() const {
9662  return layer_type() == armnnSerializer::Layer_Convolution2dLayer ? static_cast<const armnnSerializer::Convolution2dLayer *>(layer()) : nullptr;
9663  }
9664  const armnnSerializer::DepthwiseConvolution2dLayer *layer_as_DepthwiseConvolution2dLayer() const {
9665  return layer_type() == armnnSerializer::Layer_DepthwiseConvolution2dLayer ? static_cast<const armnnSerializer::DepthwiseConvolution2dLayer *>(layer()) : nullptr;
9666  }
9667  const armnnSerializer::FullyConnectedLayer *layer_as_FullyConnectedLayer() const {
9668  return layer_type() == armnnSerializer::Layer_FullyConnectedLayer ? static_cast<const armnnSerializer::FullyConnectedLayer *>(layer()) : nullptr;
9669  }
9670  const armnnSerializer::InputLayer *layer_as_InputLayer() const {
9671  return layer_type() == armnnSerializer::Layer_InputLayer ? static_cast<const armnnSerializer::InputLayer *>(layer()) : nullptr;
9672  }
9673  const armnnSerializer::MultiplicationLayer *layer_as_MultiplicationLayer() const {
9674  return layer_type() == armnnSerializer::Layer_MultiplicationLayer ? static_cast<const armnnSerializer::MultiplicationLayer *>(layer()) : nullptr;
9675  }
9676  const armnnSerializer::OutputLayer *layer_as_OutputLayer() const {
9677  return layer_type() == armnnSerializer::Layer_OutputLayer ? static_cast<const armnnSerializer::OutputLayer *>(layer()) : nullptr;
9678  }
9679  const armnnSerializer::PermuteLayer *layer_as_PermuteLayer() const {
9680  return layer_type() == armnnSerializer::Layer_PermuteLayer ? static_cast<const armnnSerializer::PermuteLayer *>(layer()) : nullptr;
9681  }
9682  const armnnSerializer::Pooling2dLayer *layer_as_Pooling2dLayer() const {
9683  return layer_type() == armnnSerializer::Layer_Pooling2dLayer ? static_cast<const armnnSerializer::Pooling2dLayer *>(layer()) : nullptr;
9684  }
9685  const armnnSerializer::ReshapeLayer *layer_as_ReshapeLayer() const {
9686  return layer_type() == armnnSerializer::Layer_ReshapeLayer ? static_cast<const armnnSerializer::ReshapeLayer *>(layer()) : nullptr;
9687  }
9688  const armnnSerializer::SoftmaxLayer *layer_as_SoftmaxLayer() const {
9689  return layer_type() == armnnSerializer::Layer_SoftmaxLayer ? static_cast<const armnnSerializer::SoftmaxLayer *>(layer()) : nullptr;
9690  }
9691  const armnnSerializer::SpaceToBatchNdLayer *layer_as_SpaceToBatchNdLayer() const {
9692  return layer_type() == armnnSerializer::Layer_SpaceToBatchNdLayer ? static_cast<const armnnSerializer::SpaceToBatchNdLayer *>(layer()) : nullptr;
9693  }
9694  const armnnSerializer::DivisionLayer *layer_as_DivisionLayer() const {
9695  return layer_type() == armnnSerializer::Layer_DivisionLayer ? static_cast<const armnnSerializer::DivisionLayer *>(layer()) : nullptr;
9696  }
9697  const armnnSerializer::MinimumLayer *layer_as_MinimumLayer() const {
9698  return layer_type() == armnnSerializer::Layer_MinimumLayer ? static_cast<const armnnSerializer::MinimumLayer *>(layer()) : nullptr;
9699  }
9700  const armnnSerializer::EqualLayer *layer_as_EqualLayer() const {
9701  return layer_type() == armnnSerializer::Layer_EqualLayer ? static_cast<const armnnSerializer::EqualLayer *>(layer()) : nullptr;
9702  }
9703  const armnnSerializer::MaximumLayer *layer_as_MaximumLayer() const {
9704  return layer_type() == armnnSerializer::Layer_MaximumLayer ? static_cast<const armnnSerializer::MaximumLayer *>(layer()) : nullptr;
9705  }
9706  const armnnSerializer::NormalizationLayer *layer_as_NormalizationLayer() const {
9707  return layer_type() == armnnSerializer::Layer_NormalizationLayer ? static_cast<const armnnSerializer::NormalizationLayer *>(layer()) : nullptr;
9708  }
9709  const armnnSerializer::PadLayer *layer_as_PadLayer() const {
9710  return layer_type() == armnnSerializer::Layer_PadLayer ? static_cast<const armnnSerializer::PadLayer *>(layer()) : nullptr;
9711  }
9712  const armnnSerializer::RsqrtLayer *layer_as_RsqrtLayer() const {
9713  return layer_type() == armnnSerializer::Layer_RsqrtLayer ? static_cast<const armnnSerializer::RsqrtLayer *>(layer()) : nullptr;
9714  }
9715  const armnnSerializer::FloorLayer *layer_as_FloorLayer() const {
9716  return layer_type() == armnnSerializer::Layer_FloorLayer ? static_cast<const armnnSerializer::FloorLayer *>(layer()) : nullptr;
9717  }
9718  const armnnSerializer::GreaterLayer *layer_as_GreaterLayer() const {
9719  return layer_type() == armnnSerializer::Layer_GreaterLayer ? static_cast<const armnnSerializer::GreaterLayer *>(layer()) : nullptr;
9720  }
9721  const armnnSerializer::ResizeBilinearLayer *layer_as_ResizeBilinearLayer() const {
9722  return layer_type() == armnnSerializer::Layer_ResizeBilinearLayer ? static_cast<const armnnSerializer::ResizeBilinearLayer *>(layer()) : nullptr;
9723  }
9724  const armnnSerializer::SubtractionLayer *layer_as_SubtractionLayer() const {
9725  return layer_type() == armnnSerializer::Layer_SubtractionLayer ? static_cast<const armnnSerializer::SubtractionLayer *>(layer()) : nullptr;
9726  }
9727  const armnnSerializer::StridedSliceLayer *layer_as_StridedSliceLayer() const {
9728  return layer_type() == armnnSerializer::Layer_StridedSliceLayer ? static_cast<const armnnSerializer::StridedSliceLayer *>(layer()) : nullptr;
9729  }
9730  const armnnSerializer::GatherLayer *layer_as_GatherLayer() const {
9731  return layer_type() == armnnSerializer::Layer_GatherLayer ? static_cast<const armnnSerializer::GatherLayer *>(layer()) : nullptr;
9732  }
9733  const armnnSerializer::MeanLayer *layer_as_MeanLayer() const {
9734  return layer_type() == armnnSerializer::Layer_MeanLayer ? static_cast<const armnnSerializer::MeanLayer *>(layer()) : nullptr;
9735  }
9737  return layer_type() == armnnSerializer::Layer_MergerLayer ? static_cast<const armnnSerializer::MergerLayer *>(layer()) : nullptr;
9738  }
9739  const armnnSerializer::L2NormalizationLayer *layer_as_L2NormalizationLayer() const {
9740  return layer_type() == armnnSerializer::Layer_L2NormalizationLayer ? static_cast<const armnnSerializer::L2NormalizationLayer *>(layer()) : nullptr;
9741  }
9742  const armnnSerializer::SplitterLayer *layer_as_SplitterLayer() const {
9743  return layer_type() == armnnSerializer::Layer_SplitterLayer ? static_cast<const armnnSerializer::SplitterLayer *>(layer()) : nullptr;
9744  }
9745  const armnnSerializer::DetectionPostProcessLayer *layer_as_DetectionPostProcessLayer() const {
9746  return layer_type() == armnnSerializer::Layer_DetectionPostProcessLayer ? static_cast<const armnnSerializer::DetectionPostProcessLayer *>(layer()) : nullptr;
9747  }
9748  const armnnSerializer::LstmLayer *layer_as_LstmLayer() const {
9749  return layer_type() == armnnSerializer::Layer_LstmLayer ? static_cast<const armnnSerializer::LstmLayer *>(layer()) : nullptr;
9750  }
9751  const armnnSerializer::QuantizedLstmLayer *layer_as_QuantizedLstmLayer() const {
9752  return layer_type() == armnnSerializer::Layer_QuantizedLstmLayer ? static_cast<const armnnSerializer::QuantizedLstmLayer *>(layer()) : nullptr;
9753  }
9754  const armnnSerializer::QuantizeLayer *layer_as_QuantizeLayer() const {
9755  return layer_type() == armnnSerializer::Layer_QuantizeLayer ? static_cast<const armnnSerializer::QuantizeLayer *>(layer()) : nullptr;
9756  }
9757  const armnnSerializer::DequantizeLayer *layer_as_DequantizeLayer() const {
9758  return layer_type() == armnnSerializer::Layer_DequantizeLayer ? static_cast<const armnnSerializer::DequantizeLayer *>(layer()) : nullptr;
9759  }
9760  const armnnSerializer::MergeLayer *layer_as_MergeLayer() const {
9761  return layer_type() == armnnSerializer::Layer_MergeLayer ? static_cast<const armnnSerializer::MergeLayer *>(layer()) : nullptr;
9762  }
9763  const armnnSerializer::SwitchLayer *layer_as_SwitchLayer() const {
9764  return layer_type() == armnnSerializer::Layer_SwitchLayer ? static_cast<const armnnSerializer::SwitchLayer *>(layer()) : nullptr;
9765  }
9766  const armnnSerializer::ConcatLayer *layer_as_ConcatLayer() const {
9767  return layer_type() == armnnSerializer::Layer_ConcatLayer ? static_cast<const armnnSerializer::ConcatLayer *>(layer()) : nullptr;
9768  }
9769  const armnnSerializer::SpaceToDepthLayer *layer_as_SpaceToDepthLayer() const {
9770  return layer_type() == armnnSerializer::Layer_SpaceToDepthLayer ? static_cast<const armnnSerializer::SpaceToDepthLayer *>(layer()) : nullptr;
9771  }
9772  const armnnSerializer::PreluLayer *layer_as_PreluLayer() const {
9773  return layer_type() == armnnSerializer::Layer_PreluLayer ? static_cast<const armnnSerializer::PreluLayer *>(layer()) : nullptr;
9774  }
9775  const armnnSerializer::TransposeConvolution2dLayer *layer_as_TransposeConvolution2dLayer() const {
9776  return layer_type() == armnnSerializer::Layer_TransposeConvolution2dLayer ? static_cast<const armnnSerializer::TransposeConvolution2dLayer *>(layer()) : nullptr;
9777  }
9778  const armnnSerializer::ResizeLayer *layer_as_ResizeLayer() const {
9779  return layer_type() == armnnSerializer::Layer_ResizeLayer ? static_cast<const armnnSerializer::ResizeLayer *>(layer()) : nullptr;
9780  }
9781  const armnnSerializer::StackLayer *layer_as_StackLayer() const {
9782  return layer_type() == armnnSerializer::Layer_StackLayer ? static_cast<const armnnSerializer::StackLayer *>(layer()) : nullptr;
9783  }
9784  const armnnSerializer::AbsLayer *layer_as_AbsLayer() const {
9785  return layer_type() == armnnSerializer::Layer_AbsLayer ? static_cast<const armnnSerializer::AbsLayer *>(layer()) : nullptr;
9786  }
9787  const armnnSerializer::ArgMinMaxLayer *layer_as_ArgMinMaxLayer() const {
9788  return layer_type() == armnnSerializer::Layer_ArgMinMaxLayer ? static_cast<const armnnSerializer::ArgMinMaxLayer *>(layer()) : nullptr;
9789  }
9790  const armnnSerializer::SliceLayer *layer_as_SliceLayer() const {
9791  return layer_type() == armnnSerializer::Layer_SliceLayer ? static_cast<const armnnSerializer::SliceLayer *>(layer()) : nullptr;
9792  }
9793  const armnnSerializer::DepthToSpaceLayer *layer_as_DepthToSpaceLayer() const {
9794  return layer_type() == armnnSerializer::Layer_DepthToSpaceLayer ? static_cast<const armnnSerializer::DepthToSpaceLayer *>(layer()) : nullptr;
9795  }
9796  const armnnSerializer::InstanceNormalizationLayer *layer_as_InstanceNormalizationLayer() const {
9797  return layer_type() == armnnSerializer::Layer_InstanceNormalizationLayer ? static_cast<const armnnSerializer::InstanceNormalizationLayer *>(layer()) : nullptr;
9798  }
9799  const armnnSerializer::LogSoftmaxLayer *layer_as_LogSoftmaxLayer() const {
9800  return layer_type() == armnnSerializer::Layer_LogSoftmaxLayer ? static_cast<const armnnSerializer::LogSoftmaxLayer *>(layer()) : nullptr;
9801  }
9802  const armnnSerializer::ComparisonLayer *layer_as_ComparisonLayer() const {
9803  return layer_type() == armnnSerializer::Layer_ComparisonLayer ? static_cast<const armnnSerializer::ComparisonLayer *>(layer()) : nullptr;
9804  }
9805  const armnnSerializer::StandInLayer *layer_as_StandInLayer() const {
9806  return layer_type() == armnnSerializer::Layer_StandInLayer ? static_cast<const armnnSerializer::StandInLayer *>(layer()) : nullptr;
9807  }
9808  const armnnSerializer::ElementwiseUnaryLayer *layer_as_ElementwiseUnaryLayer() const {
9809  return layer_type() == armnnSerializer::Layer_ElementwiseUnaryLayer ? static_cast<const armnnSerializer::ElementwiseUnaryLayer *>(layer()) : nullptr;
9810  }
9811  const armnnSerializer::TransposeLayer *layer_as_TransposeLayer() const {
9812  return layer_type() == armnnSerializer::Layer_TransposeLayer ? static_cast<const armnnSerializer::TransposeLayer *>(layer()) : nullptr;
9813  }
9814  const armnnSerializer::QLstmLayer *layer_as_QLstmLayer() const {
9815  return layer_type() == armnnSerializer::Layer_QLstmLayer ? static_cast<const armnnSerializer::QLstmLayer *>(layer()) : nullptr;
9816  }
9817  const armnnSerializer::FillLayer *layer_as_FillLayer() const {
9818  return layer_type() == armnnSerializer::Layer_FillLayer ? static_cast<const armnnSerializer::FillLayer *>(layer()) : nullptr;
9819  }
9820  const armnnSerializer::RankLayer *layer_as_RankLayer() const {
9821  return layer_type() == armnnSerializer::Layer_RankLayer ? static_cast<const armnnSerializer::RankLayer *>(layer()) : nullptr;
9822  }
9823  const armnnSerializer::LogicalBinaryLayer *layer_as_LogicalBinaryLayer() const {
9824  return layer_type() == armnnSerializer::Layer_LogicalBinaryLayer ? static_cast<const armnnSerializer::LogicalBinaryLayer *>(layer()) : nullptr;
9825  }
9826  const armnnSerializer::ReduceLayer *layer_as_ReduceLayer() const {
9827  return layer_type() == armnnSerializer::Layer_ReduceLayer ? static_cast<const armnnSerializer::ReduceLayer *>(layer()) : nullptr;
9828  }
9829  const armnnSerializer::CastLayer *layer_as_CastLayer() const {
9830  return layer_type() == armnnSerializer::Layer_CastLayer ? static_cast<const armnnSerializer::CastLayer *>(layer()) : nullptr;
9831  }
9832  const armnnSerializer::ShapeLayer *layer_as_ShapeLayer() const {
9833  return layer_type() == armnnSerializer::Layer_ShapeLayer ? static_cast<const armnnSerializer::ShapeLayer *>(layer()) : nullptr;
9834  }
9835  const armnnSerializer::UnidirectionalSequenceLstmLayer *layer_as_UnidirectionalSequenceLstmLayer() const {
9836  return layer_type() == armnnSerializer::Layer_UnidirectionalSequenceLstmLayer ? static_cast<const armnnSerializer::UnidirectionalSequenceLstmLayer *>(layer()) : nullptr;
9837  }
9838  bool Verify(flatbuffers::Verifier &verifier) const {
9839  return VerifyTableStart(verifier) &&
9840  VerifyField<uint8_t>(verifier, VT_LAYER_TYPE) &&
9841  VerifyOffset(verifier, VT_LAYER) &&
9842  VerifyLayer(verifier, layer(), layer_type()) &&
9843  verifier.EndTable();
9844  }
9845 };
9846 
9847 template<> inline const armnnSerializer::ActivationLayer *AnyLayer::layer_as<armnnSerializer::ActivationLayer>() const {
9848  return layer_as_ActivationLayer();
9849 }
9850 
9851 template<> inline const armnnSerializer::AdditionLayer *AnyLayer::layer_as<armnnSerializer::AdditionLayer>() const {
9852  return layer_as_AdditionLayer();
9853 }
9854 
9855 template<> inline const armnnSerializer::BatchToSpaceNdLayer *AnyLayer::layer_as<armnnSerializer::BatchToSpaceNdLayer>() const {
9856  return layer_as_BatchToSpaceNdLayer();
9857 }
9858 
9859 template<> inline const armnnSerializer::BatchNormalizationLayer *AnyLayer::layer_as<armnnSerializer::BatchNormalizationLayer>() const {
9860  return layer_as_BatchNormalizationLayer();
9861 }
9862 
9863 template<> inline const armnnSerializer::ConstantLayer *AnyLayer::layer_as<armnnSerializer::ConstantLayer>() const {
9864  return layer_as_ConstantLayer();
9865 }
9866 
9867 template<> inline const armnnSerializer::Convolution2dLayer *AnyLayer::layer_as<armnnSerializer::Convolution2dLayer>() const {
9868  return layer_as_Convolution2dLayer();
9869 }
9870 
9871 template<> inline const armnnSerializer::DepthwiseConvolution2dLayer *AnyLayer::layer_as<armnnSerializer::DepthwiseConvolution2dLayer>() const {
9872  return layer_as_DepthwiseConvolution2dLayer();
9873 }
9874 
9875 template<> inline const armnnSerializer::FullyConnectedLayer *AnyLayer::layer_as<armnnSerializer::FullyConnectedLayer>() const {
9876  return layer_as_FullyConnectedLayer();
9877 }
9878 
9879 template<> inline const armnnSerializer::InputLayer *AnyLayer::layer_as<armnnSerializer::InputLayer>() const {
9880  return layer_as_InputLayer();
9881 }
9882 
9883 template<> inline const armnnSerializer::MultiplicationLayer *AnyLayer::layer_as<armnnSerializer::MultiplicationLayer>() const {
9884  return layer_as_MultiplicationLayer();
9885 }
9886 
9887 template<> inline const armnnSerializer::OutputLayer *AnyLayer::layer_as<armnnSerializer::OutputLayer>() const {
9888  return layer_as_OutputLayer();
9889 }
9890 
9891 template<> inline const armnnSerializer::PermuteLayer *AnyLayer::layer_as<armnnSerializer::PermuteLayer>() const {
9892  return layer_as_PermuteLayer();
9893 }
9894 
9895 template<> inline const armnnSerializer::Pooling2dLayer *AnyLayer::layer_as<armnnSerializer::Pooling2dLayer>() const {
9896  return layer_as_Pooling2dLayer();
9897 }
9898 
9899 template<> inline const armnnSerializer::ReshapeLayer *AnyLayer::layer_as<armnnSerializer::ReshapeLayer>() const {
9900  return layer_as_ReshapeLayer();
9901 }
9902 
9903 template<> inline const armnnSerializer::SoftmaxLayer *AnyLayer::layer_as<armnnSerializer::SoftmaxLayer>() const {
9904  return layer_as_SoftmaxLayer();
9905 }
9906 
9907 template<> inline const armnnSerializer::SpaceToBatchNdLayer *AnyLayer::layer_as<armnnSerializer::SpaceToBatchNdLayer>() const {
9908  return layer_as_SpaceToBatchNdLayer();
9909 }
9910 
9911 template<> inline const armnnSerializer::DivisionLayer *AnyLayer::layer_as<armnnSerializer::DivisionLayer>() const {
9912  return layer_as_DivisionLayer();
9913 }
9914 
9915 template<> inline const armnnSerializer::MinimumLayer *AnyLayer::layer_as<armnnSerializer::MinimumLayer>() const {
9916  return layer_as_MinimumLayer();
9917 }
9918 
9919 template<> inline const armnnSerializer::EqualLayer *AnyLayer::layer_as<armnnSerializer::EqualLayer>() const {
9920  return layer_as_EqualLayer();
9921 }
9922 
9923 template<> inline const armnnSerializer::MaximumLayer *AnyLayer::layer_as<armnnSerializer::MaximumLayer>() const {
9924  return layer_as_MaximumLayer();
9925 }
9926 
9927 template<> inline const armnnSerializer::NormalizationLayer *AnyLayer::layer_as<armnnSerializer::NormalizationLayer>() const {
9928  return layer_as_NormalizationLayer();
9929 }
9930 
9931 template<> inline const armnnSerializer::PadLayer *AnyLayer::layer_as<armnnSerializer::PadLayer>() const {
9932  return layer_as_PadLayer();
9933 }
9934 
9935 template<> inline const armnnSerializer::RsqrtLayer *AnyLayer::layer_as<armnnSerializer::RsqrtLayer>() const {
9936  return layer_as_RsqrtLayer();
9937 }
9938 
9939 template<> inline const armnnSerializer::FloorLayer *AnyLayer::layer_as<armnnSerializer::FloorLayer>() const {
9940  return layer_as_FloorLayer();
9941 }
9942 
9943 template<> inline const armnnSerializer::GreaterLayer *AnyLayer::layer_as<armnnSerializer::GreaterLayer>() const {
9944  return layer_as_GreaterLayer();
9945 }
9946 
9947 template<> inline const armnnSerializer::ResizeBilinearLayer *AnyLayer::layer_as<armnnSerializer::ResizeBilinearLayer>() const {
9948  return layer_as_ResizeBilinearLayer();
9949 }
9950 
9951 template<> inline const armnnSerializer::SubtractionLayer *AnyLayer::layer_as<armnnSerializer::SubtractionLayer>() const {
9952  return layer_as_SubtractionLayer();
9953 }
9954 
9955 template<> inline const armnnSerializer::StridedSliceLayer *AnyLayer::layer_as<armnnSerializer::StridedSliceLayer>() const {
9956  return layer_as_StridedSliceLayer();
9957 }
9958 
9959 template<> inline const armnnSerializer::GatherLayer *AnyLayer::layer_as<armnnSerializer::GatherLayer>() const {
9960  return layer_as_GatherLayer();
9961 }
9962 
9963 template<> inline const armnnSerializer::MeanLayer *AnyLayer::layer_as<armnnSerializer::MeanLayer>() const {
9964  return layer_as_MeanLayer();
9965 }
9966 
9967 template<> inline const armnnSerializer::MergerLayer *AnyLayer::layer_as<armnnSerializer::MergerLayer>() const {
9968  return layer_as_MergerLayer();
9969 }
9970 
9971 template<> inline const armnnSerializer::L2NormalizationLayer *AnyLayer::layer_as<armnnSerializer::L2NormalizationLayer>() const {
9972  return layer_as_L2NormalizationLayer();
9973 }
9974 
9975 template<> inline const armnnSerializer::SplitterLayer *AnyLayer::layer_as<armnnSerializer::SplitterLayer>() const {
9976  return layer_as_SplitterLayer();
9977 }
9978 
9979 template<> inline const armnnSerializer::DetectionPostProcessLayer *AnyLayer::layer_as<armnnSerializer::DetectionPostProcessLayer>() const {
9980  return layer_as_DetectionPostProcessLayer();
9981 }
9982 
9983 template<> inline const armnnSerializer::LstmLayer *AnyLayer::layer_as<armnnSerializer::LstmLayer>() const {
9984  return layer_as_LstmLayer();
9985 }
9986 
9987 template<> inline const armnnSerializer::QuantizedLstmLayer *AnyLayer::layer_as<armnnSerializer::QuantizedLstmLayer>() const {
9988  return layer_as_QuantizedLstmLayer();
9989 }
9990 
9991 template<> inline const armnnSerializer::QuantizeLayer *AnyLayer::layer_as<armnnSerializer::QuantizeLayer>() const {
9992  return layer_as_QuantizeLayer();
9993 }
9994 
9995 template<> inline const armnnSerializer::DequantizeLayer *AnyLayer::layer_as<armnnSerializer::DequantizeLayer>() const {
9996  return layer_as_DequantizeLayer();
9997 }
9998 
9999 template<> inline const armnnSerializer::MergeLayer *AnyLayer::layer_as<armnnSerializer::MergeLayer>() const {
10000  return layer_as_MergeLayer();
10001 }
10002 
10003 template<> inline const armnnSerializer::SwitchLayer *AnyLayer::layer_as<armnnSerializer::SwitchLayer>() const {
10004  return layer_as_SwitchLayer();
10005 }
10006 
10007 template<> inline const armnnSerializer::ConcatLayer *AnyLayer::layer_as<armnnSerializer::ConcatLayer>() const {
10008  return layer_as_ConcatLayer();
10009 }
10010 
10011 template<> inline const armnnSerializer::SpaceToDepthLayer *AnyLayer::layer_as<armnnSerializer::SpaceToDepthLayer>() const {
10012  return layer_as_SpaceToDepthLayer();
10013 }
10014 
10015 template<> inline const armnnSerializer::PreluLayer *AnyLayer::layer_as<armnnSerializer::PreluLayer>() const {
10016  return layer_as_PreluLayer();
10017 }
10018 
10019 template<> inline const armnnSerializer::TransposeConvolution2dLayer *AnyLayer::layer_as<armnnSerializer::TransposeConvolution2dLayer>() const {
10020  return layer_as_TransposeConvolution2dLayer();
10021 }
10022 
10023 template<> inline const armnnSerializer::ResizeLayer *AnyLayer::layer_as<armnnSerializer::ResizeLayer>() const {
10024  return layer_as_ResizeLayer();
10025 }
10026 
10027 template<> inline const armnnSerializer::StackLayer *AnyLayer::layer_as<armnnSerializer::StackLayer>() const {
10028  return layer_as_StackLayer();
10029 }
10030 
10031 template<> inline const armnnSerializer::AbsLayer *AnyLayer::layer_as<armnnSerializer::AbsLayer>() const {
10032  return layer_as_AbsLayer();
10033 }
10034 
10035 template<> inline const armnnSerializer::ArgMinMaxLayer *AnyLayer::layer_as<armnnSerializer::ArgMinMaxLayer>() const {
10036  return layer_as_ArgMinMaxLayer();
10037 }
10038 
10039 template<> inline const armnnSerializer::SliceLayer *AnyLayer::layer_as<armnnSerializer::SliceLayer>() const {
10040  return layer_as_SliceLayer();
10041 }
10042 
10043 template<> inline const armnnSerializer::DepthToSpaceLayer *AnyLayer::layer_as<armnnSerializer::DepthToSpaceLayer>() const {
10044  return layer_as_DepthToSpaceLayer();
10045 }
10046 
10047 template<> inline const armnnSerializer::InstanceNormalizationLayer *AnyLayer::layer_as<armnnSerializer::InstanceNormalizationLayer>() const {
10048  return layer_as_InstanceNormalizationLayer();
10049 }
10050 
10051 template<> inline const armnnSerializer::LogSoftmaxLayer *AnyLayer::layer_as<armnnSerializer::LogSoftmaxLayer>() const {
10052  return layer_as_LogSoftmaxLayer();
10053 }
10054 
10055 template<> inline const armnnSerializer::ComparisonLayer *AnyLayer::layer_as<armnnSerializer::ComparisonLayer>() const {
10056  return layer_as_ComparisonLayer();
10057 }
10058 
10059 template<> inline const armnnSerializer::StandInLayer *AnyLayer::layer_as<armnnSerializer::StandInLayer>() const {
10060  return layer_as_StandInLayer();
10061 }
10062 
10063 template<> inline const armnnSerializer::ElementwiseUnaryLayer *AnyLayer::layer_as<armnnSerializer::ElementwiseUnaryLayer>() const {
10064  return layer_as_ElementwiseUnaryLayer();
10065 }
10066 
10067 template<> inline const armnnSerializer::TransposeLayer *AnyLayer::layer_as<armnnSerializer::TransposeLayer>() const {
10068  return layer_as_TransposeLayer();
10069 }
10070 
10071 template<> inline const armnnSerializer::QLstmLayer *AnyLayer::layer_as<armnnSerializer::QLstmLayer>() const {
10072  return layer_as_QLstmLayer();
10073 }
10074 
10075 template<> inline const armnnSerializer::FillLayer *AnyLayer::layer_as<armnnSerializer::FillLayer>() const {
10076  return layer_as_FillLayer();
10077 }
10078 
10079 template<> inline const armnnSerializer::RankLayer *AnyLayer::layer_as<armnnSerializer::RankLayer>() const {
10080  return layer_as_RankLayer();
10081 }
10082 
10083 template<> inline const armnnSerializer::LogicalBinaryLayer *AnyLayer::layer_as<armnnSerializer::LogicalBinaryLayer>() const {
10084  return layer_as_LogicalBinaryLayer();
10085 }
10086 
10087 template<> inline const armnnSerializer::ReduceLayer *AnyLayer::layer_as<armnnSerializer::ReduceLayer>() const {
10088  return layer_as_ReduceLayer();
10089 }
10090 
10091 template<> inline const armnnSerializer::CastLayer *AnyLayer::layer_as<armnnSerializer::CastLayer>() const {
10092  return layer_as_CastLayer();
10093 }
10094 
10095 template<> inline const armnnSerializer::ShapeLayer *AnyLayer::layer_as<armnnSerializer::ShapeLayer>() const {
10096  return layer_as_ShapeLayer();
10097 }
10098 
10099 template<> inline const armnnSerializer::UnidirectionalSequenceLstmLayer *AnyLayer::layer_as<armnnSerializer::UnidirectionalSequenceLstmLayer>() const {
10100  return layer_as_UnidirectionalSequenceLstmLayer();
10101 }
10102 
10104  typedef AnyLayer Table;
10105  flatbuffers::FlatBufferBuilder &fbb_;
10106  flatbuffers::uoffset_t start_;
10108  fbb_.AddElement<uint8_t>(AnyLayer::VT_LAYER_TYPE, static_cast<uint8_t>(layer_type), 0);
10109  }
10110  void add_layer(flatbuffers::Offset<void> layer) {
10111  fbb_.AddOffset(AnyLayer::VT_LAYER, layer);
10112  }
10113  explicit AnyLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
10114  : fbb_(_fbb) {
10115  start_ = fbb_.StartTable();
10116  }
10117  AnyLayerBuilder &operator=(const AnyLayerBuilder &);
10118  flatbuffers::Offset<AnyLayer> Finish() {
10119  const auto end = fbb_.EndTable(start_);
10120  auto o = flatbuffers::Offset<AnyLayer>(end);
10121  return o;
10122  }
10123 };
10124 
10125 inline flatbuffers::Offset<AnyLayer> CreateAnyLayer(
10126  flatbuffers::FlatBufferBuilder &_fbb,
10128  flatbuffers::Offset<void> layer = 0) {
10129  AnyLayerBuilder builder_(_fbb);
10130  builder_.add_layer(layer);
10131  builder_.add_layer_type(layer_type);
10132  return builder_.Finish();
10133 }
10134 
10135 struct FeatureCompatibilityVersions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
10137  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
10140  VT_CONSTANTTENSORSASINPUTS = 8
10141  };
10142  uint32_t bindingIdsScheme() const {
10143  return GetField<uint32_t>(VT_BINDINGIDSSCHEME, 0);
10144  }
10145  uint32_t weightsLayoutScheme() const {
10146  return GetField<uint32_t>(VT_WEIGHTSLAYOUTSCHEME, 0);
10147  }
10148  uint32_t constantTensorsAsInputs() const {
10149  return GetField<uint32_t>(VT_CONSTANTTENSORSASINPUTS, 0);
10150  }
10151  bool Verify(flatbuffers::Verifier &verifier) const {
10152  return VerifyTableStart(verifier) &&
10153  VerifyField<uint32_t>(verifier, VT_BINDINGIDSSCHEME) &&
10154  VerifyField<uint32_t>(verifier, VT_WEIGHTSLAYOUTSCHEME) &&
10155  VerifyField<uint32_t>(verifier, VT_CONSTANTTENSORSASINPUTS) &&
10156  verifier.EndTable();
10157  }
10158 };
10159 
10161  typedef FeatureCompatibilityVersions Table;
10162  flatbuffers::FlatBufferBuilder &fbb_;
10163  flatbuffers::uoffset_t start_;
10164  void add_bindingIdsScheme(uint32_t bindingIdsScheme) {
10165  fbb_.AddElement<uint32_t>(FeatureCompatibilityVersions::VT_BINDINGIDSSCHEME, bindingIdsScheme, 0);
10166  }
10167  void add_weightsLayoutScheme(uint32_t weightsLayoutScheme) {
10168  fbb_.AddElement<uint32_t>(FeatureCompatibilityVersions::VT_WEIGHTSLAYOUTSCHEME, weightsLayoutScheme, 0);
10169  }
10170  void add_constantTensorsAsInputs(uint32_t constantTensorsAsInputs) {
10171  fbb_.AddElement<uint32_t>(FeatureCompatibilityVersions::VT_CONSTANTTENSORSASINPUTS, constantTensorsAsInputs, 0);
10172  }
10173  explicit FeatureCompatibilityVersionsBuilder(flatbuffers::FlatBufferBuilder &_fbb)
10174  : fbb_(_fbb) {
10175  start_ = fbb_.StartTable();
10176  }
10178  flatbuffers::Offset<FeatureCompatibilityVersions> Finish() {
10179  const auto end = fbb_.EndTable(start_);
10180  auto o = flatbuffers::Offset<FeatureCompatibilityVersions>(end);
10181  return o;
10182  }
10183 };
10184 
10185 inline flatbuffers::Offset<FeatureCompatibilityVersions> CreateFeatureCompatibilityVersions(
10186  flatbuffers::FlatBufferBuilder &_fbb,
10187  uint32_t bindingIdsScheme = 0,
10188  uint32_t weightsLayoutScheme = 0,
10189  uint32_t constantTensorsAsInputs = 0) {
10190  FeatureCompatibilityVersionsBuilder builder_(_fbb);
10191  builder_.add_constantTensorsAsInputs(constantTensorsAsInputs);
10192  builder_.add_weightsLayoutScheme(weightsLayoutScheme);
10193  builder_.add_bindingIdsScheme(bindingIdsScheme);
10194  return builder_.Finish();
10195 }
10196 
10197 struct SerializedGraph FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
10199  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
10203  VT_FEATUREVERSIONS = 10
10204  };
10205  const flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::AnyLayer>> *layers() const {
10206  return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::AnyLayer>> *>(VT_LAYERS);
10207  }
10208  const flatbuffers::Vector<int32_t> *inputIds() const {
10209  return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_INPUTIDS);
10210  }
10211  const flatbuffers::Vector<int32_t> *outputIds() const {
10212  return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_OUTPUTIDS);
10213  }
10214  const armnnSerializer::FeatureCompatibilityVersions *featureVersions() const {
10215  return GetPointer<const armnnSerializer::FeatureCompatibilityVersions *>(VT_FEATUREVERSIONS);
10216  }
10217  bool Verify(flatbuffers::Verifier &verifier) const {
10218  return VerifyTableStart(verifier) &&
10219  VerifyOffset(verifier, VT_LAYERS) &&
10220  verifier.VerifyVector(layers()) &&
10221  verifier.VerifyVectorOfTables(layers()) &&
10222  VerifyOffset(verifier, VT_INPUTIDS) &&
10223  verifier.VerifyVector(inputIds()) &&
10224  VerifyOffset(verifier, VT_OUTPUTIDS) &&
10225  verifier.VerifyVector(outputIds()) &&
10226  VerifyOffset(verifier, VT_FEATUREVERSIONS) &&
10227  verifier.VerifyTable(featureVersions()) &&
10228  verifier.EndTable();
10229  }
10230 };
10231 
10233  typedef SerializedGraph Table;
10234  flatbuffers::FlatBufferBuilder &fbb_;
10235  flatbuffers::uoffset_t start_;
10236  void add_layers(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::AnyLayer>>> layers) {
10237  fbb_.AddOffset(SerializedGraph::VT_LAYERS, layers);
10238  }
10239  void add_inputIds(flatbuffers::Offset<flatbuffers::Vector<int32_t>> inputIds) {
10240  fbb_.AddOffset(SerializedGraph::VT_INPUTIDS, inputIds);
10241  }
10242  void add_outputIds(flatbuffers::Offset<flatbuffers::Vector<int32_t>> outputIds) {
10243  fbb_.AddOffset(SerializedGraph::VT_OUTPUTIDS, outputIds);
10244  }
10245  void add_featureVersions(flatbuffers::Offset<armnnSerializer::FeatureCompatibilityVersions> featureVersions) {
10246  fbb_.AddOffset(SerializedGraph::VT_FEATUREVERSIONS, featureVersions);
10247  }
10248  explicit SerializedGraphBuilder(flatbuffers::FlatBufferBuilder &_fbb)
10249  : fbb_(_fbb) {
10250  start_ = fbb_.StartTable();
10251  }
10252  SerializedGraphBuilder &operator=(const SerializedGraphBuilder &);
10253  flatbuffers::Offset<SerializedGraph> Finish() {
10254  const auto end = fbb_.EndTable(start_);
10255  auto o = flatbuffers::Offset<SerializedGraph>(end);
10256  return o;
10257  }
10258 };
10259 
10260 inline flatbuffers::Offset<SerializedGraph> CreateSerializedGraph(
10261  flatbuffers::FlatBufferBuilder &_fbb,
10262  flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::AnyLayer>>> layers = 0,
10263  flatbuffers::Offset<flatbuffers::Vector<int32_t>> inputIds = 0,
10264  flatbuffers::Offset<flatbuffers::Vector<int32_t>> outputIds = 0,
10265  flatbuffers::Offset<armnnSerializer::FeatureCompatibilityVersions> featureVersions = 0) {
10266  SerializedGraphBuilder builder_(_fbb);
10267  builder_.add_featureVersions(featureVersions);
10268  builder_.add_outputIds(outputIds);
10269  builder_.add_inputIds(inputIds);
10270  builder_.add_layers(layers);
10271  return builder_.Finish();
10272 }
10273 
10274 inline flatbuffers::Offset<SerializedGraph> CreateSerializedGraphDirect(
10275  flatbuffers::FlatBufferBuilder &_fbb,
10276  const std::vector<flatbuffers::Offset<armnnSerializer::AnyLayer>> *layers = nullptr,
10277  const std::vector<int32_t> *inputIds = nullptr,
10278  const std::vector<int32_t> *outputIds = nullptr,
10279  flatbuffers::Offset<armnnSerializer::FeatureCompatibilityVersions> featureVersions = 0) {
10280  auto layers__ = layers ? _fbb.CreateVector<flatbuffers::Offset<armnnSerializer::AnyLayer>>(*layers) : 0;
10281  auto inputIds__ = inputIds ? _fbb.CreateVector<int32_t>(*inputIds) : 0;
10282  auto outputIds__ = outputIds ? _fbb.CreateVector<int32_t>(*outputIds) : 0;
10284  _fbb,
10285  layers__,
10286  inputIds__,
10287  outputIds__,
10288  featureVersions);
10289 }
10290 
10291 inline bool VerifyConstTensorData(flatbuffers::Verifier &verifier, const void *obj, ConstTensorData type) {
10292  switch (type) {
10293  case ConstTensorData_NONE: {
10294  return true;
10295  }
10296  case ConstTensorData_ByteData: {
10297  auto ptr = reinterpret_cast<const armnnSerializer::ByteData *>(obj);
10298  return verifier.VerifyTable(ptr);
10299  }
10301  auto ptr = reinterpret_cast<const armnnSerializer::ShortData *>(obj);
10302  return verifier.VerifyTable(ptr);
10303  }
10304  case ConstTensorData_IntData: {
10305  auto ptr = reinterpret_cast<const armnnSerializer::IntData *>(obj);
10306  return verifier.VerifyTable(ptr);
10307  }
10308  case ConstTensorData_LongData: {
10309  auto ptr = reinterpret_cast<const armnnSerializer::LongData *>(obj);
10310  return verifier.VerifyTable(ptr);
10311  }
10312  default: return true;
10313  }
10314 }
10315 
10316 inline bool VerifyConstTensorDataVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types) {
10317  if (!values || !types) return !values && !types;
10318  if (values->size() != types->size()) return false;
10319  for (flatbuffers::uoffset_t i = 0; i < values->size(); ++i) {
10320  if (!VerifyConstTensorData(
10321  verifier, values->Get(i), types->GetEnum<ConstTensorData>(i))) {
10322  return false;
10323  }
10324  }
10325  return true;
10326 }
10327 
10328 inline bool VerifyLayer(flatbuffers::Verifier &verifier, const void *obj, Layer type) {
10329  switch (type) {
10330  case Layer_NONE: {
10331  return true;
10332  }
10333  case Layer_ActivationLayer: {
10334  auto ptr = reinterpret_cast<const armnnSerializer::ActivationLayer *>(obj);
10335  return verifier.VerifyTable(ptr);
10336  }
10337  case Layer_AdditionLayer: {
10338  auto ptr = reinterpret_cast<const armnnSerializer::AdditionLayer *>(obj);
10339  return verifier.VerifyTable(ptr);
10340  }
10342  auto ptr = reinterpret_cast<const armnnSerializer::BatchToSpaceNdLayer *>(obj);
10343  return verifier.VerifyTable(ptr);
10344  }
10346  auto ptr = reinterpret_cast<const armnnSerializer::BatchNormalizationLayer *>(obj);
10347  return verifier.VerifyTable(ptr);
10348  }
10349  case Layer_ConstantLayer: {
10350  auto ptr = reinterpret_cast<const armnnSerializer::ConstantLayer *>(obj);
10351  return verifier.VerifyTable(ptr);
10352  }
10353  case Layer_Convolution2dLayer: {
10354  auto ptr = reinterpret_cast<const armnnSerializer::Convolution2dLayer *>(obj);
10355  return verifier.VerifyTable(ptr);
10356  }
10358  auto ptr = reinterpret_cast<const armnnSerializer::DepthwiseConvolution2dLayer *>(obj);
10359  return verifier.VerifyTable(ptr);
10360  }
10362  auto ptr = reinterpret_cast<const armnnSerializer::FullyConnectedLayer *>(obj);
10363  return verifier.VerifyTable(ptr);
10364  }
10365  case Layer_InputLayer: {
10366  auto ptr = reinterpret_cast<const armnnSerializer::InputLayer *>(obj);
10367  return verifier.VerifyTable(ptr);
10368  }
10370  auto ptr = reinterpret_cast<const armnnSerializer::MultiplicationLayer *>(obj);
10371  return verifier.VerifyTable(ptr);
10372  }
10373  case Layer_OutputLayer: {
10374  auto ptr = reinterpret_cast<const armnnSerializer::OutputLayer *>(obj);
10375  return verifier.VerifyTable(ptr);
10376  }
10377  case Layer_PermuteLayer: {
10378  auto ptr = reinterpret_cast<const armnnSerializer::PermuteLayer *>(obj);
10379  return verifier.VerifyTable(ptr);
10380  }
10381  case Layer_Pooling2dLayer: {
10382  auto ptr = reinterpret_cast<const armnnSerializer::Pooling2dLayer *>(obj);
10383  return verifier.VerifyTable(ptr);
10384  }
10385  case Layer_ReshapeLayer: {
10386  auto ptr = reinterpret_cast<const armnnSerializer::ReshapeLayer *>(obj);
10387  return verifier.VerifyTable(ptr);
10388  }
10389  case Layer_SoftmaxLayer: {
10390  auto ptr = reinterpret_cast<const armnnSerializer::SoftmaxLayer *>(obj);
10391  return verifier.VerifyTable(ptr);
10392  }
10394  auto ptr = reinterpret_cast<const armnnSerializer::SpaceToBatchNdLayer *>(obj);
10395  return verifier.VerifyTable(ptr);
10396  }
10397  case Layer_DivisionLayer: {
10398  auto ptr = reinterpret_cast<const armnnSerializer::DivisionLayer *>(obj);
10399  return verifier.VerifyTable(ptr);
10400  }
10401  case Layer_MinimumLayer: {
10402  auto ptr = reinterpret_cast<const armnnSerializer::MinimumLayer *>(obj);
10403  return verifier.VerifyTable(ptr);
10404  }
10405  case Layer_EqualLayer: {
10406  auto ptr = reinterpret_cast<const armnnSerializer::EqualLayer *>(obj);
10407  return verifier.VerifyTable(ptr);
10408  }
10409  case Layer_MaximumLayer: {
10410  auto ptr = reinterpret_cast<const armnnSerializer::MaximumLayer *>(obj);
10411  return verifier.VerifyTable(ptr);
10412  }
10413  case Layer_NormalizationLayer: {
10414  auto ptr = reinterpret_cast<const armnnSerializer::NormalizationLayer *>(obj);
10415  return verifier.VerifyTable(ptr);
10416  }
10417  case Layer_PadLayer: {
10418  auto ptr = reinterpret_cast<const armnnSerializer::PadLayer *>(obj);
10419  return verifier.VerifyTable(ptr);
10420  }
10421  case Layer_RsqrtLayer: {
10422  auto ptr = reinterpret_cast<const armnnSerializer::RsqrtLayer *>(obj);
10423  return verifier.VerifyTable(ptr);
10424  }
10425  case Layer_FloorLayer: {
10426  auto ptr = reinterpret_cast<const armnnSerializer::FloorLayer *>(obj);
10427  return verifier.VerifyTable(ptr);
10428  }
10429  case Layer_GreaterLayer: {
10430  auto ptr = reinterpret_cast<const armnnSerializer::GreaterLayer *>(obj);
10431  return verifier.VerifyTable(ptr);
10432  }
10434  auto ptr = reinterpret_cast<const armnnSerializer::ResizeBilinearLayer *>(obj);
10435  return verifier.VerifyTable(ptr);
10436  }
10437  case Layer_SubtractionLayer: {
10438  auto ptr = reinterpret_cast<const armnnSerializer::SubtractionLayer *>(obj);
10439  return verifier.VerifyTable(ptr);
10440  }
10441  case Layer_StridedSliceLayer: {
10442  auto ptr = reinterpret_cast<const armnnSerializer::StridedSliceLayer *>(obj);
10443  return verifier.VerifyTable(ptr);
10444  }
10445  case Layer_GatherLayer: {
10446  auto ptr = reinterpret_cast<const armnnSerializer::GatherLayer *>(obj);
10447  return verifier.VerifyTable(ptr);
10448  }
10449  case Layer_MeanLayer: {
10450  auto ptr = reinterpret_cast<const armnnSerializer::MeanLayer *>(obj);
10451  return verifier.VerifyTable(ptr);
10452  }
10453  case Layer_MergerLayer: {
10454  auto ptr = reinterpret_cast<const armnnSerializer::MergerLayer *>(obj);
10455  return verifier.VerifyTable(ptr);
10456  }
10458  auto ptr = reinterpret_cast<const armnnSerializer::L2NormalizationLayer *>(obj);
10459  return verifier.VerifyTable(ptr);
10460  }
10461  case Layer_SplitterLayer: {
10462  auto ptr = reinterpret_cast<const armnnSerializer::SplitterLayer *>(obj);
10463  return verifier.VerifyTable(ptr);
10464  }
10466  auto ptr = reinterpret_cast<const armnnSerializer::DetectionPostProcessLayer *>(obj);
10467  return verifier.VerifyTable(ptr);
10468  }
10469  case Layer_LstmLayer: {
10470  auto ptr = reinterpret_cast<const armnnSerializer::LstmLayer *>(obj);
10471  return verifier.VerifyTable(ptr);
10472  }
10473  case Layer_QuantizedLstmLayer: {
10474  auto ptr = reinterpret_cast<const armnnSerializer::QuantizedLstmLayer *>(obj);
10475  return verifier.VerifyTable(ptr);
10476  }
10477  case Layer_QuantizeLayer: {
10478  auto ptr = reinterpret_cast<const armnnSerializer::QuantizeLayer *>(obj);
10479  return verifier.VerifyTable(ptr);
10480  }
10481  case Layer_DequantizeLayer: {
10482  auto ptr = reinterpret_cast<const armnnSerializer::DequantizeLayer *>(obj);
10483  return verifier.VerifyTable(ptr);
10484  }
10485  case Layer_MergeLayer: {
10486  auto ptr = reinterpret_cast<const armnnSerializer::MergeLayer *>(obj);
10487  return verifier.VerifyTable(ptr);
10488  }
10489  case Layer_SwitchLayer: {
10490  auto ptr = reinterpret_cast<const armnnSerializer::SwitchLayer *>(obj);
10491  return verifier.VerifyTable(ptr);
10492  }
10493  case Layer_ConcatLayer: {
10494  auto ptr = reinterpret_cast<const armnnSerializer::ConcatLayer *>(obj);
10495  return verifier.VerifyTable(ptr);
10496  }
10497  case Layer_SpaceToDepthLayer: {
10498  auto ptr = reinterpret_cast<const armnnSerializer::SpaceToDepthLayer *>(obj);
10499  return verifier.VerifyTable(ptr);
10500  }
10501  case Layer_PreluLayer: {
10502  auto ptr = reinterpret_cast<const armnnSerializer::PreluLayer *>(obj);
10503  return verifier.VerifyTable(ptr);
10504  }
10506  auto ptr = reinterpret_cast<const armnnSerializer::TransposeConvolution2dLayer *>(obj);
10507  return verifier.VerifyTable(ptr);
10508  }
10509  case Layer_ResizeLayer: {
10510  auto ptr = reinterpret_cast<const armnnSerializer::ResizeLayer *>(obj);
10511  return verifier.VerifyTable(ptr);
10512  }
10513  case Layer_StackLayer: {
10514  auto ptr = reinterpret_cast<const armnnSerializer::StackLayer *>(obj);
10515  return verifier.VerifyTable(ptr);
10516  }
10517  case Layer_AbsLayer: {
10518  auto ptr = reinterpret_cast<const armnnSerializer::AbsLayer *>(obj);
10519  return verifier.VerifyTable(ptr);
10520  }
10521  case Layer_ArgMinMaxLayer: {
10522  auto ptr = reinterpret_cast<const armnnSerializer::ArgMinMaxLayer *>(obj);
10523  return verifier.VerifyTable(ptr);
10524  }
10525  case Layer_SliceLayer: {
10526  auto ptr = reinterpret_cast<const armnnSerializer::SliceLayer *>(obj);
10527  return verifier.VerifyTable(ptr);
10528  }
10529  case Layer_DepthToSpaceLayer: {
10530  auto ptr = reinterpret_cast<const armnnSerializer::DepthToSpaceLayer *>(obj);
10531  return verifier.VerifyTable(ptr);
10532  }
10534  auto ptr = reinterpret_cast<const armnnSerializer::InstanceNormalizationLayer *>(obj);
10535  return verifier.VerifyTable(ptr);
10536  }
10537  case Layer_LogSoftmaxLayer: {
10538  auto ptr = reinterpret_cast<const armnnSerializer::LogSoftmaxLayer *>(obj);
10539  return verifier.VerifyTable(ptr);
10540  }
10541  case Layer_ComparisonLayer: {
10542  auto ptr = reinterpret_cast<const armnnSerializer::ComparisonLayer *>(obj);
10543  return verifier.VerifyTable(ptr);
10544  }
10545  case Layer_StandInLayer: {
10546  auto ptr = reinterpret_cast<const armnnSerializer::StandInLayer *>(obj);
10547  return verifier.VerifyTable(ptr);
10548  }
10550  auto ptr = reinterpret_cast<const armnnSerializer::ElementwiseUnaryLayer *>(obj);
10551  return verifier.VerifyTable(ptr);
10552  }
10553  case Layer_TransposeLayer: {
10554  auto ptr = reinterpret_cast<const armnnSerializer::TransposeLayer *>(obj);
10555  return verifier.VerifyTable(ptr);
10556  }
10557  case Layer_QLstmLayer: {
10558  auto ptr = reinterpret_cast<const armnnSerializer::QLstmLayer *>(obj);
10559  return verifier.VerifyTable(ptr);
10560  }
10561  case Layer_FillLayer: {
10562  auto ptr = reinterpret_cast<const armnnSerializer::FillLayer *>(obj);
10563  return verifier.VerifyTable(ptr);
10564  }
10565  case Layer_RankLayer: {
10566  auto ptr = reinterpret_cast<const armnnSerializer::RankLayer *>(obj);
10567  return verifier.VerifyTable(ptr);
10568  }
10569  case Layer_LogicalBinaryLayer: {
10570  auto ptr = reinterpret_cast<const armnnSerializer::LogicalBinaryLayer *>(obj);
10571  return verifier.VerifyTable(ptr);
10572  }
10573  case Layer_ReduceLayer: {
10574  auto ptr = reinterpret_cast<const armnnSerializer::ReduceLayer *>(obj);
10575  return verifier.VerifyTable(ptr);
10576  }
10577  case Layer_CastLayer: {
10578  auto ptr = reinterpret_cast<const armnnSerializer::CastLayer *>(obj);
10579  return verifier.VerifyTable(ptr);
10580  }
10581  case Layer_ShapeLayer: {
10582  auto ptr = reinterpret_cast<const armnnSerializer::ShapeLayer *>(obj);
10583  return verifier.VerifyTable(ptr);
10584  }
10586  auto ptr = reinterpret_cast<const armnnSerializer::UnidirectionalSequenceLstmLayer *>(obj);
10587  return verifier.VerifyTable(ptr);
10588  }
10589  default: return true;
10590  }
10591 }
10592 
10593 inline bool VerifyLayerVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types) {
10594  if (!values || !types) return !values && !types;
10595  if (values->size() != types->size()) return false;
10596  for (flatbuffers::uoffset_t i = 0; i < values->size(); ++i) {
10597  if (!VerifyLayer(
10598  verifier, values->Get(i), types->GetEnum<Layer>(i))) {
10599  return false;
10600  }
10601  }
10602  return true;
10603 }
10604 
10605 inline const armnnSerializer::SerializedGraph *GetSerializedGraph(const void *buf) {
10606  return flatbuffers::GetRoot<armnnSerializer::SerializedGraph>(buf);
10607 }
10608 
10609 inline const armnnSerializer::SerializedGraph *GetSizePrefixedSerializedGraph(const void *buf) {
10610  return flatbuffers::GetSizePrefixedRoot<armnnSerializer::SerializedGraph>(buf);
10611 }
10612 
10613 inline const char *SerializedGraphIdentifier() {
10614  return "ARMN";
10615 }
10616 
10617 inline bool SerializedGraphBufferHasIdentifier(const void *buf) {
10618  return flatbuffers::BufferHasIdentifier(
10619  buf, SerializedGraphIdentifier());
10620 }
10621 
10623  flatbuffers::Verifier &verifier) {
10624  return verifier.VerifyBuffer<armnnSerializer::SerializedGraph>(SerializedGraphIdentifier());
10625 }
10626 
10628  flatbuffers::Verifier &verifier) {
10629  return verifier.VerifySizePrefixedBuffer<armnnSerializer::SerializedGraph>(SerializedGraphIdentifier());
10630 }
10631 
10632 inline const char *SerializedGraphExtension() {
10633  return "armnn";
10634 }
10635 
10637  flatbuffers::FlatBufferBuilder &fbb,
10638  flatbuffers::Offset<armnnSerializer::SerializedGraph> root) {
10639  fbb.Finish(root, SerializedGraphIdentifier());
10640 }
10641 
10643  flatbuffers::FlatBufferBuilder &fbb,
10644  flatbuffers::Offset<armnnSerializer::SerializedGraph> root) {
10645  fbb.FinishSizePrefixed(root, SerializedGraphIdentifier());
10646 }
10647 
10648 } // namespace armnnSerializer
10649 
10650 #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< 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)
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
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 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)
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)
flatbuffers::Offset< SoftmaxDescriptor > CreateSoftmaxDescriptor(flatbuffers::FlatBufferBuilder &_fbb, float beta=0.0f)
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()
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)
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()
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 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
const ReduceOperation(& EnumValuesReduceOperation())[4]
flatbuffers::FlatBufferBuilder & fbb_
VT_QUANTIZATIONSCALE
flatbuffers::Offset< ConstantLayer > Finish()
VT_RECURRENTTOOUTPUTWEIGHTS
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)
const ArgMinMaxFunction(& EnumValuesArgMinMaxFunction())[2]
const armnnSerializer::StandInLayer * layer_as_StandInLayer() const
flatbuffers::Offset< PreluLayer > CreatePreluLayer(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< armnnSerializer::LayerBase > base=0)
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
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()
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()
void add_base(flatbuffers::Offset< armnnSerializer::LayerBase > base)
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)
void add_dataLayout(armnnSerializer::DataLayout dataLayout)
flatbuffers::Offset< BatchNormalizationDescriptor > Finish()
flatbuffers::FlatBufferBuilder & fbb_
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
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 DataLayout(& EnumValuesDataLayout())[2]
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
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)
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::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)
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)
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
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 armnnSerializer::DepthToSpaceDescriptor * descriptor() const
CastLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
const armnnSerializer::ConstTensor * projectionWeights() const
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)
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
flatbuffers::Offset< PadDescriptor > CreatePadDescriptor(flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset< flatbuffers::Vector< uint32_t >> padList=0, float padValue=0.0f)
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)
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)
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)
flatbuffers::Offset< ConstTensor > Finish()
flatbuffers::FlatBufferBuilder & fbb_
armnnSerializer::ResizeMethod method() 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
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< 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< 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)
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< 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)
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()
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 Layer(& EnumValuesLayer())[65]
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
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)
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)
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)
const LayerType(& EnumValuesLayerType())[64]
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::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_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)
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
flatbuffers::Offset< PadDescriptor > CreatePadDescriptorDirect(flatbuffers::FlatBufferBuilder &_fbb, const std::vector< uint32_t > *padList=nullptr, float padValue=0.0f)
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()
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)
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::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)