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