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