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