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