1*89c4ff92SAndroid Build Coastguard Worker // automatically generated by the FlatBuffers compiler, do not modify
2*89c4ff92SAndroid Build Coastguard Worker
3*89c4ff92SAndroid Build Coastguard Worker
4*89c4ff92SAndroid Build Coastguard Worker #ifndef FLATBUFFERS_GENERATED_ARMNNSCHEMA_ARMNNSERIALIZER_H_
5*89c4ff92SAndroid Build Coastguard Worker #define FLATBUFFERS_GENERATED_ARMNNSCHEMA_ARMNNSERIALIZER_H_
6*89c4ff92SAndroid Build Coastguard Worker
7*89c4ff92SAndroid Build Coastguard Worker #include "flatbuffers/flatbuffers.h"
8*89c4ff92SAndroid Build Coastguard Worker
9*89c4ff92SAndroid Build Coastguard Worker // Ensure the included flatbuffers.h is the same version as when this file was
10*89c4ff92SAndroid Build Coastguard Worker // generated, otherwise it may not be compatible.
11*89c4ff92SAndroid Build Coastguard Worker static_assert(FLATBUFFERS_VERSION_MAJOR == 2 &&
12*89c4ff92SAndroid Build Coastguard Worker FLATBUFFERS_VERSION_MINOR == 0 &&
13*89c4ff92SAndroid Build Coastguard Worker FLATBUFFERS_VERSION_REVISION == 7,
14*89c4ff92SAndroid Build Coastguard Worker "Non-compatible flatbuffers version included");
15*89c4ff92SAndroid Build Coastguard Worker
16*89c4ff92SAndroid Build Coastguard Worker namespace armnnSerializer {
17*89c4ff92SAndroid Build Coastguard Worker
18*89c4ff92SAndroid Build Coastguard Worker struct TensorInfo;
19*89c4ff92SAndroid Build Coastguard Worker struct TensorInfoBuilder;
20*89c4ff92SAndroid Build Coastguard Worker
21*89c4ff92SAndroid Build Coastguard Worker struct Connection;
22*89c4ff92SAndroid Build Coastguard Worker
23*89c4ff92SAndroid Build Coastguard Worker struct ByteData;
24*89c4ff92SAndroid Build Coastguard Worker struct ByteDataBuilder;
25*89c4ff92SAndroid Build Coastguard Worker
26*89c4ff92SAndroid Build Coastguard Worker struct ShortData;
27*89c4ff92SAndroid Build Coastguard Worker struct ShortDataBuilder;
28*89c4ff92SAndroid Build Coastguard Worker
29*89c4ff92SAndroid Build Coastguard Worker struct IntData;
30*89c4ff92SAndroid Build Coastguard Worker struct IntDataBuilder;
31*89c4ff92SAndroid Build Coastguard Worker
32*89c4ff92SAndroid Build Coastguard Worker struct LongData;
33*89c4ff92SAndroid Build Coastguard Worker struct LongDataBuilder;
34*89c4ff92SAndroid Build Coastguard Worker
35*89c4ff92SAndroid Build Coastguard Worker struct ConstTensor;
36*89c4ff92SAndroid Build Coastguard Worker struct ConstTensorBuilder;
37*89c4ff92SAndroid Build Coastguard Worker
38*89c4ff92SAndroid Build Coastguard Worker struct InputSlot;
39*89c4ff92SAndroid Build Coastguard Worker struct InputSlotBuilder;
40*89c4ff92SAndroid Build Coastguard Worker
41*89c4ff92SAndroid Build Coastguard Worker struct OutputSlot;
42*89c4ff92SAndroid Build Coastguard Worker struct OutputSlotBuilder;
43*89c4ff92SAndroid Build Coastguard Worker
44*89c4ff92SAndroid Build Coastguard Worker struct LayerBase;
45*89c4ff92SAndroid Build Coastguard Worker struct LayerBaseBuilder;
46*89c4ff92SAndroid Build Coastguard Worker
47*89c4ff92SAndroid Build Coastguard Worker struct BindableLayerBase;
48*89c4ff92SAndroid Build Coastguard Worker struct BindableLayerBaseBuilder;
49*89c4ff92SAndroid Build Coastguard Worker
50*89c4ff92SAndroid Build Coastguard Worker struct AbsLayer;
51*89c4ff92SAndroid Build Coastguard Worker struct AbsLayerBuilder;
52*89c4ff92SAndroid Build Coastguard Worker
53*89c4ff92SAndroid Build Coastguard Worker struct ActivationLayer;
54*89c4ff92SAndroid Build Coastguard Worker struct ActivationLayerBuilder;
55*89c4ff92SAndroid Build Coastguard Worker
56*89c4ff92SAndroid Build Coastguard Worker struct ActivationDescriptor;
57*89c4ff92SAndroid Build Coastguard Worker struct ActivationDescriptorBuilder;
58*89c4ff92SAndroid Build Coastguard Worker
59*89c4ff92SAndroid Build Coastguard Worker struct AdditionLayer;
60*89c4ff92SAndroid Build Coastguard Worker struct AdditionLayerBuilder;
61*89c4ff92SAndroid Build Coastguard Worker
62*89c4ff92SAndroid Build Coastguard Worker struct ArgMinMaxLayer;
63*89c4ff92SAndroid Build Coastguard Worker struct ArgMinMaxLayerBuilder;
64*89c4ff92SAndroid Build Coastguard Worker
65*89c4ff92SAndroid Build Coastguard Worker struct ArgMinMaxDescriptor;
66*89c4ff92SAndroid Build Coastguard Worker struct ArgMinMaxDescriptorBuilder;
67*89c4ff92SAndroid Build Coastguard Worker
68*89c4ff92SAndroid Build Coastguard Worker struct CastLayer;
69*89c4ff92SAndroid Build Coastguard Worker struct CastLayerBuilder;
70*89c4ff92SAndroid Build Coastguard Worker
71*89c4ff92SAndroid Build Coastguard Worker struct ChannelShuffleLayer;
72*89c4ff92SAndroid Build Coastguard Worker struct ChannelShuffleLayerBuilder;
73*89c4ff92SAndroid Build Coastguard Worker
74*89c4ff92SAndroid Build Coastguard Worker struct ChannelShuffleDescriptor;
75*89c4ff92SAndroid Build Coastguard Worker struct ChannelShuffleDescriptorBuilder;
76*89c4ff92SAndroid Build Coastguard Worker
77*89c4ff92SAndroid Build Coastguard Worker struct ComparisonDescriptor;
78*89c4ff92SAndroid Build Coastguard Worker struct ComparisonDescriptorBuilder;
79*89c4ff92SAndroid Build Coastguard Worker
80*89c4ff92SAndroid Build Coastguard Worker struct ComparisonLayer;
81*89c4ff92SAndroid Build Coastguard Worker struct ComparisonLayerBuilder;
82*89c4ff92SAndroid Build Coastguard Worker
83*89c4ff92SAndroid Build Coastguard Worker struct ConstantLayer;
84*89c4ff92SAndroid Build Coastguard Worker struct ConstantLayerBuilder;
85*89c4ff92SAndroid Build Coastguard Worker
86*89c4ff92SAndroid Build Coastguard Worker struct Convolution2dLayer;
87*89c4ff92SAndroid Build Coastguard Worker struct Convolution2dLayerBuilder;
88*89c4ff92SAndroid Build Coastguard Worker
89*89c4ff92SAndroid Build Coastguard Worker struct Convolution2dDescriptor;
90*89c4ff92SAndroid Build Coastguard Worker struct Convolution2dDescriptorBuilder;
91*89c4ff92SAndroid Build Coastguard Worker
92*89c4ff92SAndroid Build Coastguard Worker struct Convolution3dLayer;
93*89c4ff92SAndroid Build Coastguard Worker struct Convolution3dLayerBuilder;
94*89c4ff92SAndroid Build Coastguard Worker
95*89c4ff92SAndroid Build Coastguard Worker struct Convolution3dDescriptor;
96*89c4ff92SAndroid Build Coastguard Worker struct Convolution3dDescriptorBuilder;
97*89c4ff92SAndroid Build Coastguard Worker
98*89c4ff92SAndroid Build Coastguard Worker struct DepthToSpaceLayer;
99*89c4ff92SAndroid Build Coastguard Worker struct DepthToSpaceLayerBuilder;
100*89c4ff92SAndroid Build Coastguard Worker
101*89c4ff92SAndroid Build Coastguard Worker struct DepthToSpaceDescriptor;
102*89c4ff92SAndroid Build Coastguard Worker struct DepthToSpaceDescriptorBuilder;
103*89c4ff92SAndroid Build Coastguard Worker
104*89c4ff92SAndroid Build Coastguard Worker struct DivisionLayer;
105*89c4ff92SAndroid Build Coastguard Worker struct DivisionLayerBuilder;
106*89c4ff92SAndroid Build Coastguard Worker
107*89c4ff92SAndroid Build Coastguard Worker struct ElementwiseBinaryDescriptor;
108*89c4ff92SAndroid Build Coastguard Worker struct ElementwiseBinaryDescriptorBuilder;
109*89c4ff92SAndroid Build Coastguard Worker
110*89c4ff92SAndroid Build Coastguard Worker struct ElementwiseBinaryLayer;
111*89c4ff92SAndroid Build Coastguard Worker struct ElementwiseBinaryLayerBuilder;
112*89c4ff92SAndroid Build Coastguard Worker
113*89c4ff92SAndroid Build Coastguard Worker struct ElementwiseUnaryDescriptor;
114*89c4ff92SAndroid Build Coastguard Worker struct ElementwiseUnaryDescriptorBuilder;
115*89c4ff92SAndroid Build Coastguard Worker
116*89c4ff92SAndroid Build Coastguard Worker struct ElementwiseUnaryLayer;
117*89c4ff92SAndroid Build Coastguard Worker struct ElementwiseUnaryLayerBuilder;
118*89c4ff92SAndroid Build Coastguard Worker
119*89c4ff92SAndroid Build Coastguard Worker struct EqualLayer;
120*89c4ff92SAndroid Build Coastguard Worker struct EqualLayerBuilder;
121*89c4ff92SAndroid Build Coastguard Worker
122*89c4ff92SAndroid Build Coastguard Worker struct FillLayer;
123*89c4ff92SAndroid Build Coastguard Worker struct FillLayerBuilder;
124*89c4ff92SAndroid Build Coastguard Worker
125*89c4ff92SAndroid Build Coastguard Worker struct FillDescriptor;
126*89c4ff92SAndroid Build Coastguard Worker struct FillDescriptorBuilder;
127*89c4ff92SAndroid Build Coastguard Worker
128*89c4ff92SAndroid Build Coastguard Worker struct FloorLayer;
129*89c4ff92SAndroid Build Coastguard Worker struct FloorLayerBuilder;
130*89c4ff92SAndroid Build Coastguard Worker
131*89c4ff92SAndroid Build Coastguard Worker struct FullyConnectedLayer;
132*89c4ff92SAndroid Build Coastguard Worker struct FullyConnectedLayerBuilder;
133*89c4ff92SAndroid Build Coastguard Worker
134*89c4ff92SAndroid Build Coastguard Worker struct FullyConnectedDescriptor;
135*89c4ff92SAndroid Build Coastguard Worker struct FullyConnectedDescriptorBuilder;
136*89c4ff92SAndroid Build Coastguard Worker
137*89c4ff92SAndroid Build Coastguard Worker struct GatherLayer;
138*89c4ff92SAndroid Build Coastguard Worker struct GatherLayerBuilder;
139*89c4ff92SAndroid Build Coastguard Worker
140*89c4ff92SAndroid Build Coastguard Worker struct GatherDescriptor;
141*89c4ff92SAndroid Build Coastguard Worker struct GatherDescriptorBuilder;
142*89c4ff92SAndroid Build Coastguard Worker
143*89c4ff92SAndroid Build Coastguard Worker struct GatherNdLayer;
144*89c4ff92SAndroid Build Coastguard Worker struct GatherNdLayerBuilder;
145*89c4ff92SAndroid Build Coastguard Worker
146*89c4ff92SAndroid Build Coastguard Worker struct GreaterLayer;
147*89c4ff92SAndroid Build Coastguard Worker struct GreaterLayerBuilder;
148*89c4ff92SAndroid Build Coastguard Worker
149*89c4ff92SAndroid Build Coastguard Worker struct InputLayer;
150*89c4ff92SAndroid Build Coastguard Worker struct InputLayerBuilder;
151*89c4ff92SAndroid Build Coastguard Worker
152*89c4ff92SAndroid Build Coastguard Worker struct InstanceNormalizationLayer;
153*89c4ff92SAndroid Build Coastguard Worker struct InstanceNormalizationLayerBuilder;
154*89c4ff92SAndroid Build Coastguard Worker
155*89c4ff92SAndroid Build Coastguard Worker struct InstanceNormalizationDescriptor;
156*89c4ff92SAndroid Build Coastguard Worker struct InstanceNormalizationDescriptorBuilder;
157*89c4ff92SAndroid Build Coastguard Worker
158*89c4ff92SAndroid Build Coastguard Worker struct LogSoftmaxLayer;
159*89c4ff92SAndroid Build Coastguard Worker struct LogSoftmaxLayerBuilder;
160*89c4ff92SAndroid Build Coastguard Worker
161*89c4ff92SAndroid Build Coastguard Worker struct LogSoftmaxDescriptor;
162*89c4ff92SAndroid Build Coastguard Worker struct LogSoftmaxDescriptorBuilder;
163*89c4ff92SAndroid Build Coastguard Worker
164*89c4ff92SAndroid Build Coastguard Worker struct L2NormalizationLayer;
165*89c4ff92SAndroid Build Coastguard Worker struct L2NormalizationLayerBuilder;
166*89c4ff92SAndroid Build Coastguard Worker
167*89c4ff92SAndroid Build Coastguard Worker struct L2NormalizationDescriptor;
168*89c4ff92SAndroid Build Coastguard Worker struct L2NormalizationDescriptorBuilder;
169*89c4ff92SAndroid Build Coastguard Worker
170*89c4ff92SAndroid Build Coastguard Worker struct LogicalBinaryDescriptor;
171*89c4ff92SAndroid Build Coastguard Worker struct LogicalBinaryDescriptorBuilder;
172*89c4ff92SAndroid Build Coastguard Worker
173*89c4ff92SAndroid Build Coastguard Worker struct LogicalBinaryLayer;
174*89c4ff92SAndroid Build Coastguard Worker struct LogicalBinaryLayerBuilder;
175*89c4ff92SAndroid Build Coastguard Worker
176*89c4ff92SAndroid Build Coastguard Worker struct MinimumLayer;
177*89c4ff92SAndroid Build Coastguard Worker struct MinimumLayerBuilder;
178*89c4ff92SAndroid Build Coastguard Worker
179*89c4ff92SAndroid Build Coastguard Worker struct MaximumLayer;
180*89c4ff92SAndroid Build Coastguard Worker struct MaximumLayerBuilder;
181*89c4ff92SAndroid Build Coastguard Worker
182*89c4ff92SAndroid Build Coastguard Worker struct MultiplicationLayer;
183*89c4ff92SAndroid Build Coastguard Worker struct MultiplicationLayerBuilder;
184*89c4ff92SAndroid Build Coastguard Worker
185*89c4ff92SAndroid Build Coastguard Worker struct Pooling2dLayer;
186*89c4ff92SAndroid Build Coastguard Worker struct Pooling2dLayerBuilder;
187*89c4ff92SAndroid Build Coastguard Worker
188*89c4ff92SAndroid Build Coastguard Worker struct Pooling3dLayer;
189*89c4ff92SAndroid Build Coastguard Worker struct Pooling3dLayerBuilder;
190*89c4ff92SAndroid Build Coastguard Worker
191*89c4ff92SAndroid Build Coastguard Worker struct Pooling2dDescriptor;
192*89c4ff92SAndroid Build Coastguard Worker struct Pooling2dDescriptorBuilder;
193*89c4ff92SAndroid Build Coastguard Worker
194*89c4ff92SAndroid Build Coastguard Worker struct Pooling3dDescriptor;
195*89c4ff92SAndroid Build Coastguard Worker struct Pooling3dDescriptorBuilder;
196*89c4ff92SAndroid Build Coastguard Worker
197*89c4ff92SAndroid Build Coastguard Worker struct QuantizeLayer;
198*89c4ff92SAndroid Build Coastguard Worker struct QuantizeLayerBuilder;
199*89c4ff92SAndroid Build Coastguard Worker
200*89c4ff92SAndroid Build Coastguard Worker struct SoftmaxLayer;
201*89c4ff92SAndroid Build Coastguard Worker struct SoftmaxLayerBuilder;
202*89c4ff92SAndroid Build Coastguard Worker
203*89c4ff92SAndroid Build Coastguard Worker struct SoftmaxDescriptor;
204*89c4ff92SAndroid Build Coastguard Worker struct SoftmaxDescriptorBuilder;
205*89c4ff92SAndroid Build Coastguard Worker
206*89c4ff92SAndroid Build Coastguard Worker struct DepthwiseConvolution2dLayer;
207*89c4ff92SAndroid Build Coastguard Worker struct DepthwiseConvolution2dLayerBuilder;
208*89c4ff92SAndroid Build Coastguard Worker
209*89c4ff92SAndroid Build Coastguard Worker struct DepthwiseConvolution2dDescriptor;
210*89c4ff92SAndroid Build Coastguard Worker struct DepthwiseConvolution2dDescriptorBuilder;
211*89c4ff92SAndroid Build Coastguard Worker
212*89c4ff92SAndroid Build Coastguard Worker struct OutputLayer;
213*89c4ff92SAndroid Build Coastguard Worker struct OutputLayerBuilder;
214*89c4ff92SAndroid Build Coastguard Worker
215*89c4ff92SAndroid Build Coastguard Worker struct ReshapeLayer;
216*89c4ff92SAndroid Build Coastguard Worker struct ReshapeLayerBuilder;
217*89c4ff92SAndroid Build Coastguard Worker
218*89c4ff92SAndroid Build Coastguard Worker struct ReshapeDescriptor;
219*89c4ff92SAndroid Build Coastguard Worker struct ReshapeDescriptorBuilder;
220*89c4ff92SAndroid Build Coastguard Worker
221*89c4ff92SAndroid Build Coastguard Worker struct PermuteLayer;
222*89c4ff92SAndroid Build Coastguard Worker struct PermuteLayerBuilder;
223*89c4ff92SAndroid Build Coastguard Worker
224*89c4ff92SAndroid Build Coastguard Worker struct PermuteDescriptor;
225*89c4ff92SAndroid Build Coastguard Worker struct PermuteDescriptorBuilder;
226*89c4ff92SAndroid Build Coastguard Worker
227*89c4ff92SAndroid Build Coastguard Worker struct ShapeLayer;
228*89c4ff92SAndroid Build Coastguard Worker struct ShapeLayerBuilder;
229*89c4ff92SAndroid Build Coastguard Worker
230*89c4ff92SAndroid Build Coastguard Worker struct SpaceToBatchNdLayer;
231*89c4ff92SAndroid Build Coastguard Worker struct SpaceToBatchNdLayerBuilder;
232*89c4ff92SAndroid Build Coastguard Worker
233*89c4ff92SAndroid Build Coastguard Worker struct SpaceToBatchNdDescriptor;
234*89c4ff92SAndroid Build Coastguard Worker struct SpaceToBatchNdDescriptorBuilder;
235*89c4ff92SAndroid Build Coastguard Worker
236*89c4ff92SAndroid Build Coastguard Worker struct SpaceToDepthLayer;
237*89c4ff92SAndroid Build Coastguard Worker struct SpaceToDepthLayerBuilder;
238*89c4ff92SAndroid Build Coastguard Worker
239*89c4ff92SAndroid Build Coastguard Worker struct SpaceToDepthDescriptor;
240*89c4ff92SAndroid Build Coastguard Worker struct SpaceToDepthDescriptorBuilder;
241*89c4ff92SAndroid Build Coastguard Worker
242*89c4ff92SAndroid Build Coastguard Worker struct SubtractionLayer;
243*89c4ff92SAndroid Build Coastguard Worker struct SubtractionLayerBuilder;
244*89c4ff92SAndroid Build Coastguard Worker
245*89c4ff92SAndroid Build Coastguard Worker struct BatchToSpaceNdLayer;
246*89c4ff92SAndroid Build Coastguard Worker struct BatchToSpaceNdLayerBuilder;
247*89c4ff92SAndroid Build Coastguard Worker
248*89c4ff92SAndroid Build Coastguard Worker struct BatchToSpaceNdDescriptor;
249*89c4ff92SAndroid Build Coastguard Worker struct BatchToSpaceNdDescriptorBuilder;
250*89c4ff92SAndroid Build Coastguard Worker
251*89c4ff92SAndroid Build Coastguard Worker struct NormalizationLayer;
252*89c4ff92SAndroid Build Coastguard Worker struct NormalizationLayerBuilder;
253*89c4ff92SAndroid Build Coastguard Worker
254*89c4ff92SAndroid Build Coastguard Worker struct NormalizationDescriptor;
255*89c4ff92SAndroid Build Coastguard Worker struct NormalizationDescriptorBuilder;
256*89c4ff92SAndroid Build Coastguard Worker
257*89c4ff92SAndroid Build Coastguard Worker struct MeanLayer;
258*89c4ff92SAndroid Build Coastguard Worker struct MeanLayerBuilder;
259*89c4ff92SAndroid Build Coastguard Worker
260*89c4ff92SAndroid Build Coastguard Worker struct MeanDescriptor;
261*89c4ff92SAndroid Build Coastguard Worker struct MeanDescriptorBuilder;
262*89c4ff92SAndroid Build Coastguard Worker
263*89c4ff92SAndroid Build Coastguard Worker struct PadLayer;
264*89c4ff92SAndroid Build Coastguard Worker struct PadLayerBuilder;
265*89c4ff92SAndroid Build Coastguard Worker
266*89c4ff92SAndroid Build Coastguard Worker struct PadDescriptor;
267*89c4ff92SAndroid Build Coastguard Worker struct PadDescriptorBuilder;
268*89c4ff92SAndroid Build Coastguard Worker
269*89c4ff92SAndroid Build Coastguard Worker struct RsqrtLayer;
270*89c4ff92SAndroid Build Coastguard Worker struct RsqrtLayerBuilder;
271*89c4ff92SAndroid Build Coastguard Worker
272*89c4ff92SAndroid Build Coastguard Worker struct BatchNormalizationLayer;
273*89c4ff92SAndroid Build Coastguard Worker struct BatchNormalizationLayerBuilder;
274*89c4ff92SAndroid Build Coastguard Worker
275*89c4ff92SAndroid Build Coastguard Worker struct BatchNormalizationDescriptor;
276*89c4ff92SAndroid Build Coastguard Worker struct BatchNormalizationDescriptorBuilder;
277*89c4ff92SAndroid Build Coastguard Worker
278*89c4ff92SAndroid Build Coastguard Worker struct ResizeBilinearLayer;
279*89c4ff92SAndroid Build Coastguard Worker struct ResizeBilinearLayerBuilder;
280*89c4ff92SAndroid Build Coastguard Worker
281*89c4ff92SAndroid Build Coastguard Worker struct ResizeBilinearDescriptor;
282*89c4ff92SAndroid Build Coastguard Worker struct ResizeBilinearDescriptorBuilder;
283*89c4ff92SAndroid Build Coastguard Worker
284*89c4ff92SAndroid Build Coastguard Worker struct SliceLayer;
285*89c4ff92SAndroid Build Coastguard Worker struct SliceLayerBuilder;
286*89c4ff92SAndroid Build Coastguard Worker
287*89c4ff92SAndroid Build Coastguard Worker struct SliceDescriptor;
288*89c4ff92SAndroid Build Coastguard Worker struct SliceDescriptorBuilder;
289*89c4ff92SAndroid Build Coastguard Worker
290*89c4ff92SAndroid Build Coastguard Worker struct StridedSliceLayer;
291*89c4ff92SAndroid Build Coastguard Worker struct StridedSliceLayerBuilder;
292*89c4ff92SAndroid Build Coastguard Worker
293*89c4ff92SAndroid Build Coastguard Worker struct StridedSliceDescriptor;
294*89c4ff92SAndroid Build Coastguard Worker struct StridedSliceDescriptorBuilder;
295*89c4ff92SAndroid Build Coastguard Worker
296*89c4ff92SAndroid Build Coastguard Worker struct ConcatLayer;
297*89c4ff92SAndroid Build Coastguard Worker struct ConcatLayerBuilder;
298*89c4ff92SAndroid Build Coastguard Worker
299*89c4ff92SAndroid Build Coastguard Worker struct MergerLayer;
300*89c4ff92SAndroid Build Coastguard Worker struct MergerLayerBuilder;
301*89c4ff92SAndroid Build Coastguard Worker
302*89c4ff92SAndroid Build Coastguard Worker struct UintVector;
303*89c4ff92SAndroid Build Coastguard Worker struct UintVectorBuilder;
304*89c4ff92SAndroid Build Coastguard Worker
305*89c4ff92SAndroid Build Coastguard Worker struct OriginsDescriptor;
306*89c4ff92SAndroid Build Coastguard Worker struct OriginsDescriptorBuilder;
307*89c4ff92SAndroid Build Coastguard Worker
308*89c4ff92SAndroid Build Coastguard Worker struct ViewsDescriptor;
309*89c4ff92SAndroid Build Coastguard Worker struct ViewsDescriptorBuilder;
310*89c4ff92SAndroid Build Coastguard Worker
311*89c4ff92SAndroid Build Coastguard Worker struct SplitterLayer;
312*89c4ff92SAndroid Build Coastguard Worker struct SplitterLayerBuilder;
313*89c4ff92SAndroid Build Coastguard Worker
314*89c4ff92SAndroid Build Coastguard Worker struct DetectionPostProcessLayer;
315*89c4ff92SAndroid Build Coastguard Worker struct DetectionPostProcessLayerBuilder;
316*89c4ff92SAndroid Build Coastguard Worker
317*89c4ff92SAndroid Build Coastguard Worker struct DetectionPostProcessDescriptor;
318*89c4ff92SAndroid Build Coastguard Worker struct DetectionPostProcessDescriptorBuilder;
319*89c4ff92SAndroid Build Coastguard Worker
320*89c4ff92SAndroid Build Coastguard Worker struct LstmInputParams;
321*89c4ff92SAndroid Build Coastguard Worker struct LstmInputParamsBuilder;
322*89c4ff92SAndroid Build Coastguard Worker
323*89c4ff92SAndroid Build Coastguard Worker struct LstmDescriptor;
324*89c4ff92SAndroid Build Coastguard Worker struct LstmDescriptorBuilder;
325*89c4ff92SAndroid Build Coastguard Worker
326*89c4ff92SAndroid Build Coastguard Worker struct LstmLayer;
327*89c4ff92SAndroid Build Coastguard Worker struct LstmLayerBuilder;
328*89c4ff92SAndroid Build Coastguard Worker
329*89c4ff92SAndroid Build Coastguard Worker struct QLstmInputParams;
330*89c4ff92SAndroid Build Coastguard Worker struct QLstmInputParamsBuilder;
331*89c4ff92SAndroid Build Coastguard Worker
332*89c4ff92SAndroid Build Coastguard Worker struct QLstmDescriptor;
333*89c4ff92SAndroid Build Coastguard Worker struct QLstmDescriptorBuilder;
334*89c4ff92SAndroid Build Coastguard Worker
335*89c4ff92SAndroid Build Coastguard Worker struct QLstmLayer;
336*89c4ff92SAndroid Build Coastguard Worker struct QLstmLayerBuilder;
337*89c4ff92SAndroid Build Coastguard Worker
338*89c4ff92SAndroid Build Coastguard Worker struct QuantizedLstmInputParams;
339*89c4ff92SAndroid Build Coastguard Worker struct QuantizedLstmInputParamsBuilder;
340*89c4ff92SAndroid Build Coastguard Worker
341*89c4ff92SAndroid Build Coastguard Worker struct QuantizedLstmLayer;
342*89c4ff92SAndroid Build Coastguard Worker struct QuantizedLstmLayerBuilder;
343*89c4ff92SAndroid Build Coastguard Worker
344*89c4ff92SAndroid Build Coastguard Worker struct DequantizeLayer;
345*89c4ff92SAndroid Build Coastguard Worker struct DequantizeLayerBuilder;
346*89c4ff92SAndroid Build Coastguard Worker
347*89c4ff92SAndroid Build Coastguard Worker struct MergeLayer;
348*89c4ff92SAndroid Build Coastguard Worker struct MergeLayerBuilder;
349*89c4ff92SAndroid Build Coastguard Worker
350*89c4ff92SAndroid Build Coastguard Worker struct SwitchLayer;
351*89c4ff92SAndroid Build Coastguard Worker struct SwitchLayerBuilder;
352*89c4ff92SAndroid Build Coastguard Worker
353*89c4ff92SAndroid Build Coastguard Worker struct PreluLayer;
354*89c4ff92SAndroid Build Coastguard Worker struct PreluLayerBuilder;
355*89c4ff92SAndroid Build Coastguard Worker
356*89c4ff92SAndroid Build Coastguard Worker struct TransposeConvolution2dLayer;
357*89c4ff92SAndroid Build Coastguard Worker struct TransposeConvolution2dLayerBuilder;
358*89c4ff92SAndroid Build Coastguard Worker
359*89c4ff92SAndroid Build Coastguard Worker struct TransposeConvolution2dDescriptor;
360*89c4ff92SAndroid Build Coastguard Worker struct TransposeConvolution2dDescriptorBuilder;
361*89c4ff92SAndroid Build Coastguard Worker
362*89c4ff92SAndroid Build Coastguard Worker struct TransposeLayer;
363*89c4ff92SAndroid Build Coastguard Worker struct TransposeLayerBuilder;
364*89c4ff92SAndroid Build Coastguard Worker
365*89c4ff92SAndroid Build Coastguard Worker struct TransposeDescriptor;
366*89c4ff92SAndroid Build Coastguard Worker struct TransposeDescriptorBuilder;
367*89c4ff92SAndroid Build Coastguard Worker
368*89c4ff92SAndroid Build Coastguard Worker struct ResizeLayer;
369*89c4ff92SAndroid Build Coastguard Worker struct ResizeLayerBuilder;
370*89c4ff92SAndroid Build Coastguard Worker
371*89c4ff92SAndroid Build Coastguard Worker struct ResizeDescriptor;
372*89c4ff92SAndroid Build Coastguard Worker struct ResizeDescriptorBuilder;
373*89c4ff92SAndroid Build Coastguard Worker
374*89c4ff92SAndroid Build Coastguard Worker struct StackLayer;
375*89c4ff92SAndroid Build Coastguard Worker struct StackLayerBuilder;
376*89c4ff92SAndroid Build Coastguard Worker
377*89c4ff92SAndroid Build Coastguard Worker struct StackDescriptor;
378*89c4ff92SAndroid Build Coastguard Worker struct StackDescriptorBuilder;
379*89c4ff92SAndroid Build Coastguard Worker
380*89c4ff92SAndroid Build Coastguard Worker struct StandInDescriptor;
381*89c4ff92SAndroid Build Coastguard Worker struct StandInDescriptorBuilder;
382*89c4ff92SAndroid Build Coastguard Worker
383*89c4ff92SAndroid Build Coastguard Worker struct StandInLayer;
384*89c4ff92SAndroid Build Coastguard Worker struct StandInLayerBuilder;
385*89c4ff92SAndroid Build Coastguard Worker
386*89c4ff92SAndroid Build Coastguard Worker struct RankLayer;
387*89c4ff92SAndroid Build Coastguard Worker struct RankLayerBuilder;
388*89c4ff92SAndroid Build Coastguard Worker
389*89c4ff92SAndroid Build Coastguard Worker struct ReduceLayer;
390*89c4ff92SAndroid Build Coastguard Worker struct ReduceLayerBuilder;
391*89c4ff92SAndroid Build Coastguard Worker
392*89c4ff92SAndroid Build Coastguard Worker struct ReduceDescriptor;
393*89c4ff92SAndroid Build Coastguard Worker struct ReduceDescriptorBuilder;
394*89c4ff92SAndroid Build Coastguard Worker
395*89c4ff92SAndroid Build Coastguard Worker struct UnidirectionalSequenceLstmDescriptor;
396*89c4ff92SAndroid Build Coastguard Worker struct UnidirectionalSequenceLstmDescriptorBuilder;
397*89c4ff92SAndroid Build Coastguard Worker
398*89c4ff92SAndroid Build Coastguard Worker struct UnidirectionalSequenceLstmLayer;
399*89c4ff92SAndroid Build Coastguard Worker struct UnidirectionalSequenceLstmLayerBuilder;
400*89c4ff92SAndroid Build Coastguard Worker
401*89c4ff92SAndroid Build Coastguard Worker struct BatchMatMulDescriptor;
402*89c4ff92SAndroid Build Coastguard Worker struct BatchMatMulDescriptorBuilder;
403*89c4ff92SAndroid Build Coastguard Worker
404*89c4ff92SAndroid Build Coastguard Worker struct BatchMatMulLayer;
405*89c4ff92SAndroid Build Coastguard Worker struct BatchMatMulLayerBuilder;
406*89c4ff92SAndroid Build Coastguard Worker
407*89c4ff92SAndroid Build Coastguard Worker struct AnyLayer;
408*89c4ff92SAndroid Build Coastguard Worker struct AnyLayerBuilder;
409*89c4ff92SAndroid Build Coastguard Worker
410*89c4ff92SAndroid Build Coastguard Worker struct FeatureCompatibilityVersions;
411*89c4ff92SAndroid Build Coastguard Worker struct FeatureCompatibilityVersionsBuilder;
412*89c4ff92SAndroid Build Coastguard Worker
413*89c4ff92SAndroid Build Coastguard Worker struct SerializedGraph;
414*89c4ff92SAndroid Build Coastguard Worker struct SerializedGraphBuilder;
415*89c4ff92SAndroid Build Coastguard Worker
416*89c4ff92SAndroid Build Coastguard Worker enum ActivationFunction : int8_t {
417*89c4ff92SAndroid Build Coastguard Worker ActivationFunction_Sigmoid = 0,
418*89c4ff92SAndroid Build Coastguard Worker ActivationFunction_TanH = 1,
419*89c4ff92SAndroid Build Coastguard Worker ActivationFunction_Linear = 2,
420*89c4ff92SAndroid Build Coastguard Worker ActivationFunction_ReLu = 3,
421*89c4ff92SAndroid Build Coastguard Worker ActivationFunction_BoundedReLu = 4,
422*89c4ff92SAndroid Build Coastguard Worker ActivationFunction_SoftReLu = 5,
423*89c4ff92SAndroid Build Coastguard Worker ActivationFunction_LeakyReLu = 6,
424*89c4ff92SAndroid Build Coastguard Worker ActivationFunction_Abs = 7,
425*89c4ff92SAndroid Build Coastguard Worker ActivationFunction_Sqrt = 8,
426*89c4ff92SAndroid Build Coastguard Worker ActivationFunction_Square = 9,
427*89c4ff92SAndroid Build Coastguard Worker ActivationFunction_Elu = 10,
428*89c4ff92SAndroid Build Coastguard Worker ActivationFunction_HardSwish = 11,
429*89c4ff92SAndroid Build Coastguard Worker ActivationFunction_MIN = ActivationFunction_Sigmoid,
430*89c4ff92SAndroid Build Coastguard Worker ActivationFunction_MAX = ActivationFunction_HardSwish
431*89c4ff92SAndroid Build Coastguard Worker };
432*89c4ff92SAndroid Build Coastguard Worker
EnumValuesActivationFunction()433*89c4ff92SAndroid Build Coastguard Worker inline const ActivationFunction (&EnumValuesActivationFunction())[12] {
434*89c4ff92SAndroid Build Coastguard Worker static const ActivationFunction values[] = {
435*89c4ff92SAndroid Build Coastguard Worker ActivationFunction_Sigmoid,
436*89c4ff92SAndroid Build Coastguard Worker ActivationFunction_TanH,
437*89c4ff92SAndroid Build Coastguard Worker ActivationFunction_Linear,
438*89c4ff92SAndroid Build Coastguard Worker ActivationFunction_ReLu,
439*89c4ff92SAndroid Build Coastguard Worker ActivationFunction_BoundedReLu,
440*89c4ff92SAndroid Build Coastguard Worker ActivationFunction_SoftReLu,
441*89c4ff92SAndroid Build Coastguard Worker ActivationFunction_LeakyReLu,
442*89c4ff92SAndroid Build Coastguard Worker ActivationFunction_Abs,
443*89c4ff92SAndroid Build Coastguard Worker ActivationFunction_Sqrt,
444*89c4ff92SAndroid Build Coastguard Worker ActivationFunction_Square,
445*89c4ff92SAndroid Build Coastguard Worker ActivationFunction_Elu,
446*89c4ff92SAndroid Build Coastguard Worker ActivationFunction_HardSwish
447*89c4ff92SAndroid Build Coastguard Worker };
448*89c4ff92SAndroid Build Coastguard Worker return values;
449*89c4ff92SAndroid Build Coastguard Worker }
450*89c4ff92SAndroid Build Coastguard Worker
EnumNamesActivationFunction()451*89c4ff92SAndroid Build Coastguard Worker inline const char * const *EnumNamesActivationFunction() {
452*89c4ff92SAndroid Build Coastguard Worker static const char * const names[13] = {
453*89c4ff92SAndroid Build Coastguard Worker "Sigmoid",
454*89c4ff92SAndroid Build Coastguard Worker "TanH",
455*89c4ff92SAndroid Build Coastguard Worker "Linear",
456*89c4ff92SAndroid Build Coastguard Worker "ReLu",
457*89c4ff92SAndroid Build Coastguard Worker "BoundedReLu",
458*89c4ff92SAndroid Build Coastguard Worker "SoftReLu",
459*89c4ff92SAndroid Build Coastguard Worker "LeakyReLu",
460*89c4ff92SAndroid Build Coastguard Worker "Abs",
461*89c4ff92SAndroid Build Coastguard Worker "Sqrt",
462*89c4ff92SAndroid Build Coastguard Worker "Square",
463*89c4ff92SAndroid Build Coastguard Worker "Elu",
464*89c4ff92SAndroid Build Coastguard Worker "HardSwish",
465*89c4ff92SAndroid Build Coastguard Worker nullptr
466*89c4ff92SAndroid Build Coastguard Worker };
467*89c4ff92SAndroid Build Coastguard Worker return names;
468*89c4ff92SAndroid Build Coastguard Worker }
469*89c4ff92SAndroid Build Coastguard Worker
EnumNameActivationFunction(ActivationFunction e)470*89c4ff92SAndroid Build Coastguard Worker inline const char *EnumNameActivationFunction(ActivationFunction e) {
471*89c4ff92SAndroid Build Coastguard Worker if (flatbuffers::IsOutRange(e, ActivationFunction_Sigmoid, ActivationFunction_HardSwish)) return "";
472*89c4ff92SAndroid Build Coastguard Worker const size_t index = static_cast<size_t>(e);
473*89c4ff92SAndroid Build Coastguard Worker return EnumNamesActivationFunction()[index];
474*89c4ff92SAndroid Build Coastguard Worker }
475*89c4ff92SAndroid Build Coastguard Worker
476*89c4ff92SAndroid Build Coastguard Worker enum ArgMinMaxFunction : int8_t {
477*89c4ff92SAndroid Build Coastguard Worker ArgMinMaxFunction_Min = 0,
478*89c4ff92SAndroid Build Coastguard Worker ArgMinMaxFunction_Max = 1,
479*89c4ff92SAndroid Build Coastguard Worker ArgMinMaxFunction_MIN = ArgMinMaxFunction_Min,
480*89c4ff92SAndroid Build Coastguard Worker ArgMinMaxFunction_MAX = ArgMinMaxFunction_Max
481*89c4ff92SAndroid Build Coastguard Worker };
482*89c4ff92SAndroid Build Coastguard Worker
EnumValuesArgMinMaxFunction()483*89c4ff92SAndroid Build Coastguard Worker inline const ArgMinMaxFunction (&EnumValuesArgMinMaxFunction())[2] {
484*89c4ff92SAndroid Build Coastguard Worker static const ArgMinMaxFunction values[] = {
485*89c4ff92SAndroid Build Coastguard Worker ArgMinMaxFunction_Min,
486*89c4ff92SAndroid Build Coastguard Worker ArgMinMaxFunction_Max
487*89c4ff92SAndroid Build Coastguard Worker };
488*89c4ff92SAndroid Build Coastguard Worker return values;
489*89c4ff92SAndroid Build Coastguard Worker }
490*89c4ff92SAndroid Build Coastguard Worker
EnumNamesArgMinMaxFunction()491*89c4ff92SAndroid Build Coastguard Worker inline const char * const *EnumNamesArgMinMaxFunction() {
492*89c4ff92SAndroid Build Coastguard Worker static const char * const names[3] = {
493*89c4ff92SAndroid Build Coastguard Worker "Min",
494*89c4ff92SAndroid Build Coastguard Worker "Max",
495*89c4ff92SAndroid Build Coastguard Worker nullptr
496*89c4ff92SAndroid Build Coastguard Worker };
497*89c4ff92SAndroid Build Coastguard Worker return names;
498*89c4ff92SAndroid Build Coastguard Worker }
499*89c4ff92SAndroid Build Coastguard Worker
EnumNameArgMinMaxFunction(ArgMinMaxFunction e)500*89c4ff92SAndroid Build Coastguard Worker inline const char *EnumNameArgMinMaxFunction(ArgMinMaxFunction e) {
501*89c4ff92SAndroid Build Coastguard Worker if (flatbuffers::IsOutRange(e, ArgMinMaxFunction_Min, ArgMinMaxFunction_Max)) return "";
502*89c4ff92SAndroid Build Coastguard Worker const size_t index = static_cast<size_t>(e);
503*89c4ff92SAndroid Build Coastguard Worker return EnumNamesArgMinMaxFunction()[index];
504*89c4ff92SAndroid Build Coastguard Worker }
505*89c4ff92SAndroid Build Coastguard Worker
506*89c4ff92SAndroid Build Coastguard Worker enum DataType : int8_t {
507*89c4ff92SAndroid Build Coastguard Worker DataType_Float16 = 0,
508*89c4ff92SAndroid Build Coastguard Worker DataType_Float32 = 1,
509*89c4ff92SAndroid Build Coastguard Worker DataType_QuantisedAsymm8 = 2,
510*89c4ff92SAndroid Build Coastguard Worker DataType_Signed32 = 3,
511*89c4ff92SAndroid Build Coastguard Worker DataType_Boolean = 4,
512*89c4ff92SAndroid Build Coastguard Worker DataType_QuantisedSymm16 = 5,
513*89c4ff92SAndroid Build Coastguard Worker DataType_QAsymmU8 = 6,
514*89c4ff92SAndroid Build Coastguard Worker DataType_QSymmS16 = 7,
515*89c4ff92SAndroid Build Coastguard Worker DataType_QAsymmS8 = 8,
516*89c4ff92SAndroid Build Coastguard Worker DataType_QSymmS8 = 9,
517*89c4ff92SAndroid Build Coastguard Worker DataType_Signed64 = 10,
518*89c4ff92SAndroid Build Coastguard Worker DataType_MIN = DataType_Float16,
519*89c4ff92SAndroid Build Coastguard Worker DataType_MAX = DataType_Signed64
520*89c4ff92SAndroid Build Coastguard Worker };
521*89c4ff92SAndroid Build Coastguard Worker
EnumValuesDataType()522*89c4ff92SAndroid Build Coastguard Worker inline const DataType (&EnumValuesDataType())[11] {
523*89c4ff92SAndroid Build Coastguard Worker static const DataType values[] = {
524*89c4ff92SAndroid Build Coastguard Worker DataType_Float16,
525*89c4ff92SAndroid Build Coastguard Worker DataType_Float32,
526*89c4ff92SAndroid Build Coastguard Worker DataType_QuantisedAsymm8,
527*89c4ff92SAndroid Build Coastguard Worker DataType_Signed32,
528*89c4ff92SAndroid Build Coastguard Worker DataType_Boolean,
529*89c4ff92SAndroid Build Coastguard Worker DataType_QuantisedSymm16,
530*89c4ff92SAndroid Build Coastguard Worker DataType_QAsymmU8,
531*89c4ff92SAndroid Build Coastguard Worker DataType_QSymmS16,
532*89c4ff92SAndroid Build Coastguard Worker DataType_QAsymmS8,
533*89c4ff92SAndroid Build Coastguard Worker DataType_QSymmS8,
534*89c4ff92SAndroid Build Coastguard Worker DataType_Signed64
535*89c4ff92SAndroid Build Coastguard Worker };
536*89c4ff92SAndroid Build Coastguard Worker return values;
537*89c4ff92SAndroid Build Coastguard Worker }
538*89c4ff92SAndroid Build Coastguard Worker
EnumNamesDataType()539*89c4ff92SAndroid Build Coastguard Worker inline const char * const *EnumNamesDataType() {
540*89c4ff92SAndroid Build Coastguard Worker static const char * const names[12] = {
541*89c4ff92SAndroid Build Coastguard Worker "Float16",
542*89c4ff92SAndroid Build Coastguard Worker "Float32",
543*89c4ff92SAndroid Build Coastguard Worker "QuantisedAsymm8",
544*89c4ff92SAndroid Build Coastguard Worker "Signed32",
545*89c4ff92SAndroid Build Coastguard Worker "Boolean",
546*89c4ff92SAndroid Build Coastguard Worker "QuantisedSymm16",
547*89c4ff92SAndroid Build Coastguard Worker "QAsymmU8",
548*89c4ff92SAndroid Build Coastguard Worker "QSymmS16",
549*89c4ff92SAndroid Build Coastguard Worker "QAsymmS8",
550*89c4ff92SAndroid Build Coastguard Worker "QSymmS8",
551*89c4ff92SAndroid Build Coastguard Worker "Signed64",
552*89c4ff92SAndroid Build Coastguard Worker nullptr
553*89c4ff92SAndroid Build Coastguard Worker };
554*89c4ff92SAndroid Build Coastguard Worker return names;
555*89c4ff92SAndroid Build Coastguard Worker }
556*89c4ff92SAndroid Build Coastguard Worker
EnumNameDataType(DataType e)557*89c4ff92SAndroid Build Coastguard Worker inline const char *EnumNameDataType(DataType e) {
558*89c4ff92SAndroid Build Coastguard Worker if (flatbuffers::IsOutRange(e, DataType_Float16, DataType_Signed64)) return "";
559*89c4ff92SAndroid Build Coastguard Worker const size_t index = static_cast<size_t>(e);
560*89c4ff92SAndroid Build Coastguard Worker return EnumNamesDataType()[index];
561*89c4ff92SAndroid Build Coastguard Worker }
562*89c4ff92SAndroid Build Coastguard Worker
563*89c4ff92SAndroid Build Coastguard Worker enum DataLayout : int8_t {
564*89c4ff92SAndroid Build Coastguard Worker DataLayout_NHWC = 0,
565*89c4ff92SAndroid Build Coastguard Worker DataLayout_NCHW = 1,
566*89c4ff92SAndroid Build Coastguard Worker DataLayout_NDHWC = 2,
567*89c4ff92SAndroid Build Coastguard Worker DataLayout_NCDHW = 3,
568*89c4ff92SAndroid Build Coastguard Worker DataLayout_MIN = DataLayout_NHWC,
569*89c4ff92SAndroid Build Coastguard Worker DataLayout_MAX = DataLayout_NCDHW
570*89c4ff92SAndroid Build Coastguard Worker };
571*89c4ff92SAndroid Build Coastguard Worker
EnumValuesDataLayout()572*89c4ff92SAndroid Build Coastguard Worker inline const DataLayout (&EnumValuesDataLayout())[4] {
573*89c4ff92SAndroid Build Coastguard Worker static const DataLayout values[] = {
574*89c4ff92SAndroid Build Coastguard Worker DataLayout_NHWC,
575*89c4ff92SAndroid Build Coastguard Worker DataLayout_NCHW,
576*89c4ff92SAndroid Build Coastguard Worker DataLayout_NDHWC,
577*89c4ff92SAndroid Build Coastguard Worker DataLayout_NCDHW
578*89c4ff92SAndroid Build Coastguard Worker };
579*89c4ff92SAndroid Build Coastguard Worker return values;
580*89c4ff92SAndroid Build Coastguard Worker }
581*89c4ff92SAndroid Build Coastguard Worker
EnumNamesDataLayout()582*89c4ff92SAndroid Build Coastguard Worker inline const char * const *EnumNamesDataLayout() {
583*89c4ff92SAndroid Build Coastguard Worker static const char * const names[5] = {
584*89c4ff92SAndroid Build Coastguard Worker "NHWC",
585*89c4ff92SAndroid Build Coastguard Worker "NCHW",
586*89c4ff92SAndroid Build Coastguard Worker "NDHWC",
587*89c4ff92SAndroid Build Coastguard Worker "NCDHW",
588*89c4ff92SAndroid Build Coastguard Worker nullptr
589*89c4ff92SAndroid Build Coastguard Worker };
590*89c4ff92SAndroid Build Coastguard Worker return names;
591*89c4ff92SAndroid Build Coastguard Worker }
592*89c4ff92SAndroid Build Coastguard Worker
EnumNameDataLayout(DataLayout e)593*89c4ff92SAndroid Build Coastguard Worker inline const char *EnumNameDataLayout(DataLayout e) {
594*89c4ff92SAndroid Build Coastguard Worker if (flatbuffers::IsOutRange(e, DataLayout_NHWC, DataLayout_NCDHW)) return "";
595*89c4ff92SAndroid Build Coastguard Worker const size_t index = static_cast<size_t>(e);
596*89c4ff92SAndroid Build Coastguard Worker return EnumNamesDataLayout()[index];
597*89c4ff92SAndroid Build Coastguard Worker }
598*89c4ff92SAndroid Build Coastguard Worker
599*89c4ff92SAndroid Build Coastguard Worker enum ReduceOperation : int8_t {
600*89c4ff92SAndroid Build Coastguard Worker ReduceOperation_Sum = 0,
601*89c4ff92SAndroid Build Coastguard Worker ReduceOperation_Max = 1,
602*89c4ff92SAndroid Build Coastguard Worker ReduceOperation_Mean = 2,
603*89c4ff92SAndroid Build Coastguard Worker ReduceOperation_Min = 3,
604*89c4ff92SAndroid Build Coastguard Worker ReduceOperation_Prod = 4,
605*89c4ff92SAndroid Build Coastguard Worker ReduceOperation_MIN = ReduceOperation_Sum,
606*89c4ff92SAndroid Build Coastguard Worker ReduceOperation_MAX = ReduceOperation_Prod
607*89c4ff92SAndroid Build Coastguard Worker };
608*89c4ff92SAndroid Build Coastguard Worker
EnumValuesReduceOperation()609*89c4ff92SAndroid Build Coastguard Worker inline const ReduceOperation (&EnumValuesReduceOperation())[5] {
610*89c4ff92SAndroid Build Coastguard Worker static const ReduceOperation values[] = {
611*89c4ff92SAndroid Build Coastguard Worker ReduceOperation_Sum,
612*89c4ff92SAndroid Build Coastguard Worker ReduceOperation_Max,
613*89c4ff92SAndroid Build Coastguard Worker ReduceOperation_Mean,
614*89c4ff92SAndroid Build Coastguard Worker ReduceOperation_Min,
615*89c4ff92SAndroid Build Coastguard Worker ReduceOperation_Prod
616*89c4ff92SAndroid Build Coastguard Worker };
617*89c4ff92SAndroid Build Coastguard Worker return values;
618*89c4ff92SAndroid Build Coastguard Worker }
619*89c4ff92SAndroid Build Coastguard Worker
EnumNamesReduceOperation()620*89c4ff92SAndroid Build Coastguard Worker inline const char * const *EnumNamesReduceOperation() {
621*89c4ff92SAndroid Build Coastguard Worker static const char * const names[6] = {
622*89c4ff92SAndroid Build Coastguard Worker "Sum",
623*89c4ff92SAndroid Build Coastguard Worker "Max",
624*89c4ff92SAndroid Build Coastguard Worker "Mean",
625*89c4ff92SAndroid Build Coastguard Worker "Min",
626*89c4ff92SAndroid Build Coastguard Worker "Prod",
627*89c4ff92SAndroid Build Coastguard Worker nullptr
628*89c4ff92SAndroid Build Coastguard Worker };
629*89c4ff92SAndroid Build Coastguard Worker return names;
630*89c4ff92SAndroid Build Coastguard Worker }
631*89c4ff92SAndroid Build Coastguard Worker
EnumNameReduceOperation(ReduceOperation e)632*89c4ff92SAndroid Build Coastguard Worker inline const char *EnumNameReduceOperation(ReduceOperation e) {
633*89c4ff92SAndroid Build Coastguard Worker if (flatbuffers::IsOutRange(e, ReduceOperation_Sum, ReduceOperation_Prod)) return "";
634*89c4ff92SAndroid Build Coastguard Worker const size_t index = static_cast<size_t>(e);
635*89c4ff92SAndroid Build Coastguard Worker return EnumNamesReduceOperation()[index];
636*89c4ff92SAndroid Build Coastguard Worker }
637*89c4ff92SAndroid Build Coastguard Worker
638*89c4ff92SAndroid Build Coastguard Worker enum ResizeMethod : int8_t {
639*89c4ff92SAndroid Build Coastguard Worker ResizeMethod_NearestNeighbor = 0,
640*89c4ff92SAndroid Build Coastguard Worker ResizeMethod_Bilinear = 1,
641*89c4ff92SAndroid Build Coastguard Worker ResizeMethod_MIN = ResizeMethod_NearestNeighbor,
642*89c4ff92SAndroid Build Coastguard Worker ResizeMethod_MAX = ResizeMethod_Bilinear
643*89c4ff92SAndroid Build Coastguard Worker };
644*89c4ff92SAndroid Build Coastguard Worker
EnumValuesResizeMethod()645*89c4ff92SAndroid Build Coastguard Worker inline const ResizeMethod (&EnumValuesResizeMethod())[2] {
646*89c4ff92SAndroid Build Coastguard Worker static const ResizeMethod values[] = {
647*89c4ff92SAndroid Build Coastguard Worker ResizeMethod_NearestNeighbor,
648*89c4ff92SAndroid Build Coastguard Worker ResizeMethod_Bilinear
649*89c4ff92SAndroid Build Coastguard Worker };
650*89c4ff92SAndroid Build Coastguard Worker return values;
651*89c4ff92SAndroid Build Coastguard Worker }
652*89c4ff92SAndroid Build Coastguard Worker
EnumNamesResizeMethod()653*89c4ff92SAndroid Build Coastguard Worker inline const char * const *EnumNamesResizeMethod() {
654*89c4ff92SAndroid Build Coastguard Worker static const char * const names[3] = {
655*89c4ff92SAndroid Build Coastguard Worker "NearestNeighbor",
656*89c4ff92SAndroid Build Coastguard Worker "Bilinear",
657*89c4ff92SAndroid Build Coastguard Worker nullptr
658*89c4ff92SAndroid Build Coastguard Worker };
659*89c4ff92SAndroid Build Coastguard Worker return names;
660*89c4ff92SAndroid Build Coastguard Worker }
661*89c4ff92SAndroid Build Coastguard Worker
EnumNameResizeMethod(ResizeMethod e)662*89c4ff92SAndroid Build Coastguard Worker inline const char *EnumNameResizeMethod(ResizeMethod e) {
663*89c4ff92SAndroid Build Coastguard Worker if (flatbuffers::IsOutRange(e, ResizeMethod_NearestNeighbor, ResizeMethod_Bilinear)) return "";
664*89c4ff92SAndroid Build Coastguard Worker const size_t index = static_cast<size_t>(e);
665*89c4ff92SAndroid Build Coastguard Worker return EnumNamesResizeMethod()[index];
666*89c4ff92SAndroid Build Coastguard Worker }
667*89c4ff92SAndroid Build Coastguard Worker
668*89c4ff92SAndroid Build Coastguard Worker enum ConstTensorData : uint8_t {
669*89c4ff92SAndroid Build Coastguard Worker ConstTensorData_NONE = 0,
670*89c4ff92SAndroid Build Coastguard Worker ConstTensorData_ByteData = 1,
671*89c4ff92SAndroid Build Coastguard Worker ConstTensorData_ShortData = 2,
672*89c4ff92SAndroid Build Coastguard Worker ConstTensorData_IntData = 3,
673*89c4ff92SAndroid Build Coastguard Worker ConstTensorData_LongData = 4,
674*89c4ff92SAndroid Build Coastguard Worker ConstTensorData_MIN = ConstTensorData_NONE,
675*89c4ff92SAndroid Build Coastguard Worker ConstTensorData_MAX = ConstTensorData_LongData
676*89c4ff92SAndroid Build Coastguard Worker };
677*89c4ff92SAndroid Build Coastguard Worker
EnumValuesConstTensorData()678*89c4ff92SAndroid Build Coastguard Worker inline const ConstTensorData (&EnumValuesConstTensorData())[5] {
679*89c4ff92SAndroid Build Coastguard Worker static const ConstTensorData values[] = {
680*89c4ff92SAndroid Build Coastguard Worker ConstTensorData_NONE,
681*89c4ff92SAndroid Build Coastguard Worker ConstTensorData_ByteData,
682*89c4ff92SAndroid Build Coastguard Worker ConstTensorData_ShortData,
683*89c4ff92SAndroid Build Coastguard Worker ConstTensorData_IntData,
684*89c4ff92SAndroid Build Coastguard Worker ConstTensorData_LongData
685*89c4ff92SAndroid Build Coastguard Worker };
686*89c4ff92SAndroid Build Coastguard Worker return values;
687*89c4ff92SAndroid Build Coastguard Worker }
688*89c4ff92SAndroid Build Coastguard Worker
EnumNamesConstTensorData()689*89c4ff92SAndroid Build Coastguard Worker inline const char * const *EnumNamesConstTensorData() {
690*89c4ff92SAndroid Build Coastguard Worker static const char * const names[6] = {
691*89c4ff92SAndroid Build Coastguard Worker "NONE",
692*89c4ff92SAndroid Build Coastguard Worker "ByteData",
693*89c4ff92SAndroid Build Coastguard Worker "ShortData",
694*89c4ff92SAndroid Build Coastguard Worker "IntData",
695*89c4ff92SAndroid Build Coastguard Worker "LongData",
696*89c4ff92SAndroid Build Coastguard Worker nullptr
697*89c4ff92SAndroid Build Coastguard Worker };
698*89c4ff92SAndroid Build Coastguard Worker return names;
699*89c4ff92SAndroid Build Coastguard Worker }
700*89c4ff92SAndroid Build Coastguard Worker
EnumNameConstTensorData(ConstTensorData e)701*89c4ff92SAndroid Build Coastguard Worker inline const char *EnumNameConstTensorData(ConstTensorData e) {
702*89c4ff92SAndroid Build Coastguard Worker if (flatbuffers::IsOutRange(e, ConstTensorData_NONE, ConstTensorData_LongData)) return "";
703*89c4ff92SAndroid Build Coastguard Worker const size_t index = static_cast<size_t>(e);
704*89c4ff92SAndroid Build Coastguard Worker return EnumNamesConstTensorData()[index];
705*89c4ff92SAndroid Build Coastguard Worker }
706*89c4ff92SAndroid Build Coastguard Worker
707*89c4ff92SAndroid Build Coastguard Worker template<typename T> struct ConstTensorDataTraits {
708*89c4ff92SAndroid Build Coastguard Worker static const ConstTensorData enum_value = ConstTensorData_NONE;
709*89c4ff92SAndroid Build Coastguard Worker };
710*89c4ff92SAndroid Build Coastguard Worker
711*89c4ff92SAndroid Build Coastguard Worker template<> struct ConstTensorDataTraits<armnnSerializer::ByteData> {
712*89c4ff92SAndroid Build Coastguard Worker static const ConstTensorData enum_value = ConstTensorData_ByteData;
713*89c4ff92SAndroid Build Coastguard Worker };
714*89c4ff92SAndroid Build Coastguard Worker
715*89c4ff92SAndroid Build Coastguard Worker template<> struct ConstTensorDataTraits<armnnSerializer::ShortData> {
716*89c4ff92SAndroid Build Coastguard Worker static const ConstTensorData enum_value = ConstTensorData_ShortData;
717*89c4ff92SAndroid Build Coastguard Worker };
718*89c4ff92SAndroid Build Coastguard Worker
719*89c4ff92SAndroid Build Coastguard Worker template<> struct ConstTensorDataTraits<armnnSerializer::IntData> {
720*89c4ff92SAndroid Build Coastguard Worker static const ConstTensorData enum_value = ConstTensorData_IntData;
721*89c4ff92SAndroid Build Coastguard Worker };
722*89c4ff92SAndroid Build Coastguard Worker
723*89c4ff92SAndroid Build Coastguard Worker template<> struct ConstTensorDataTraits<armnnSerializer::LongData> {
724*89c4ff92SAndroid Build Coastguard Worker static const ConstTensorData enum_value = ConstTensorData_LongData;
725*89c4ff92SAndroid Build Coastguard Worker };
726*89c4ff92SAndroid Build Coastguard Worker
727*89c4ff92SAndroid Build Coastguard Worker bool VerifyConstTensorData(flatbuffers::Verifier &verifier, const void *obj, ConstTensorData type);
728*89c4ff92SAndroid Build Coastguard Worker bool VerifyConstTensorDataVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types);
729*89c4ff92SAndroid Build Coastguard Worker
730*89c4ff92SAndroid Build Coastguard Worker enum LayerType : uint32_t {
731*89c4ff92SAndroid Build Coastguard Worker LayerType_Addition = 0,
732*89c4ff92SAndroid Build Coastguard Worker LayerType_Input = 1,
733*89c4ff92SAndroid Build Coastguard Worker LayerType_Multiplication = 2,
734*89c4ff92SAndroid Build Coastguard Worker LayerType_Output = 3,
735*89c4ff92SAndroid Build Coastguard Worker LayerType_Pooling2d = 4,
736*89c4ff92SAndroid Build Coastguard Worker LayerType_Reshape = 5,
737*89c4ff92SAndroid Build Coastguard Worker LayerType_Softmax = 6,
738*89c4ff92SAndroid Build Coastguard Worker LayerType_Convolution2d = 7,
739*89c4ff92SAndroid Build Coastguard Worker LayerType_DepthwiseConvolution2d = 8,
740*89c4ff92SAndroid Build Coastguard Worker LayerType_Activation = 9,
741*89c4ff92SAndroid Build Coastguard Worker LayerType_Permute = 10,
742*89c4ff92SAndroid Build Coastguard Worker LayerType_FullyConnected = 11,
743*89c4ff92SAndroid Build Coastguard Worker LayerType_Constant = 12,
744*89c4ff92SAndroid Build Coastguard Worker LayerType_SpaceToBatchNd = 13,
745*89c4ff92SAndroid Build Coastguard Worker LayerType_BatchToSpaceNd = 14,
746*89c4ff92SAndroid Build Coastguard Worker LayerType_Division = 15,
747*89c4ff92SAndroid Build Coastguard Worker LayerType_Minimum = 16,
748*89c4ff92SAndroid Build Coastguard Worker LayerType_Equal = 17,
749*89c4ff92SAndroid Build Coastguard Worker LayerType_Maximum = 18,
750*89c4ff92SAndroid Build Coastguard Worker LayerType_Normalization = 19,
751*89c4ff92SAndroid Build Coastguard Worker LayerType_Pad = 20,
752*89c4ff92SAndroid Build Coastguard Worker LayerType_Rsqrt = 21,
753*89c4ff92SAndroid Build Coastguard Worker LayerType_Floor = 22,
754*89c4ff92SAndroid Build Coastguard Worker LayerType_BatchNormalization = 23,
755*89c4ff92SAndroid Build Coastguard Worker LayerType_Greater = 24,
756*89c4ff92SAndroid Build Coastguard Worker LayerType_ResizeBilinear = 25,
757*89c4ff92SAndroid Build Coastguard Worker LayerType_Subtraction = 26,
758*89c4ff92SAndroid Build Coastguard Worker LayerType_StridedSlice = 27,
759*89c4ff92SAndroid Build Coastguard Worker LayerType_Gather = 28,
760*89c4ff92SAndroid Build Coastguard Worker LayerType_Mean = 29,
761*89c4ff92SAndroid Build Coastguard Worker LayerType_Merger = 30,
762*89c4ff92SAndroid Build Coastguard Worker LayerType_L2Normalization = 31,
763*89c4ff92SAndroid Build Coastguard Worker LayerType_Splitter = 32,
764*89c4ff92SAndroid Build Coastguard Worker LayerType_DetectionPostProcess = 33,
765*89c4ff92SAndroid Build Coastguard Worker LayerType_Lstm = 34,
766*89c4ff92SAndroid Build Coastguard Worker LayerType_Quantize = 35,
767*89c4ff92SAndroid Build Coastguard Worker LayerType_Dequantize = 36,
768*89c4ff92SAndroid Build Coastguard Worker LayerType_Merge = 37,
769*89c4ff92SAndroid Build Coastguard Worker LayerType_Switch = 38,
770*89c4ff92SAndroid Build Coastguard Worker LayerType_Concat = 39,
771*89c4ff92SAndroid Build Coastguard Worker LayerType_SpaceToDepth = 40,
772*89c4ff92SAndroid Build Coastguard Worker LayerType_Prelu = 41,
773*89c4ff92SAndroid Build Coastguard Worker LayerType_TransposeConvolution2d = 42,
774*89c4ff92SAndroid Build Coastguard Worker LayerType_Resize = 43,
775*89c4ff92SAndroid Build Coastguard Worker LayerType_Stack = 44,
776*89c4ff92SAndroid Build Coastguard Worker LayerType_QuantizedLstm = 45,
777*89c4ff92SAndroid Build Coastguard Worker LayerType_Abs = 46,
778*89c4ff92SAndroid Build Coastguard Worker LayerType_ArgMinMax = 47,
779*89c4ff92SAndroid Build Coastguard Worker LayerType_Slice = 48,
780*89c4ff92SAndroid Build Coastguard Worker LayerType_DepthToSpace = 49,
781*89c4ff92SAndroid Build Coastguard Worker LayerType_InstanceNormalization = 50,
782*89c4ff92SAndroid Build Coastguard Worker LayerType_LogSoftmax = 51,
783*89c4ff92SAndroid Build Coastguard Worker LayerType_Comparison = 52,
784*89c4ff92SAndroid Build Coastguard Worker LayerType_StandIn = 53,
785*89c4ff92SAndroid Build Coastguard Worker LayerType_ElementwiseUnary = 54,
786*89c4ff92SAndroid Build Coastguard Worker LayerType_Transpose = 55,
787*89c4ff92SAndroid Build Coastguard Worker LayerType_QLstm = 56,
788*89c4ff92SAndroid Build Coastguard Worker LayerType_Fill = 57,
789*89c4ff92SAndroid Build Coastguard Worker LayerType_Rank = 58,
790*89c4ff92SAndroid Build Coastguard Worker LayerType_LogicalBinary = 59,
791*89c4ff92SAndroid Build Coastguard Worker LayerType_Reduce = 60,
792*89c4ff92SAndroid Build Coastguard Worker LayerType_Cast = 61,
793*89c4ff92SAndroid Build Coastguard Worker LayerType_Shape = 62,
794*89c4ff92SAndroid Build Coastguard Worker LayerType_UnidirectionalSequenceLstm = 63,
795*89c4ff92SAndroid Build Coastguard Worker LayerType_ChannelShuffle = 64,
796*89c4ff92SAndroid Build Coastguard Worker LayerType_Convolution3d = 65,
797*89c4ff92SAndroid Build Coastguard Worker LayerType_Pooling3d = 66,
798*89c4ff92SAndroid Build Coastguard Worker LayerType_GatherNd = 67,
799*89c4ff92SAndroid Build Coastguard Worker LayerType_BatchMatMul = 68,
800*89c4ff92SAndroid Build Coastguard Worker LayerType_ElementwiseBinary = 69,
801*89c4ff92SAndroid Build Coastguard Worker LayerType_MIN = LayerType_Addition,
802*89c4ff92SAndroid Build Coastguard Worker LayerType_MAX = LayerType_ElementwiseBinary
803*89c4ff92SAndroid Build Coastguard Worker };
804*89c4ff92SAndroid Build Coastguard Worker
805*89c4ff92SAndroid Build Coastguard Worker inline const LayerType (&EnumValuesLayerType())[70] {
806*89c4ff92SAndroid Build Coastguard Worker static const LayerType values[] = {
807*89c4ff92SAndroid Build Coastguard Worker LayerType_Addition,
808*89c4ff92SAndroid Build Coastguard Worker LayerType_Input,
809*89c4ff92SAndroid Build Coastguard Worker LayerType_Multiplication,
810*89c4ff92SAndroid Build Coastguard Worker LayerType_Output,
811*89c4ff92SAndroid Build Coastguard Worker LayerType_Pooling2d,
812*89c4ff92SAndroid Build Coastguard Worker LayerType_Reshape,
813*89c4ff92SAndroid Build Coastguard Worker LayerType_Softmax,
814*89c4ff92SAndroid Build Coastguard Worker LayerType_Convolution2d,
815*89c4ff92SAndroid Build Coastguard Worker LayerType_DepthwiseConvolution2d,
816*89c4ff92SAndroid Build Coastguard Worker LayerType_Activation,
817*89c4ff92SAndroid Build Coastguard Worker LayerType_Permute,
818*89c4ff92SAndroid Build Coastguard Worker LayerType_FullyConnected,
819*89c4ff92SAndroid Build Coastguard Worker LayerType_Constant,
820*89c4ff92SAndroid Build Coastguard Worker LayerType_SpaceToBatchNd,
821*89c4ff92SAndroid Build Coastguard Worker LayerType_BatchToSpaceNd,
822*89c4ff92SAndroid Build Coastguard Worker LayerType_Division,
823*89c4ff92SAndroid Build Coastguard Worker LayerType_Minimum,
824*89c4ff92SAndroid Build Coastguard Worker LayerType_Equal,
825*89c4ff92SAndroid Build Coastguard Worker LayerType_Maximum,
826*89c4ff92SAndroid Build Coastguard Worker LayerType_Normalization,
827*89c4ff92SAndroid Build Coastguard Worker LayerType_Pad,
828*89c4ff92SAndroid Build Coastguard Worker LayerType_Rsqrt,
829*89c4ff92SAndroid Build Coastguard Worker LayerType_Floor,
830*89c4ff92SAndroid Build Coastguard Worker LayerType_BatchNormalization,
831*89c4ff92SAndroid Build Coastguard Worker LayerType_Greater,
832*89c4ff92SAndroid Build Coastguard Worker LayerType_ResizeBilinear,
833*89c4ff92SAndroid Build Coastguard Worker LayerType_Subtraction,
834*89c4ff92SAndroid Build Coastguard Worker LayerType_StridedSlice,
835*89c4ff92SAndroid Build Coastguard Worker LayerType_Gather,
836*89c4ff92SAndroid Build Coastguard Worker LayerType_Mean,
837*89c4ff92SAndroid Build Coastguard Worker LayerType_Merger,
838*89c4ff92SAndroid Build Coastguard Worker LayerType_L2Normalization,
839*89c4ff92SAndroid Build Coastguard Worker LayerType_Splitter,
840*89c4ff92SAndroid Build Coastguard Worker LayerType_DetectionPostProcess,
841*89c4ff92SAndroid Build Coastguard Worker LayerType_Lstm,
842*89c4ff92SAndroid Build Coastguard Worker LayerType_Quantize,
843*89c4ff92SAndroid Build Coastguard Worker LayerType_Dequantize,
844*89c4ff92SAndroid Build Coastguard Worker LayerType_Merge,
845*89c4ff92SAndroid Build Coastguard Worker LayerType_Switch,
846*89c4ff92SAndroid Build Coastguard Worker LayerType_Concat,
847*89c4ff92SAndroid Build Coastguard Worker LayerType_SpaceToDepth,
848*89c4ff92SAndroid Build Coastguard Worker LayerType_Prelu,
849*89c4ff92SAndroid Build Coastguard Worker LayerType_TransposeConvolution2d,
850*89c4ff92SAndroid Build Coastguard Worker LayerType_Resize,
851*89c4ff92SAndroid Build Coastguard Worker LayerType_Stack,
852*89c4ff92SAndroid Build Coastguard Worker LayerType_QuantizedLstm,
853*89c4ff92SAndroid Build Coastguard Worker LayerType_Abs,
854*89c4ff92SAndroid Build Coastguard Worker LayerType_ArgMinMax,
855*89c4ff92SAndroid Build Coastguard Worker LayerType_Slice,
856*89c4ff92SAndroid Build Coastguard Worker LayerType_DepthToSpace,
857*89c4ff92SAndroid Build Coastguard Worker LayerType_InstanceNormalization,
858*89c4ff92SAndroid Build Coastguard Worker LayerType_LogSoftmax,
859*89c4ff92SAndroid Build Coastguard Worker LayerType_Comparison,
860*89c4ff92SAndroid Build Coastguard Worker LayerType_StandIn,
861*89c4ff92SAndroid Build Coastguard Worker LayerType_ElementwiseUnary,
862*89c4ff92SAndroid Build Coastguard Worker LayerType_Transpose,
863*89c4ff92SAndroid Build Coastguard Worker LayerType_QLstm,
864*89c4ff92SAndroid Build Coastguard Worker LayerType_Fill,
865*89c4ff92SAndroid Build Coastguard Worker LayerType_Rank,
866*89c4ff92SAndroid Build Coastguard Worker LayerType_LogicalBinary,
867*89c4ff92SAndroid Build Coastguard Worker LayerType_Reduce,
868*89c4ff92SAndroid Build Coastguard Worker LayerType_Cast,
869*89c4ff92SAndroid Build Coastguard Worker LayerType_Shape,
870*89c4ff92SAndroid Build Coastguard Worker LayerType_UnidirectionalSequenceLstm,
871*89c4ff92SAndroid Build Coastguard Worker LayerType_ChannelShuffle,
872*89c4ff92SAndroid Build Coastguard Worker LayerType_Convolution3d,
873*89c4ff92SAndroid Build Coastguard Worker LayerType_Pooling3d,
874*89c4ff92SAndroid Build Coastguard Worker LayerType_GatherNd,
875*89c4ff92SAndroid Build Coastguard Worker LayerType_BatchMatMul,
876*89c4ff92SAndroid Build Coastguard Worker LayerType_ElementwiseBinary
877*89c4ff92SAndroid Build Coastguard Worker };
878*89c4ff92SAndroid Build Coastguard Worker return values;
879*89c4ff92SAndroid Build Coastguard Worker }
880*89c4ff92SAndroid Build Coastguard Worker
881*89c4ff92SAndroid Build Coastguard Worker inline const char * const *EnumNamesLayerType() {
882*89c4ff92SAndroid Build Coastguard Worker static const char * const names[71] = {
883*89c4ff92SAndroid Build Coastguard Worker "Addition",
884*89c4ff92SAndroid Build Coastguard Worker "Input",
885*89c4ff92SAndroid Build Coastguard Worker "Multiplication",
886*89c4ff92SAndroid Build Coastguard Worker "Output",
887*89c4ff92SAndroid Build Coastguard Worker "Pooling2d",
888*89c4ff92SAndroid Build Coastguard Worker "Reshape",
889*89c4ff92SAndroid Build Coastguard Worker "Softmax",
890*89c4ff92SAndroid Build Coastguard Worker "Convolution2d",
891*89c4ff92SAndroid Build Coastguard Worker "DepthwiseConvolution2d",
892*89c4ff92SAndroid Build Coastguard Worker "Activation",
893*89c4ff92SAndroid Build Coastguard Worker "Permute",
894*89c4ff92SAndroid Build Coastguard Worker "FullyConnected",
895*89c4ff92SAndroid Build Coastguard Worker "Constant",
896*89c4ff92SAndroid Build Coastguard Worker "SpaceToBatchNd",
897*89c4ff92SAndroid Build Coastguard Worker "BatchToSpaceNd",
898*89c4ff92SAndroid Build Coastguard Worker "Division",
899*89c4ff92SAndroid Build Coastguard Worker "Minimum",
900*89c4ff92SAndroid Build Coastguard Worker "Equal",
901*89c4ff92SAndroid Build Coastguard Worker "Maximum",
902*89c4ff92SAndroid Build Coastguard Worker "Normalization",
903*89c4ff92SAndroid Build Coastguard Worker "Pad",
904*89c4ff92SAndroid Build Coastguard Worker "Rsqrt",
905*89c4ff92SAndroid Build Coastguard Worker "Floor",
906*89c4ff92SAndroid Build Coastguard Worker "BatchNormalization",
907*89c4ff92SAndroid Build Coastguard Worker "Greater",
908*89c4ff92SAndroid Build Coastguard Worker "ResizeBilinear",
909*89c4ff92SAndroid Build Coastguard Worker "Subtraction",
910*89c4ff92SAndroid Build Coastguard Worker "StridedSlice",
911*89c4ff92SAndroid Build Coastguard Worker "Gather",
912*89c4ff92SAndroid Build Coastguard Worker "Mean",
913*89c4ff92SAndroid Build Coastguard Worker "Merger",
914*89c4ff92SAndroid Build Coastguard Worker "L2Normalization",
915*89c4ff92SAndroid Build Coastguard Worker "Splitter",
916*89c4ff92SAndroid Build Coastguard Worker "DetectionPostProcess",
917*89c4ff92SAndroid Build Coastguard Worker "Lstm",
918*89c4ff92SAndroid Build Coastguard Worker "Quantize",
919*89c4ff92SAndroid Build Coastguard Worker "Dequantize",
920*89c4ff92SAndroid Build Coastguard Worker "Merge",
921*89c4ff92SAndroid Build Coastguard Worker "Switch",
922*89c4ff92SAndroid Build Coastguard Worker "Concat",
923*89c4ff92SAndroid Build Coastguard Worker "SpaceToDepth",
924*89c4ff92SAndroid Build Coastguard Worker "Prelu",
925*89c4ff92SAndroid Build Coastguard Worker "TransposeConvolution2d",
926*89c4ff92SAndroid Build Coastguard Worker "Resize",
927*89c4ff92SAndroid Build Coastguard Worker "Stack",
928*89c4ff92SAndroid Build Coastguard Worker "QuantizedLstm",
929*89c4ff92SAndroid Build Coastguard Worker "Abs",
930*89c4ff92SAndroid Build Coastguard Worker "ArgMinMax",
931*89c4ff92SAndroid Build Coastguard Worker "Slice",
932*89c4ff92SAndroid Build Coastguard Worker "DepthToSpace",
933*89c4ff92SAndroid Build Coastguard Worker "InstanceNormalization",
934*89c4ff92SAndroid Build Coastguard Worker "LogSoftmax",
935*89c4ff92SAndroid Build Coastguard Worker "Comparison",
936*89c4ff92SAndroid Build Coastguard Worker "StandIn",
937*89c4ff92SAndroid Build Coastguard Worker "ElementwiseUnary",
938*89c4ff92SAndroid Build Coastguard Worker "Transpose",
939*89c4ff92SAndroid Build Coastguard Worker "QLstm",
940*89c4ff92SAndroid Build Coastguard Worker "Fill",
941*89c4ff92SAndroid Build Coastguard Worker "Rank",
942*89c4ff92SAndroid Build Coastguard Worker "LogicalBinary",
943*89c4ff92SAndroid Build Coastguard Worker "Reduce",
944*89c4ff92SAndroid Build Coastguard Worker "Cast",
945*89c4ff92SAndroid Build Coastguard Worker "Shape",
946*89c4ff92SAndroid Build Coastguard Worker "UnidirectionalSequenceLstm",
947*89c4ff92SAndroid Build Coastguard Worker "ChannelShuffle",
948*89c4ff92SAndroid Build Coastguard Worker "Convolution3d",
949*89c4ff92SAndroid Build Coastguard Worker "Pooling3d",
950*89c4ff92SAndroid Build Coastguard Worker "GatherNd",
951*89c4ff92SAndroid Build Coastguard Worker "BatchMatMul",
952*89c4ff92SAndroid Build Coastguard Worker "ElementwiseBinary",
953*89c4ff92SAndroid Build Coastguard Worker nullptr
954*89c4ff92SAndroid Build Coastguard Worker };
955*89c4ff92SAndroid Build Coastguard Worker return names;
956*89c4ff92SAndroid Build Coastguard Worker }
957*89c4ff92SAndroid Build Coastguard Worker
958*89c4ff92SAndroid Build Coastguard Worker inline const char *EnumNameLayerType(LayerType e) {
959*89c4ff92SAndroid Build Coastguard Worker if (flatbuffers::IsOutRange(e, LayerType_Addition, LayerType_ElementwiseBinary)) return "";
960*89c4ff92SAndroid Build Coastguard Worker const size_t index = static_cast<size_t>(e);
961*89c4ff92SAndroid Build Coastguard Worker return EnumNamesLayerType()[index];
962*89c4ff92SAndroid Build Coastguard Worker }
963*89c4ff92SAndroid Build Coastguard Worker
964*89c4ff92SAndroid Build Coastguard Worker enum ComparisonOperation : int8_t {
965*89c4ff92SAndroid Build Coastguard Worker ComparisonOperation_Equal = 0,
966*89c4ff92SAndroid Build Coastguard Worker ComparisonOperation_Greater = 1,
967*89c4ff92SAndroid Build Coastguard Worker ComparisonOperation_GreaterOrEqual = 2,
968*89c4ff92SAndroid Build Coastguard Worker ComparisonOperation_Less = 3,
969*89c4ff92SAndroid Build Coastguard Worker ComparisonOperation_LessOrEqual = 4,
970*89c4ff92SAndroid Build Coastguard Worker ComparisonOperation_NotEqual = 5,
971*89c4ff92SAndroid Build Coastguard Worker ComparisonOperation_MIN = ComparisonOperation_Equal,
972*89c4ff92SAndroid Build Coastguard Worker ComparisonOperation_MAX = ComparisonOperation_NotEqual
973*89c4ff92SAndroid Build Coastguard Worker };
974*89c4ff92SAndroid Build Coastguard Worker
975*89c4ff92SAndroid Build Coastguard Worker inline const ComparisonOperation (&EnumValuesComparisonOperation())[6] {
976*89c4ff92SAndroid Build Coastguard Worker static const ComparisonOperation values[] = {
977*89c4ff92SAndroid Build Coastguard Worker ComparisonOperation_Equal,
978*89c4ff92SAndroid Build Coastguard Worker ComparisonOperation_Greater,
979*89c4ff92SAndroid Build Coastguard Worker ComparisonOperation_GreaterOrEqual,
980*89c4ff92SAndroid Build Coastguard Worker ComparisonOperation_Less,
981*89c4ff92SAndroid Build Coastguard Worker ComparisonOperation_LessOrEqual,
982*89c4ff92SAndroid Build Coastguard Worker ComparisonOperation_NotEqual
983*89c4ff92SAndroid Build Coastguard Worker };
984*89c4ff92SAndroid Build Coastguard Worker return values;
985*89c4ff92SAndroid Build Coastguard Worker }
986*89c4ff92SAndroid Build Coastguard Worker
987*89c4ff92SAndroid Build Coastguard Worker inline const char * const *EnumNamesComparisonOperation() {
988*89c4ff92SAndroid Build Coastguard Worker static const char * const names[7] = {
989*89c4ff92SAndroid Build Coastguard Worker "Equal",
990*89c4ff92SAndroid Build Coastguard Worker "Greater",
991*89c4ff92SAndroid Build Coastguard Worker "GreaterOrEqual",
992*89c4ff92SAndroid Build Coastguard Worker "Less",
993*89c4ff92SAndroid Build Coastguard Worker "LessOrEqual",
994*89c4ff92SAndroid Build Coastguard Worker "NotEqual",
995*89c4ff92SAndroid Build Coastguard Worker nullptr
996*89c4ff92SAndroid Build Coastguard Worker };
997*89c4ff92SAndroid Build Coastguard Worker return names;
998*89c4ff92SAndroid Build Coastguard Worker }
999*89c4ff92SAndroid Build Coastguard Worker
1000*89c4ff92SAndroid Build Coastguard Worker inline const char *EnumNameComparisonOperation(ComparisonOperation e) {
1001*89c4ff92SAndroid Build Coastguard Worker if (flatbuffers::IsOutRange(e, ComparisonOperation_Equal, ComparisonOperation_NotEqual)) return "";
1002*89c4ff92SAndroid Build Coastguard Worker const size_t index = static_cast<size_t>(e);
1003*89c4ff92SAndroid Build Coastguard Worker return EnumNamesComparisonOperation()[index];
1004*89c4ff92SAndroid Build Coastguard Worker }
1005*89c4ff92SAndroid Build Coastguard Worker
1006*89c4ff92SAndroid Build Coastguard Worker enum BinaryOperation : int8_t {
1007*89c4ff92SAndroid Build Coastguard Worker BinaryOperation_Add = 0,
1008*89c4ff92SAndroid Build Coastguard Worker BinaryOperation_Div = 1,
1009*89c4ff92SAndroid Build Coastguard Worker BinaryOperation_Maximum = 2,
1010*89c4ff92SAndroid Build Coastguard Worker BinaryOperation_Minimum = 3,
1011*89c4ff92SAndroid Build Coastguard Worker BinaryOperation_Mul = 4,
1012*89c4ff92SAndroid Build Coastguard Worker BinaryOperation_Sub = 5,
1013*89c4ff92SAndroid Build Coastguard Worker BinaryOperation_MIN = BinaryOperation_Add,
1014*89c4ff92SAndroid Build Coastguard Worker BinaryOperation_MAX = BinaryOperation_Sub
1015*89c4ff92SAndroid Build Coastguard Worker };
1016*89c4ff92SAndroid Build Coastguard Worker
1017*89c4ff92SAndroid Build Coastguard Worker inline const BinaryOperation (&EnumValuesBinaryOperation())[6] {
1018*89c4ff92SAndroid Build Coastguard Worker static const BinaryOperation values[] = {
1019*89c4ff92SAndroid Build Coastguard Worker BinaryOperation_Add,
1020*89c4ff92SAndroid Build Coastguard Worker BinaryOperation_Div,
1021*89c4ff92SAndroid Build Coastguard Worker BinaryOperation_Maximum,
1022*89c4ff92SAndroid Build Coastguard Worker BinaryOperation_Minimum,
1023*89c4ff92SAndroid Build Coastguard Worker BinaryOperation_Mul,
1024*89c4ff92SAndroid Build Coastguard Worker BinaryOperation_Sub
1025*89c4ff92SAndroid Build Coastguard Worker };
1026*89c4ff92SAndroid Build Coastguard Worker return values;
1027*89c4ff92SAndroid Build Coastguard Worker }
1028*89c4ff92SAndroid Build Coastguard Worker
1029*89c4ff92SAndroid Build Coastguard Worker inline const char * const *EnumNamesBinaryOperation() {
1030*89c4ff92SAndroid Build Coastguard Worker static const char * const names[7] = {
1031*89c4ff92SAndroid Build Coastguard Worker "Add",
1032*89c4ff92SAndroid Build Coastguard Worker "Div",
1033*89c4ff92SAndroid Build Coastguard Worker "Maximum",
1034*89c4ff92SAndroid Build Coastguard Worker "Minimum",
1035*89c4ff92SAndroid Build Coastguard Worker "Mul",
1036*89c4ff92SAndroid Build Coastguard Worker "Sub",
1037*89c4ff92SAndroid Build Coastguard Worker nullptr
1038*89c4ff92SAndroid Build Coastguard Worker };
1039*89c4ff92SAndroid Build Coastguard Worker return names;
1040*89c4ff92SAndroid Build Coastguard Worker }
1041*89c4ff92SAndroid Build Coastguard Worker
1042*89c4ff92SAndroid Build Coastguard Worker inline const char *EnumNameBinaryOperation(BinaryOperation e) {
1043*89c4ff92SAndroid Build Coastguard Worker if (flatbuffers::IsOutRange(e, BinaryOperation_Add, BinaryOperation_Sub)) return "";
1044*89c4ff92SAndroid Build Coastguard Worker const size_t index = static_cast<size_t>(e);
1045*89c4ff92SAndroid Build Coastguard Worker return EnumNamesBinaryOperation()[index];
1046*89c4ff92SAndroid Build Coastguard Worker }
1047*89c4ff92SAndroid Build Coastguard Worker
1048*89c4ff92SAndroid Build Coastguard Worker enum UnaryOperation : int8_t {
1049*89c4ff92SAndroid Build Coastguard Worker UnaryOperation_Abs = 0,
1050*89c4ff92SAndroid Build Coastguard Worker UnaryOperation_Rsqrt = 1,
1051*89c4ff92SAndroid Build Coastguard Worker UnaryOperation_Sqrt = 2,
1052*89c4ff92SAndroid Build Coastguard Worker UnaryOperation_Exp = 3,
1053*89c4ff92SAndroid Build Coastguard Worker UnaryOperation_Neg = 4,
1054*89c4ff92SAndroid Build Coastguard Worker UnaryOperation_LogicalNot = 5,
1055*89c4ff92SAndroid Build Coastguard Worker UnaryOperation_Log = 6,
1056*89c4ff92SAndroid Build Coastguard Worker UnaryOperation_Sin = 7,
1057*89c4ff92SAndroid Build Coastguard Worker UnaryOperation_Ceil = 8,
1058*89c4ff92SAndroid Build Coastguard Worker UnaryOperation_MIN = UnaryOperation_Abs,
1059*89c4ff92SAndroid Build Coastguard Worker UnaryOperation_MAX = UnaryOperation_Ceil
1060*89c4ff92SAndroid Build Coastguard Worker };
1061*89c4ff92SAndroid Build Coastguard Worker
1062*89c4ff92SAndroid Build Coastguard Worker inline const UnaryOperation (&EnumValuesUnaryOperation())[9] {
1063*89c4ff92SAndroid Build Coastguard Worker static const UnaryOperation values[] = {
1064*89c4ff92SAndroid Build Coastguard Worker UnaryOperation_Abs,
1065*89c4ff92SAndroid Build Coastguard Worker UnaryOperation_Rsqrt,
1066*89c4ff92SAndroid Build Coastguard Worker UnaryOperation_Sqrt,
1067*89c4ff92SAndroid Build Coastguard Worker UnaryOperation_Exp,
1068*89c4ff92SAndroid Build Coastguard Worker UnaryOperation_Neg,
1069*89c4ff92SAndroid Build Coastguard Worker UnaryOperation_LogicalNot,
1070*89c4ff92SAndroid Build Coastguard Worker UnaryOperation_Log,
1071*89c4ff92SAndroid Build Coastguard Worker UnaryOperation_Sin,
1072*89c4ff92SAndroid Build Coastguard Worker UnaryOperation_Ceil
1073*89c4ff92SAndroid Build Coastguard Worker };
1074*89c4ff92SAndroid Build Coastguard Worker return values;
1075*89c4ff92SAndroid Build Coastguard Worker }
1076*89c4ff92SAndroid Build Coastguard Worker
1077*89c4ff92SAndroid Build Coastguard Worker inline const char * const *EnumNamesUnaryOperation() {
1078*89c4ff92SAndroid Build Coastguard Worker static const char * const names[10] = {
1079*89c4ff92SAndroid Build Coastguard Worker "Abs",
1080*89c4ff92SAndroid Build Coastguard Worker "Rsqrt",
1081*89c4ff92SAndroid Build Coastguard Worker "Sqrt",
1082*89c4ff92SAndroid Build Coastguard Worker "Exp",
1083*89c4ff92SAndroid Build Coastguard Worker "Neg",
1084*89c4ff92SAndroid Build Coastguard Worker "LogicalNot",
1085*89c4ff92SAndroid Build Coastguard Worker "Log",
1086*89c4ff92SAndroid Build Coastguard Worker "Sin",
1087*89c4ff92SAndroid Build Coastguard Worker "Ceil",
1088*89c4ff92SAndroid Build Coastguard Worker nullptr
1089*89c4ff92SAndroid Build Coastguard Worker };
1090*89c4ff92SAndroid Build Coastguard Worker return names;
1091*89c4ff92SAndroid Build Coastguard Worker }
1092*89c4ff92SAndroid Build Coastguard Worker
1093*89c4ff92SAndroid Build Coastguard Worker inline const char *EnumNameUnaryOperation(UnaryOperation e) {
1094*89c4ff92SAndroid Build Coastguard Worker if (flatbuffers::IsOutRange(e, UnaryOperation_Abs, UnaryOperation_Ceil)) return "";
1095*89c4ff92SAndroid Build Coastguard Worker const size_t index = static_cast<size_t>(e);
1096*89c4ff92SAndroid Build Coastguard Worker return EnumNamesUnaryOperation()[index];
1097*89c4ff92SAndroid Build Coastguard Worker }
1098*89c4ff92SAndroid Build Coastguard Worker
1099*89c4ff92SAndroid Build Coastguard Worker enum LogicalBinaryOperation : int8_t {
1100*89c4ff92SAndroid Build Coastguard Worker LogicalBinaryOperation_LogicalAnd = 0,
1101*89c4ff92SAndroid Build Coastguard Worker LogicalBinaryOperation_LogicalOr = 1,
1102*89c4ff92SAndroid Build Coastguard Worker LogicalBinaryOperation_MIN = LogicalBinaryOperation_LogicalAnd,
1103*89c4ff92SAndroid Build Coastguard Worker LogicalBinaryOperation_MAX = LogicalBinaryOperation_LogicalOr
1104*89c4ff92SAndroid Build Coastguard Worker };
1105*89c4ff92SAndroid Build Coastguard Worker
1106*89c4ff92SAndroid Build Coastguard Worker inline const LogicalBinaryOperation (&EnumValuesLogicalBinaryOperation())[2] {
1107*89c4ff92SAndroid Build Coastguard Worker static const LogicalBinaryOperation values[] = {
1108*89c4ff92SAndroid Build Coastguard Worker LogicalBinaryOperation_LogicalAnd,
1109*89c4ff92SAndroid Build Coastguard Worker LogicalBinaryOperation_LogicalOr
1110*89c4ff92SAndroid Build Coastguard Worker };
1111*89c4ff92SAndroid Build Coastguard Worker return values;
1112*89c4ff92SAndroid Build Coastguard Worker }
1113*89c4ff92SAndroid Build Coastguard Worker
1114*89c4ff92SAndroid Build Coastguard Worker inline const char * const *EnumNamesLogicalBinaryOperation() {
1115*89c4ff92SAndroid Build Coastguard Worker static const char * const names[3] = {
1116*89c4ff92SAndroid Build Coastguard Worker "LogicalAnd",
1117*89c4ff92SAndroid Build Coastguard Worker "LogicalOr",
1118*89c4ff92SAndroid Build Coastguard Worker nullptr
1119*89c4ff92SAndroid Build Coastguard Worker };
1120*89c4ff92SAndroid Build Coastguard Worker return names;
1121*89c4ff92SAndroid Build Coastguard Worker }
1122*89c4ff92SAndroid Build Coastguard Worker
1123*89c4ff92SAndroid Build Coastguard Worker inline const char *EnumNameLogicalBinaryOperation(LogicalBinaryOperation e) {
1124*89c4ff92SAndroid Build Coastguard Worker if (flatbuffers::IsOutRange(e, LogicalBinaryOperation_LogicalAnd, LogicalBinaryOperation_LogicalOr)) return "";
1125*89c4ff92SAndroid Build Coastguard Worker const size_t index = static_cast<size_t>(e);
1126*89c4ff92SAndroid Build Coastguard Worker return EnumNamesLogicalBinaryOperation()[index];
1127*89c4ff92SAndroid Build Coastguard Worker }
1128*89c4ff92SAndroid Build Coastguard Worker
1129*89c4ff92SAndroid Build Coastguard Worker enum PoolingAlgorithm : int8_t {
1130*89c4ff92SAndroid Build Coastguard Worker PoolingAlgorithm_Max = 0,
1131*89c4ff92SAndroid Build Coastguard Worker PoolingAlgorithm_Average = 1,
1132*89c4ff92SAndroid Build Coastguard Worker PoolingAlgorithm_L2 = 2,
1133*89c4ff92SAndroid Build Coastguard Worker PoolingAlgorithm_MIN = PoolingAlgorithm_Max,
1134*89c4ff92SAndroid Build Coastguard Worker PoolingAlgorithm_MAX = PoolingAlgorithm_L2
1135*89c4ff92SAndroid Build Coastguard Worker };
1136*89c4ff92SAndroid Build Coastguard Worker
1137*89c4ff92SAndroid Build Coastguard Worker inline const PoolingAlgorithm (&EnumValuesPoolingAlgorithm())[3] {
1138*89c4ff92SAndroid Build Coastguard Worker static const PoolingAlgorithm values[] = {
1139*89c4ff92SAndroid Build Coastguard Worker PoolingAlgorithm_Max,
1140*89c4ff92SAndroid Build Coastguard Worker PoolingAlgorithm_Average,
1141*89c4ff92SAndroid Build Coastguard Worker PoolingAlgorithm_L2
1142*89c4ff92SAndroid Build Coastguard Worker };
1143*89c4ff92SAndroid Build Coastguard Worker return values;
1144*89c4ff92SAndroid Build Coastguard Worker }
1145*89c4ff92SAndroid Build Coastguard Worker
1146*89c4ff92SAndroid Build Coastguard Worker inline const char * const *EnumNamesPoolingAlgorithm() {
1147*89c4ff92SAndroid Build Coastguard Worker static const char * const names[4] = {
1148*89c4ff92SAndroid Build Coastguard Worker "Max",
1149*89c4ff92SAndroid Build Coastguard Worker "Average",
1150*89c4ff92SAndroid Build Coastguard Worker "L2",
1151*89c4ff92SAndroid Build Coastguard Worker nullptr
1152*89c4ff92SAndroid Build Coastguard Worker };
1153*89c4ff92SAndroid Build Coastguard Worker return names;
1154*89c4ff92SAndroid Build Coastguard Worker }
1155*89c4ff92SAndroid Build Coastguard Worker
1156*89c4ff92SAndroid Build Coastguard Worker inline const char *EnumNamePoolingAlgorithm(PoolingAlgorithm e) {
1157*89c4ff92SAndroid Build Coastguard Worker if (flatbuffers::IsOutRange(e, PoolingAlgorithm_Max, PoolingAlgorithm_L2)) return "";
1158*89c4ff92SAndroid Build Coastguard Worker const size_t index = static_cast<size_t>(e);
1159*89c4ff92SAndroid Build Coastguard Worker return EnumNamesPoolingAlgorithm()[index];
1160*89c4ff92SAndroid Build Coastguard Worker }
1161*89c4ff92SAndroid Build Coastguard Worker
1162*89c4ff92SAndroid Build Coastguard Worker enum OutputShapeRounding : int8_t {
1163*89c4ff92SAndroid Build Coastguard Worker OutputShapeRounding_Floor = 0,
1164*89c4ff92SAndroid Build Coastguard Worker OutputShapeRounding_Ceiling = 1,
1165*89c4ff92SAndroid Build Coastguard Worker OutputShapeRounding_MIN = OutputShapeRounding_Floor,
1166*89c4ff92SAndroid Build Coastguard Worker OutputShapeRounding_MAX = OutputShapeRounding_Ceiling
1167*89c4ff92SAndroid Build Coastguard Worker };
1168*89c4ff92SAndroid Build Coastguard Worker
1169*89c4ff92SAndroid Build Coastguard Worker inline const OutputShapeRounding (&EnumValuesOutputShapeRounding())[2] {
1170*89c4ff92SAndroid Build Coastguard Worker static const OutputShapeRounding values[] = {
1171*89c4ff92SAndroid Build Coastguard Worker OutputShapeRounding_Floor,
1172*89c4ff92SAndroid Build Coastguard Worker OutputShapeRounding_Ceiling
1173*89c4ff92SAndroid Build Coastguard Worker };
1174*89c4ff92SAndroid Build Coastguard Worker return values;
1175*89c4ff92SAndroid Build Coastguard Worker }
1176*89c4ff92SAndroid Build Coastguard Worker
1177*89c4ff92SAndroid Build Coastguard Worker inline const char * const *EnumNamesOutputShapeRounding() {
1178*89c4ff92SAndroid Build Coastguard Worker static const char * const names[3] = {
1179*89c4ff92SAndroid Build Coastguard Worker "Floor",
1180*89c4ff92SAndroid Build Coastguard Worker "Ceiling",
1181*89c4ff92SAndroid Build Coastguard Worker nullptr
1182*89c4ff92SAndroid Build Coastguard Worker };
1183*89c4ff92SAndroid Build Coastguard Worker return names;
1184*89c4ff92SAndroid Build Coastguard Worker }
1185*89c4ff92SAndroid Build Coastguard Worker
1186*89c4ff92SAndroid Build Coastguard Worker inline const char *EnumNameOutputShapeRounding(OutputShapeRounding e) {
1187*89c4ff92SAndroid Build Coastguard Worker if (flatbuffers::IsOutRange(e, OutputShapeRounding_Floor, OutputShapeRounding_Ceiling)) return "";
1188*89c4ff92SAndroid Build Coastguard Worker const size_t index = static_cast<size_t>(e);
1189*89c4ff92SAndroid Build Coastguard Worker return EnumNamesOutputShapeRounding()[index];
1190*89c4ff92SAndroid Build Coastguard Worker }
1191*89c4ff92SAndroid Build Coastguard Worker
1192*89c4ff92SAndroid Build Coastguard Worker enum PaddingMethod : int8_t {
1193*89c4ff92SAndroid Build Coastguard Worker PaddingMethod_IgnoreValue = 0,
1194*89c4ff92SAndroid Build Coastguard Worker PaddingMethod_Exclude = 1,
1195*89c4ff92SAndroid Build Coastguard Worker PaddingMethod_MIN = PaddingMethod_IgnoreValue,
1196*89c4ff92SAndroid Build Coastguard Worker PaddingMethod_MAX = PaddingMethod_Exclude
1197*89c4ff92SAndroid Build Coastguard Worker };
1198*89c4ff92SAndroid Build Coastguard Worker
1199*89c4ff92SAndroid Build Coastguard Worker inline const PaddingMethod (&EnumValuesPaddingMethod())[2] {
1200*89c4ff92SAndroid Build Coastguard Worker static const PaddingMethod values[] = {
1201*89c4ff92SAndroid Build Coastguard Worker PaddingMethod_IgnoreValue,
1202*89c4ff92SAndroid Build Coastguard Worker PaddingMethod_Exclude
1203*89c4ff92SAndroid Build Coastguard Worker };
1204*89c4ff92SAndroid Build Coastguard Worker return values;
1205*89c4ff92SAndroid Build Coastguard Worker }
1206*89c4ff92SAndroid Build Coastguard Worker
1207*89c4ff92SAndroid Build Coastguard Worker inline const char * const *EnumNamesPaddingMethod() {
1208*89c4ff92SAndroid Build Coastguard Worker static const char * const names[3] = {
1209*89c4ff92SAndroid Build Coastguard Worker "IgnoreValue",
1210*89c4ff92SAndroid Build Coastguard Worker "Exclude",
1211*89c4ff92SAndroid Build Coastguard Worker nullptr
1212*89c4ff92SAndroid Build Coastguard Worker };
1213*89c4ff92SAndroid Build Coastguard Worker return names;
1214*89c4ff92SAndroid Build Coastguard Worker }
1215*89c4ff92SAndroid Build Coastguard Worker
1216*89c4ff92SAndroid Build Coastguard Worker inline const char *EnumNamePaddingMethod(PaddingMethod e) {
1217*89c4ff92SAndroid Build Coastguard Worker if (flatbuffers::IsOutRange(e, PaddingMethod_IgnoreValue, PaddingMethod_Exclude)) return "";
1218*89c4ff92SAndroid Build Coastguard Worker const size_t index = static_cast<size_t>(e);
1219*89c4ff92SAndroid Build Coastguard Worker return EnumNamesPaddingMethod()[index];
1220*89c4ff92SAndroid Build Coastguard Worker }
1221*89c4ff92SAndroid Build Coastguard Worker
1222*89c4ff92SAndroid Build Coastguard Worker enum NormalizationAlgorithmChannel : int8_t {
1223*89c4ff92SAndroid Build Coastguard Worker NormalizationAlgorithmChannel_Across = 0,
1224*89c4ff92SAndroid Build Coastguard Worker NormalizationAlgorithmChannel_Within = 1,
1225*89c4ff92SAndroid Build Coastguard Worker NormalizationAlgorithmChannel_MIN = NormalizationAlgorithmChannel_Across,
1226*89c4ff92SAndroid Build Coastguard Worker NormalizationAlgorithmChannel_MAX = NormalizationAlgorithmChannel_Within
1227*89c4ff92SAndroid Build Coastguard Worker };
1228*89c4ff92SAndroid Build Coastguard Worker
1229*89c4ff92SAndroid Build Coastguard Worker inline const NormalizationAlgorithmChannel (&EnumValuesNormalizationAlgorithmChannel())[2] {
1230*89c4ff92SAndroid Build Coastguard Worker static const NormalizationAlgorithmChannel values[] = {
1231*89c4ff92SAndroid Build Coastguard Worker NormalizationAlgorithmChannel_Across,
1232*89c4ff92SAndroid Build Coastguard Worker NormalizationAlgorithmChannel_Within
1233*89c4ff92SAndroid Build Coastguard Worker };
1234*89c4ff92SAndroid Build Coastguard Worker return values;
1235*89c4ff92SAndroid Build Coastguard Worker }
1236*89c4ff92SAndroid Build Coastguard Worker
1237*89c4ff92SAndroid Build Coastguard Worker inline const char * const *EnumNamesNormalizationAlgorithmChannel() {
1238*89c4ff92SAndroid Build Coastguard Worker static const char * const names[3] = {
1239*89c4ff92SAndroid Build Coastguard Worker "Across",
1240*89c4ff92SAndroid Build Coastguard Worker "Within",
1241*89c4ff92SAndroid Build Coastguard Worker nullptr
1242*89c4ff92SAndroid Build Coastguard Worker };
1243*89c4ff92SAndroid Build Coastguard Worker return names;
1244*89c4ff92SAndroid Build Coastguard Worker }
1245*89c4ff92SAndroid Build Coastguard Worker
1246*89c4ff92SAndroid Build Coastguard Worker inline const char *EnumNameNormalizationAlgorithmChannel(NormalizationAlgorithmChannel e) {
1247*89c4ff92SAndroid Build Coastguard Worker if (flatbuffers::IsOutRange(e, NormalizationAlgorithmChannel_Across, NormalizationAlgorithmChannel_Within)) return "";
1248*89c4ff92SAndroid Build Coastguard Worker const size_t index = static_cast<size_t>(e);
1249*89c4ff92SAndroid Build Coastguard Worker return EnumNamesNormalizationAlgorithmChannel()[index];
1250*89c4ff92SAndroid Build Coastguard Worker }
1251*89c4ff92SAndroid Build Coastguard Worker
1252*89c4ff92SAndroid Build Coastguard Worker enum NormalizationAlgorithmMethod : int8_t {
1253*89c4ff92SAndroid Build Coastguard Worker NormalizationAlgorithmMethod_LocalBrightness = 0,
1254*89c4ff92SAndroid Build Coastguard Worker NormalizationAlgorithmMethod_LocalContrast = 1,
1255*89c4ff92SAndroid Build Coastguard Worker NormalizationAlgorithmMethod_MIN = NormalizationAlgorithmMethod_LocalBrightness,
1256*89c4ff92SAndroid Build Coastguard Worker NormalizationAlgorithmMethod_MAX = NormalizationAlgorithmMethod_LocalContrast
1257*89c4ff92SAndroid Build Coastguard Worker };
1258*89c4ff92SAndroid Build Coastguard Worker
1259*89c4ff92SAndroid Build Coastguard Worker inline const NormalizationAlgorithmMethod (&EnumValuesNormalizationAlgorithmMethod())[2] {
1260*89c4ff92SAndroid Build Coastguard Worker static const NormalizationAlgorithmMethod values[] = {
1261*89c4ff92SAndroid Build Coastguard Worker NormalizationAlgorithmMethod_LocalBrightness,
1262*89c4ff92SAndroid Build Coastguard Worker NormalizationAlgorithmMethod_LocalContrast
1263*89c4ff92SAndroid Build Coastguard Worker };
1264*89c4ff92SAndroid Build Coastguard Worker return values;
1265*89c4ff92SAndroid Build Coastguard Worker }
1266*89c4ff92SAndroid Build Coastguard Worker
1267*89c4ff92SAndroid Build Coastguard Worker inline const char * const *EnumNamesNormalizationAlgorithmMethod() {
1268*89c4ff92SAndroid Build Coastguard Worker static const char * const names[3] = {
1269*89c4ff92SAndroid Build Coastguard Worker "LocalBrightness",
1270*89c4ff92SAndroid Build Coastguard Worker "LocalContrast",
1271*89c4ff92SAndroid Build Coastguard Worker nullptr
1272*89c4ff92SAndroid Build Coastguard Worker };
1273*89c4ff92SAndroid Build Coastguard Worker return names;
1274*89c4ff92SAndroid Build Coastguard Worker }
1275*89c4ff92SAndroid Build Coastguard Worker
1276*89c4ff92SAndroid Build Coastguard Worker inline const char *EnumNameNormalizationAlgorithmMethod(NormalizationAlgorithmMethod e) {
1277*89c4ff92SAndroid Build Coastguard Worker if (flatbuffers::IsOutRange(e, NormalizationAlgorithmMethod_LocalBrightness, NormalizationAlgorithmMethod_LocalContrast)) return "";
1278*89c4ff92SAndroid Build Coastguard Worker const size_t index = static_cast<size_t>(e);
1279*89c4ff92SAndroid Build Coastguard Worker return EnumNamesNormalizationAlgorithmMethod()[index];
1280*89c4ff92SAndroid Build Coastguard Worker }
1281*89c4ff92SAndroid Build Coastguard Worker
1282*89c4ff92SAndroid Build Coastguard Worker enum PaddingMode : int8_t {
1283*89c4ff92SAndroid Build Coastguard Worker PaddingMode_Constant = 0,
1284*89c4ff92SAndroid Build Coastguard Worker PaddingMode_Reflect = 1,
1285*89c4ff92SAndroid Build Coastguard Worker PaddingMode_Symmetric = 2,
1286*89c4ff92SAndroid Build Coastguard Worker PaddingMode_MIN = PaddingMode_Constant,
1287*89c4ff92SAndroid Build Coastguard Worker PaddingMode_MAX = PaddingMode_Symmetric
1288*89c4ff92SAndroid Build Coastguard Worker };
1289*89c4ff92SAndroid Build Coastguard Worker
1290*89c4ff92SAndroid Build Coastguard Worker inline const PaddingMode (&EnumValuesPaddingMode())[3] {
1291*89c4ff92SAndroid Build Coastguard Worker static const PaddingMode values[] = {
1292*89c4ff92SAndroid Build Coastguard Worker PaddingMode_Constant,
1293*89c4ff92SAndroid Build Coastguard Worker PaddingMode_Reflect,
1294*89c4ff92SAndroid Build Coastguard Worker PaddingMode_Symmetric
1295*89c4ff92SAndroid Build Coastguard Worker };
1296*89c4ff92SAndroid Build Coastguard Worker return values;
1297*89c4ff92SAndroid Build Coastguard Worker }
1298*89c4ff92SAndroid Build Coastguard Worker
1299*89c4ff92SAndroid Build Coastguard Worker inline const char * const *EnumNamesPaddingMode() {
1300*89c4ff92SAndroid Build Coastguard Worker static const char * const names[4] = {
1301*89c4ff92SAndroid Build Coastguard Worker "Constant",
1302*89c4ff92SAndroid Build Coastguard Worker "Reflect",
1303*89c4ff92SAndroid Build Coastguard Worker "Symmetric",
1304*89c4ff92SAndroid Build Coastguard Worker nullptr
1305*89c4ff92SAndroid Build Coastguard Worker };
1306*89c4ff92SAndroid Build Coastguard Worker return names;
1307*89c4ff92SAndroid Build Coastguard Worker }
1308*89c4ff92SAndroid Build Coastguard Worker
1309*89c4ff92SAndroid Build Coastguard Worker inline const char *EnumNamePaddingMode(PaddingMode e) {
1310*89c4ff92SAndroid Build Coastguard Worker if (flatbuffers::IsOutRange(e, PaddingMode_Constant, PaddingMode_Symmetric)) return "";
1311*89c4ff92SAndroid Build Coastguard Worker const size_t index = static_cast<size_t>(e);
1312*89c4ff92SAndroid Build Coastguard Worker return EnumNamesPaddingMode()[index];
1313*89c4ff92SAndroid Build Coastguard Worker }
1314*89c4ff92SAndroid Build Coastguard Worker
1315*89c4ff92SAndroid Build Coastguard Worker enum Layer : uint8_t {
1316*89c4ff92SAndroid Build Coastguard Worker Layer_NONE = 0,
1317*89c4ff92SAndroid Build Coastguard Worker Layer_ActivationLayer = 1,
1318*89c4ff92SAndroid Build Coastguard Worker Layer_AdditionLayer = 2,
1319*89c4ff92SAndroid Build Coastguard Worker Layer_BatchToSpaceNdLayer = 3,
1320*89c4ff92SAndroid Build Coastguard Worker Layer_BatchNormalizationLayer = 4,
1321*89c4ff92SAndroid Build Coastguard Worker Layer_ConstantLayer = 5,
1322*89c4ff92SAndroid Build Coastguard Worker Layer_Convolution2dLayer = 6,
1323*89c4ff92SAndroid Build Coastguard Worker Layer_DepthwiseConvolution2dLayer = 7,
1324*89c4ff92SAndroid Build Coastguard Worker Layer_FullyConnectedLayer = 8,
1325*89c4ff92SAndroid Build Coastguard Worker Layer_InputLayer = 9,
1326*89c4ff92SAndroid Build Coastguard Worker Layer_MultiplicationLayer = 10,
1327*89c4ff92SAndroid Build Coastguard Worker Layer_OutputLayer = 11,
1328*89c4ff92SAndroid Build Coastguard Worker Layer_PermuteLayer = 12,
1329*89c4ff92SAndroid Build Coastguard Worker Layer_Pooling2dLayer = 13,
1330*89c4ff92SAndroid Build Coastguard Worker Layer_ReshapeLayer = 14,
1331*89c4ff92SAndroid Build Coastguard Worker Layer_SoftmaxLayer = 15,
1332*89c4ff92SAndroid Build Coastguard Worker Layer_SpaceToBatchNdLayer = 16,
1333*89c4ff92SAndroid Build Coastguard Worker Layer_DivisionLayer = 17,
1334*89c4ff92SAndroid Build Coastguard Worker Layer_MinimumLayer = 18,
1335*89c4ff92SAndroid Build Coastguard Worker Layer_EqualLayer = 19,
1336*89c4ff92SAndroid Build Coastguard Worker Layer_MaximumLayer = 20,
1337*89c4ff92SAndroid Build Coastguard Worker Layer_NormalizationLayer = 21,
1338*89c4ff92SAndroid Build Coastguard Worker Layer_PadLayer = 22,
1339*89c4ff92SAndroid Build Coastguard Worker Layer_RsqrtLayer = 23,
1340*89c4ff92SAndroid Build Coastguard Worker Layer_FloorLayer = 24,
1341*89c4ff92SAndroid Build Coastguard Worker Layer_GreaterLayer = 25,
1342*89c4ff92SAndroid Build Coastguard Worker Layer_ResizeBilinearLayer = 26,
1343*89c4ff92SAndroid Build Coastguard Worker Layer_SubtractionLayer = 27,
1344*89c4ff92SAndroid Build Coastguard Worker Layer_StridedSliceLayer = 28,
1345*89c4ff92SAndroid Build Coastguard Worker Layer_GatherLayer = 29,
1346*89c4ff92SAndroid Build Coastguard Worker Layer_MeanLayer = 30,
1347*89c4ff92SAndroid Build Coastguard Worker Layer_MergerLayer = 31,
1348*89c4ff92SAndroid Build Coastguard Worker Layer_L2NormalizationLayer = 32,
1349*89c4ff92SAndroid Build Coastguard Worker Layer_SplitterLayer = 33,
1350*89c4ff92SAndroid Build Coastguard Worker Layer_DetectionPostProcessLayer = 34,
1351*89c4ff92SAndroid Build Coastguard Worker Layer_LstmLayer = 35,
1352*89c4ff92SAndroid Build Coastguard Worker Layer_QuantizedLstmLayer = 36,
1353*89c4ff92SAndroid Build Coastguard Worker Layer_QuantizeLayer = 37,
1354*89c4ff92SAndroid Build Coastguard Worker Layer_DequantizeLayer = 38,
1355*89c4ff92SAndroid Build Coastguard Worker Layer_MergeLayer = 39,
1356*89c4ff92SAndroid Build Coastguard Worker Layer_SwitchLayer = 40,
1357*89c4ff92SAndroid Build Coastguard Worker Layer_ConcatLayer = 41,
1358*89c4ff92SAndroid Build Coastguard Worker Layer_SpaceToDepthLayer = 42,
1359*89c4ff92SAndroid Build Coastguard Worker Layer_PreluLayer = 43,
1360*89c4ff92SAndroid Build Coastguard Worker Layer_TransposeConvolution2dLayer = 44,
1361*89c4ff92SAndroid Build Coastguard Worker Layer_ResizeLayer = 45,
1362*89c4ff92SAndroid Build Coastguard Worker Layer_StackLayer = 46,
1363*89c4ff92SAndroid Build Coastguard Worker Layer_AbsLayer = 47,
1364*89c4ff92SAndroid Build Coastguard Worker Layer_ArgMinMaxLayer = 48,
1365*89c4ff92SAndroid Build Coastguard Worker Layer_SliceLayer = 49,
1366*89c4ff92SAndroid Build Coastguard Worker Layer_DepthToSpaceLayer = 50,
1367*89c4ff92SAndroid Build Coastguard Worker Layer_InstanceNormalizationLayer = 51,
1368*89c4ff92SAndroid Build Coastguard Worker Layer_LogSoftmaxLayer = 52,
1369*89c4ff92SAndroid Build Coastguard Worker Layer_ComparisonLayer = 53,
1370*89c4ff92SAndroid Build Coastguard Worker Layer_StandInLayer = 54,
1371*89c4ff92SAndroid Build Coastguard Worker Layer_ElementwiseUnaryLayer = 55,
1372*89c4ff92SAndroid Build Coastguard Worker Layer_TransposeLayer = 56,
1373*89c4ff92SAndroid Build Coastguard Worker Layer_QLstmLayer = 57,
1374*89c4ff92SAndroid Build Coastguard Worker Layer_FillLayer = 58,
1375*89c4ff92SAndroid Build Coastguard Worker Layer_RankLayer = 59,
1376*89c4ff92SAndroid Build Coastguard Worker Layer_LogicalBinaryLayer = 60,
1377*89c4ff92SAndroid Build Coastguard Worker Layer_ReduceLayer = 61,
1378*89c4ff92SAndroid Build Coastguard Worker Layer_CastLayer = 62,
1379*89c4ff92SAndroid Build Coastguard Worker Layer_ShapeLayer = 63,
1380*89c4ff92SAndroid Build Coastguard Worker Layer_UnidirectionalSequenceLstmLayer = 64,
1381*89c4ff92SAndroid Build Coastguard Worker Layer_ChannelShuffleLayer = 65,
1382*89c4ff92SAndroid Build Coastguard Worker Layer_Convolution3dLayer = 66,
1383*89c4ff92SAndroid Build Coastguard Worker Layer_Pooling3dLayer = 67,
1384*89c4ff92SAndroid Build Coastguard Worker Layer_GatherNdLayer = 68,
1385*89c4ff92SAndroid Build Coastguard Worker Layer_BatchMatMulLayer = 69,
1386*89c4ff92SAndroid Build Coastguard Worker Layer_ElementwiseBinaryLayer = 70,
1387*89c4ff92SAndroid Build Coastguard Worker Layer_MIN = Layer_NONE,
1388*89c4ff92SAndroid Build Coastguard Worker Layer_MAX = Layer_ElementwiseBinaryLayer
1389*89c4ff92SAndroid Build Coastguard Worker };
1390*89c4ff92SAndroid Build Coastguard Worker
1391*89c4ff92SAndroid Build Coastguard Worker inline const Layer (&EnumValuesLayer())[71] {
1392*89c4ff92SAndroid Build Coastguard Worker static const Layer values[] = {
1393*89c4ff92SAndroid Build Coastguard Worker Layer_NONE,
1394*89c4ff92SAndroid Build Coastguard Worker Layer_ActivationLayer,
1395*89c4ff92SAndroid Build Coastguard Worker Layer_AdditionLayer,
1396*89c4ff92SAndroid Build Coastguard Worker Layer_BatchToSpaceNdLayer,
1397*89c4ff92SAndroid Build Coastguard Worker Layer_BatchNormalizationLayer,
1398*89c4ff92SAndroid Build Coastguard Worker Layer_ConstantLayer,
1399*89c4ff92SAndroid Build Coastguard Worker Layer_Convolution2dLayer,
1400*89c4ff92SAndroid Build Coastguard Worker Layer_DepthwiseConvolution2dLayer,
1401*89c4ff92SAndroid Build Coastguard Worker Layer_FullyConnectedLayer,
1402*89c4ff92SAndroid Build Coastguard Worker Layer_InputLayer,
1403*89c4ff92SAndroid Build Coastguard Worker Layer_MultiplicationLayer,
1404*89c4ff92SAndroid Build Coastguard Worker Layer_OutputLayer,
1405*89c4ff92SAndroid Build Coastguard Worker Layer_PermuteLayer,
1406*89c4ff92SAndroid Build Coastguard Worker Layer_Pooling2dLayer,
1407*89c4ff92SAndroid Build Coastguard Worker Layer_ReshapeLayer,
1408*89c4ff92SAndroid Build Coastguard Worker Layer_SoftmaxLayer,
1409*89c4ff92SAndroid Build Coastguard Worker Layer_SpaceToBatchNdLayer,
1410*89c4ff92SAndroid Build Coastguard Worker Layer_DivisionLayer,
1411*89c4ff92SAndroid Build Coastguard Worker Layer_MinimumLayer,
1412*89c4ff92SAndroid Build Coastguard Worker Layer_EqualLayer,
1413*89c4ff92SAndroid Build Coastguard Worker Layer_MaximumLayer,
1414*89c4ff92SAndroid Build Coastguard Worker Layer_NormalizationLayer,
1415*89c4ff92SAndroid Build Coastguard Worker Layer_PadLayer,
1416*89c4ff92SAndroid Build Coastguard Worker Layer_RsqrtLayer,
1417*89c4ff92SAndroid Build Coastguard Worker Layer_FloorLayer,
1418*89c4ff92SAndroid Build Coastguard Worker Layer_GreaterLayer,
1419*89c4ff92SAndroid Build Coastguard Worker Layer_ResizeBilinearLayer,
1420*89c4ff92SAndroid Build Coastguard Worker Layer_SubtractionLayer,
1421*89c4ff92SAndroid Build Coastguard Worker Layer_StridedSliceLayer,
1422*89c4ff92SAndroid Build Coastguard Worker Layer_GatherLayer,
1423*89c4ff92SAndroid Build Coastguard Worker Layer_MeanLayer,
1424*89c4ff92SAndroid Build Coastguard Worker Layer_MergerLayer,
1425*89c4ff92SAndroid Build Coastguard Worker Layer_L2NormalizationLayer,
1426*89c4ff92SAndroid Build Coastguard Worker Layer_SplitterLayer,
1427*89c4ff92SAndroid Build Coastguard Worker Layer_DetectionPostProcessLayer,
1428*89c4ff92SAndroid Build Coastguard Worker Layer_LstmLayer,
1429*89c4ff92SAndroid Build Coastguard Worker Layer_QuantizedLstmLayer,
1430*89c4ff92SAndroid Build Coastguard Worker Layer_QuantizeLayer,
1431*89c4ff92SAndroid Build Coastguard Worker Layer_DequantizeLayer,
1432*89c4ff92SAndroid Build Coastguard Worker Layer_MergeLayer,
1433*89c4ff92SAndroid Build Coastguard Worker Layer_SwitchLayer,
1434*89c4ff92SAndroid Build Coastguard Worker Layer_ConcatLayer,
1435*89c4ff92SAndroid Build Coastguard Worker Layer_SpaceToDepthLayer,
1436*89c4ff92SAndroid Build Coastguard Worker Layer_PreluLayer,
1437*89c4ff92SAndroid Build Coastguard Worker Layer_TransposeConvolution2dLayer,
1438*89c4ff92SAndroid Build Coastguard Worker Layer_ResizeLayer,
1439*89c4ff92SAndroid Build Coastguard Worker Layer_StackLayer,
1440*89c4ff92SAndroid Build Coastguard Worker Layer_AbsLayer,
1441*89c4ff92SAndroid Build Coastguard Worker Layer_ArgMinMaxLayer,
1442*89c4ff92SAndroid Build Coastguard Worker Layer_SliceLayer,
1443*89c4ff92SAndroid Build Coastguard Worker Layer_DepthToSpaceLayer,
1444*89c4ff92SAndroid Build Coastguard Worker Layer_InstanceNormalizationLayer,
1445*89c4ff92SAndroid Build Coastguard Worker Layer_LogSoftmaxLayer,
1446*89c4ff92SAndroid Build Coastguard Worker Layer_ComparisonLayer,
1447*89c4ff92SAndroid Build Coastguard Worker Layer_StandInLayer,
1448*89c4ff92SAndroid Build Coastguard Worker Layer_ElementwiseUnaryLayer,
1449*89c4ff92SAndroid Build Coastguard Worker Layer_TransposeLayer,
1450*89c4ff92SAndroid Build Coastguard Worker Layer_QLstmLayer,
1451*89c4ff92SAndroid Build Coastguard Worker Layer_FillLayer,
1452*89c4ff92SAndroid Build Coastguard Worker Layer_RankLayer,
1453*89c4ff92SAndroid Build Coastguard Worker Layer_LogicalBinaryLayer,
1454*89c4ff92SAndroid Build Coastguard Worker Layer_ReduceLayer,
1455*89c4ff92SAndroid Build Coastguard Worker Layer_CastLayer,
1456*89c4ff92SAndroid Build Coastguard Worker Layer_ShapeLayer,
1457*89c4ff92SAndroid Build Coastguard Worker Layer_UnidirectionalSequenceLstmLayer,
1458*89c4ff92SAndroid Build Coastguard Worker Layer_ChannelShuffleLayer,
1459*89c4ff92SAndroid Build Coastguard Worker Layer_Convolution3dLayer,
1460*89c4ff92SAndroid Build Coastguard Worker Layer_Pooling3dLayer,
1461*89c4ff92SAndroid Build Coastguard Worker Layer_GatherNdLayer,
1462*89c4ff92SAndroid Build Coastguard Worker Layer_BatchMatMulLayer,
1463*89c4ff92SAndroid Build Coastguard Worker Layer_ElementwiseBinaryLayer
1464*89c4ff92SAndroid Build Coastguard Worker };
1465*89c4ff92SAndroid Build Coastguard Worker return values;
1466*89c4ff92SAndroid Build Coastguard Worker }
1467*89c4ff92SAndroid Build Coastguard Worker
1468*89c4ff92SAndroid Build Coastguard Worker inline const char * const *EnumNamesLayer() {
1469*89c4ff92SAndroid Build Coastguard Worker static const char * const names[72] = {
1470*89c4ff92SAndroid Build Coastguard Worker "NONE",
1471*89c4ff92SAndroid Build Coastguard Worker "ActivationLayer",
1472*89c4ff92SAndroid Build Coastguard Worker "AdditionLayer",
1473*89c4ff92SAndroid Build Coastguard Worker "BatchToSpaceNdLayer",
1474*89c4ff92SAndroid Build Coastguard Worker "BatchNormalizationLayer",
1475*89c4ff92SAndroid Build Coastguard Worker "ConstantLayer",
1476*89c4ff92SAndroid Build Coastguard Worker "Convolution2dLayer",
1477*89c4ff92SAndroid Build Coastguard Worker "DepthwiseConvolution2dLayer",
1478*89c4ff92SAndroid Build Coastguard Worker "FullyConnectedLayer",
1479*89c4ff92SAndroid Build Coastguard Worker "InputLayer",
1480*89c4ff92SAndroid Build Coastguard Worker "MultiplicationLayer",
1481*89c4ff92SAndroid Build Coastguard Worker "OutputLayer",
1482*89c4ff92SAndroid Build Coastguard Worker "PermuteLayer",
1483*89c4ff92SAndroid Build Coastguard Worker "Pooling2dLayer",
1484*89c4ff92SAndroid Build Coastguard Worker "ReshapeLayer",
1485*89c4ff92SAndroid Build Coastguard Worker "SoftmaxLayer",
1486*89c4ff92SAndroid Build Coastguard Worker "SpaceToBatchNdLayer",
1487*89c4ff92SAndroid Build Coastguard Worker "DivisionLayer",
1488*89c4ff92SAndroid Build Coastguard Worker "MinimumLayer",
1489*89c4ff92SAndroid Build Coastguard Worker "EqualLayer",
1490*89c4ff92SAndroid Build Coastguard Worker "MaximumLayer",
1491*89c4ff92SAndroid Build Coastguard Worker "NormalizationLayer",
1492*89c4ff92SAndroid Build Coastguard Worker "PadLayer",
1493*89c4ff92SAndroid Build Coastguard Worker "RsqrtLayer",
1494*89c4ff92SAndroid Build Coastguard Worker "FloorLayer",
1495*89c4ff92SAndroid Build Coastguard Worker "GreaterLayer",
1496*89c4ff92SAndroid Build Coastguard Worker "ResizeBilinearLayer",
1497*89c4ff92SAndroid Build Coastguard Worker "SubtractionLayer",
1498*89c4ff92SAndroid Build Coastguard Worker "StridedSliceLayer",
1499*89c4ff92SAndroid Build Coastguard Worker "GatherLayer",
1500*89c4ff92SAndroid Build Coastguard Worker "MeanLayer",
1501*89c4ff92SAndroid Build Coastguard Worker "MergerLayer",
1502*89c4ff92SAndroid Build Coastguard Worker "L2NormalizationLayer",
1503*89c4ff92SAndroid Build Coastguard Worker "SplitterLayer",
1504*89c4ff92SAndroid Build Coastguard Worker "DetectionPostProcessLayer",
1505*89c4ff92SAndroid Build Coastguard Worker "LstmLayer",
1506*89c4ff92SAndroid Build Coastguard Worker "QuantizedLstmLayer",
1507*89c4ff92SAndroid Build Coastguard Worker "QuantizeLayer",
1508*89c4ff92SAndroid Build Coastguard Worker "DequantizeLayer",
1509*89c4ff92SAndroid Build Coastguard Worker "MergeLayer",
1510*89c4ff92SAndroid Build Coastguard Worker "SwitchLayer",
1511*89c4ff92SAndroid Build Coastguard Worker "ConcatLayer",
1512*89c4ff92SAndroid Build Coastguard Worker "SpaceToDepthLayer",
1513*89c4ff92SAndroid Build Coastguard Worker "PreluLayer",
1514*89c4ff92SAndroid Build Coastguard Worker "TransposeConvolution2dLayer",
1515*89c4ff92SAndroid Build Coastguard Worker "ResizeLayer",
1516*89c4ff92SAndroid Build Coastguard Worker "StackLayer",
1517*89c4ff92SAndroid Build Coastguard Worker "AbsLayer",
1518*89c4ff92SAndroid Build Coastguard Worker "ArgMinMaxLayer",
1519*89c4ff92SAndroid Build Coastguard Worker "SliceLayer",
1520*89c4ff92SAndroid Build Coastguard Worker "DepthToSpaceLayer",
1521*89c4ff92SAndroid Build Coastguard Worker "InstanceNormalizationLayer",
1522*89c4ff92SAndroid Build Coastguard Worker "LogSoftmaxLayer",
1523*89c4ff92SAndroid Build Coastguard Worker "ComparisonLayer",
1524*89c4ff92SAndroid Build Coastguard Worker "StandInLayer",
1525*89c4ff92SAndroid Build Coastguard Worker "ElementwiseUnaryLayer",
1526*89c4ff92SAndroid Build Coastguard Worker "TransposeLayer",
1527*89c4ff92SAndroid Build Coastguard Worker "QLstmLayer",
1528*89c4ff92SAndroid Build Coastguard Worker "FillLayer",
1529*89c4ff92SAndroid Build Coastguard Worker "RankLayer",
1530*89c4ff92SAndroid Build Coastguard Worker "LogicalBinaryLayer",
1531*89c4ff92SAndroid Build Coastguard Worker "ReduceLayer",
1532*89c4ff92SAndroid Build Coastguard Worker "CastLayer",
1533*89c4ff92SAndroid Build Coastguard Worker "ShapeLayer",
1534*89c4ff92SAndroid Build Coastguard Worker "UnidirectionalSequenceLstmLayer",
1535*89c4ff92SAndroid Build Coastguard Worker "ChannelShuffleLayer",
1536*89c4ff92SAndroid Build Coastguard Worker "Convolution3dLayer",
1537*89c4ff92SAndroid Build Coastguard Worker "Pooling3dLayer",
1538*89c4ff92SAndroid Build Coastguard Worker "GatherNdLayer",
1539*89c4ff92SAndroid Build Coastguard Worker "BatchMatMulLayer",
1540*89c4ff92SAndroid Build Coastguard Worker "ElementwiseBinaryLayer",
1541*89c4ff92SAndroid Build Coastguard Worker nullptr
1542*89c4ff92SAndroid Build Coastguard Worker };
1543*89c4ff92SAndroid Build Coastguard Worker return names;
1544*89c4ff92SAndroid Build Coastguard Worker }
1545*89c4ff92SAndroid Build Coastguard Worker
1546*89c4ff92SAndroid Build Coastguard Worker inline const char *EnumNameLayer(Layer e) {
1547*89c4ff92SAndroid Build Coastguard Worker if (flatbuffers::IsOutRange(e, Layer_NONE, Layer_ElementwiseBinaryLayer)) return "";
1548*89c4ff92SAndroid Build Coastguard Worker const size_t index = static_cast<size_t>(e);
1549*89c4ff92SAndroid Build Coastguard Worker return EnumNamesLayer()[index];
1550*89c4ff92SAndroid Build Coastguard Worker }
1551*89c4ff92SAndroid Build Coastguard Worker
1552*89c4ff92SAndroid Build Coastguard Worker template<typename T> struct LayerTraits {
1553*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_NONE;
1554*89c4ff92SAndroid Build Coastguard Worker };
1555*89c4ff92SAndroid Build Coastguard Worker
1556*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::ActivationLayer> {
1557*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_ActivationLayer;
1558*89c4ff92SAndroid Build Coastguard Worker };
1559*89c4ff92SAndroid Build Coastguard Worker
1560*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::AdditionLayer> {
1561*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_AdditionLayer;
1562*89c4ff92SAndroid Build Coastguard Worker };
1563*89c4ff92SAndroid Build Coastguard Worker
1564*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::BatchToSpaceNdLayer> {
1565*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_BatchToSpaceNdLayer;
1566*89c4ff92SAndroid Build Coastguard Worker };
1567*89c4ff92SAndroid Build Coastguard Worker
1568*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::BatchNormalizationLayer> {
1569*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_BatchNormalizationLayer;
1570*89c4ff92SAndroid Build Coastguard Worker };
1571*89c4ff92SAndroid Build Coastguard Worker
1572*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::ConstantLayer> {
1573*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_ConstantLayer;
1574*89c4ff92SAndroid Build Coastguard Worker };
1575*89c4ff92SAndroid Build Coastguard Worker
1576*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::Convolution2dLayer> {
1577*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_Convolution2dLayer;
1578*89c4ff92SAndroid Build Coastguard Worker };
1579*89c4ff92SAndroid Build Coastguard Worker
1580*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::DepthwiseConvolution2dLayer> {
1581*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_DepthwiseConvolution2dLayer;
1582*89c4ff92SAndroid Build Coastguard Worker };
1583*89c4ff92SAndroid Build Coastguard Worker
1584*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::FullyConnectedLayer> {
1585*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_FullyConnectedLayer;
1586*89c4ff92SAndroid Build Coastguard Worker };
1587*89c4ff92SAndroid Build Coastguard Worker
1588*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::InputLayer> {
1589*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_InputLayer;
1590*89c4ff92SAndroid Build Coastguard Worker };
1591*89c4ff92SAndroid Build Coastguard Worker
1592*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::MultiplicationLayer> {
1593*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_MultiplicationLayer;
1594*89c4ff92SAndroid Build Coastguard Worker };
1595*89c4ff92SAndroid Build Coastguard Worker
1596*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::OutputLayer> {
1597*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_OutputLayer;
1598*89c4ff92SAndroid Build Coastguard Worker };
1599*89c4ff92SAndroid Build Coastguard Worker
1600*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::PermuteLayer> {
1601*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_PermuteLayer;
1602*89c4ff92SAndroid Build Coastguard Worker };
1603*89c4ff92SAndroid Build Coastguard Worker
1604*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::Pooling2dLayer> {
1605*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_Pooling2dLayer;
1606*89c4ff92SAndroid Build Coastguard Worker };
1607*89c4ff92SAndroid Build Coastguard Worker
1608*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::ReshapeLayer> {
1609*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_ReshapeLayer;
1610*89c4ff92SAndroid Build Coastguard Worker };
1611*89c4ff92SAndroid Build Coastguard Worker
1612*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::SoftmaxLayer> {
1613*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_SoftmaxLayer;
1614*89c4ff92SAndroid Build Coastguard Worker };
1615*89c4ff92SAndroid Build Coastguard Worker
1616*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::SpaceToBatchNdLayer> {
1617*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_SpaceToBatchNdLayer;
1618*89c4ff92SAndroid Build Coastguard Worker };
1619*89c4ff92SAndroid Build Coastguard Worker
1620*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::DivisionLayer> {
1621*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_DivisionLayer;
1622*89c4ff92SAndroid Build Coastguard Worker };
1623*89c4ff92SAndroid Build Coastguard Worker
1624*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::MinimumLayer> {
1625*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_MinimumLayer;
1626*89c4ff92SAndroid Build Coastguard Worker };
1627*89c4ff92SAndroid Build Coastguard Worker
1628*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::EqualLayer> {
1629*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_EqualLayer;
1630*89c4ff92SAndroid Build Coastguard Worker };
1631*89c4ff92SAndroid Build Coastguard Worker
1632*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::MaximumLayer> {
1633*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_MaximumLayer;
1634*89c4ff92SAndroid Build Coastguard Worker };
1635*89c4ff92SAndroid Build Coastguard Worker
1636*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::NormalizationLayer> {
1637*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_NormalizationLayer;
1638*89c4ff92SAndroid Build Coastguard Worker };
1639*89c4ff92SAndroid Build Coastguard Worker
1640*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::PadLayer> {
1641*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_PadLayer;
1642*89c4ff92SAndroid Build Coastguard Worker };
1643*89c4ff92SAndroid Build Coastguard Worker
1644*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::RsqrtLayer> {
1645*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_RsqrtLayer;
1646*89c4ff92SAndroid Build Coastguard Worker };
1647*89c4ff92SAndroid Build Coastguard Worker
1648*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::FloorLayer> {
1649*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_FloorLayer;
1650*89c4ff92SAndroid Build Coastguard Worker };
1651*89c4ff92SAndroid Build Coastguard Worker
1652*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::GreaterLayer> {
1653*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_GreaterLayer;
1654*89c4ff92SAndroid Build Coastguard Worker };
1655*89c4ff92SAndroid Build Coastguard Worker
1656*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::ResizeBilinearLayer> {
1657*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_ResizeBilinearLayer;
1658*89c4ff92SAndroid Build Coastguard Worker };
1659*89c4ff92SAndroid Build Coastguard Worker
1660*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::SubtractionLayer> {
1661*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_SubtractionLayer;
1662*89c4ff92SAndroid Build Coastguard Worker };
1663*89c4ff92SAndroid Build Coastguard Worker
1664*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::StridedSliceLayer> {
1665*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_StridedSliceLayer;
1666*89c4ff92SAndroid Build Coastguard Worker };
1667*89c4ff92SAndroid Build Coastguard Worker
1668*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::GatherLayer> {
1669*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_GatherLayer;
1670*89c4ff92SAndroid Build Coastguard Worker };
1671*89c4ff92SAndroid Build Coastguard Worker
1672*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::MeanLayer> {
1673*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_MeanLayer;
1674*89c4ff92SAndroid Build Coastguard Worker };
1675*89c4ff92SAndroid Build Coastguard Worker
1676*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::MergerLayer> {
1677*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_MergerLayer;
1678*89c4ff92SAndroid Build Coastguard Worker };
1679*89c4ff92SAndroid Build Coastguard Worker
1680*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::L2NormalizationLayer> {
1681*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_L2NormalizationLayer;
1682*89c4ff92SAndroid Build Coastguard Worker };
1683*89c4ff92SAndroid Build Coastguard Worker
1684*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::SplitterLayer> {
1685*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_SplitterLayer;
1686*89c4ff92SAndroid Build Coastguard Worker };
1687*89c4ff92SAndroid Build Coastguard Worker
1688*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::DetectionPostProcessLayer> {
1689*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_DetectionPostProcessLayer;
1690*89c4ff92SAndroid Build Coastguard Worker };
1691*89c4ff92SAndroid Build Coastguard Worker
1692*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::LstmLayer> {
1693*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_LstmLayer;
1694*89c4ff92SAndroid Build Coastguard Worker };
1695*89c4ff92SAndroid Build Coastguard Worker
1696*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::QuantizedLstmLayer> {
1697*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_QuantizedLstmLayer;
1698*89c4ff92SAndroid Build Coastguard Worker };
1699*89c4ff92SAndroid Build Coastguard Worker
1700*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::QuantizeLayer> {
1701*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_QuantizeLayer;
1702*89c4ff92SAndroid Build Coastguard Worker };
1703*89c4ff92SAndroid Build Coastguard Worker
1704*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::DequantizeLayer> {
1705*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_DequantizeLayer;
1706*89c4ff92SAndroid Build Coastguard Worker };
1707*89c4ff92SAndroid Build Coastguard Worker
1708*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::MergeLayer> {
1709*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_MergeLayer;
1710*89c4ff92SAndroid Build Coastguard Worker };
1711*89c4ff92SAndroid Build Coastguard Worker
1712*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::SwitchLayer> {
1713*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_SwitchLayer;
1714*89c4ff92SAndroid Build Coastguard Worker };
1715*89c4ff92SAndroid Build Coastguard Worker
1716*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::ConcatLayer> {
1717*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_ConcatLayer;
1718*89c4ff92SAndroid Build Coastguard Worker };
1719*89c4ff92SAndroid Build Coastguard Worker
1720*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::SpaceToDepthLayer> {
1721*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_SpaceToDepthLayer;
1722*89c4ff92SAndroid Build Coastguard Worker };
1723*89c4ff92SAndroid Build Coastguard Worker
1724*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::PreluLayer> {
1725*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_PreluLayer;
1726*89c4ff92SAndroid Build Coastguard Worker };
1727*89c4ff92SAndroid Build Coastguard Worker
1728*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::TransposeConvolution2dLayer> {
1729*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_TransposeConvolution2dLayer;
1730*89c4ff92SAndroid Build Coastguard Worker };
1731*89c4ff92SAndroid Build Coastguard Worker
1732*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::ResizeLayer> {
1733*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_ResizeLayer;
1734*89c4ff92SAndroid Build Coastguard Worker };
1735*89c4ff92SAndroid Build Coastguard Worker
1736*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::StackLayer> {
1737*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_StackLayer;
1738*89c4ff92SAndroid Build Coastguard Worker };
1739*89c4ff92SAndroid Build Coastguard Worker
1740*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::AbsLayer> {
1741*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_AbsLayer;
1742*89c4ff92SAndroid Build Coastguard Worker };
1743*89c4ff92SAndroid Build Coastguard Worker
1744*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::ArgMinMaxLayer> {
1745*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_ArgMinMaxLayer;
1746*89c4ff92SAndroid Build Coastguard Worker };
1747*89c4ff92SAndroid Build Coastguard Worker
1748*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::SliceLayer> {
1749*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_SliceLayer;
1750*89c4ff92SAndroid Build Coastguard Worker };
1751*89c4ff92SAndroid Build Coastguard Worker
1752*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::DepthToSpaceLayer> {
1753*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_DepthToSpaceLayer;
1754*89c4ff92SAndroid Build Coastguard Worker };
1755*89c4ff92SAndroid Build Coastguard Worker
1756*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::InstanceNormalizationLayer> {
1757*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_InstanceNormalizationLayer;
1758*89c4ff92SAndroid Build Coastguard Worker };
1759*89c4ff92SAndroid Build Coastguard Worker
1760*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::LogSoftmaxLayer> {
1761*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_LogSoftmaxLayer;
1762*89c4ff92SAndroid Build Coastguard Worker };
1763*89c4ff92SAndroid Build Coastguard Worker
1764*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::ComparisonLayer> {
1765*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_ComparisonLayer;
1766*89c4ff92SAndroid Build Coastguard Worker };
1767*89c4ff92SAndroid Build Coastguard Worker
1768*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::StandInLayer> {
1769*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_StandInLayer;
1770*89c4ff92SAndroid Build Coastguard Worker };
1771*89c4ff92SAndroid Build Coastguard Worker
1772*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::ElementwiseUnaryLayer> {
1773*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_ElementwiseUnaryLayer;
1774*89c4ff92SAndroid Build Coastguard Worker };
1775*89c4ff92SAndroid Build Coastguard Worker
1776*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::TransposeLayer> {
1777*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_TransposeLayer;
1778*89c4ff92SAndroid Build Coastguard Worker };
1779*89c4ff92SAndroid Build Coastguard Worker
1780*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::QLstmLayer> {
1781*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_QLstmLayer;
1782*89c4ff92SAndroid Build Coastguard Worker };
1783*89c4ff92SAndroid Build Coastguard Worker
1784*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::FillLayer> {
1785*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_FillLayer;
1786*89c4ff92SAndroid Build Coastguard Worker };
1787*89c4ff92SAndroid Build Coastguard Worker
1788*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::RankLayer> {
1789*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_RankLayer;
1790*89c4ff92SAndroid Build Coastguard Worker };
1791*89c4ff92SAndroid Build Coastguard Worker
1792*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::LogicalBinaryLayer> {
1793*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_LogicalBinaryLayer;
1794*89c4ff92SAndroid Build Coastguard Worker };
1795*89c4ff92SAndroid Build Coastguard Worker
1796*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::ReduceLayer> {
1797*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_ReduceLayer;
1798*89c4ff92SAndroid Build Coastguard Worker };
1799*89c4ff92SAndroid Build Coastguard Worker
1800*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::CastLayer> {
1801*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_CastLayer;
1802*89c4ff92SAndroid Build Coastguard Worker };
1803*89c4ff92SAndroid Build Coastguard Worker
1804*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::ShapeLayer> {
1805*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_ShapeLayer;
1806*89c4ff92SAndroid Build Coastguard Worker };
1807*89c4ff92SAndroid Build Coastguard Worker
1808*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::UnidirectionalSequenceLstmLayer> {
1809*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_UnidirectionalSequenceLstmLayer;
1810*89c4ff92SAndroid Build Coastguard Worker };
1811*89c4ff92SAndroid Build Coastguard Worker
1812*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::ChannelShuffleLayer> {
1813*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_ChannelShuffleLayer;
1814*89c4ff92SAndroid Build Coastguard Worker };
1815*89c4ff92SAndroid Build Coastguard Worker
1816*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::Convolution3dLayer> {
1817*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_Convolution3dLayer;
1818*89c4ff92SAndroid Build Coastguard Worker };
1819*89c4ff92SAndroid Build Coastguard Worker
1820*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::Pooling3dLayer> {
1821*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_Pooling3dLayer;
1822*89c4ff92SAndroid Build Coastguard Worker };
1823*89c4ff92SAndroid Build Coastguard Worker
1824*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::GatherNdLayer> {
1825*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_GatherNdLayer;
1826*89c4ff92SAndroid Build Coastguard Worker };
1827*89c4ff92SAndroid Build Coastguard Worker
1828*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::BatchMatMulLayer> {
1829*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_BatchMatMulLayer;
1830*89c4ff92SAndroid Build Coastguard Worker };
1831*89c4ff92SAndroid Build Coastguard Worker
1832*89c4ff92SAndroid Build Coastguard Worker template<> struct LayerTraits<armnnSerializer::ElementwiseBinaryLayer> {
1833*89c4ff92SAndroid Build Coastguard Worker static const Layer enum_value = Layer_ElementwiseBinaryLayer;
1834*89c4ff92SAndroid Build Coastguard Worker };
1835*89c4ff92SAndroid Build Coastguard Worker
1836*89c4ff92SAndroid Build Coastguard Worker bool VerifyLayer(flatbuffers::Verifier &verifier, const void *obj, Layer type);
1837*89c4ff92SAndroid Build Coastguard Worker bool VerifyLayerVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types);
1838*89c4ff92SAndroid Build Coastguard Worker
1839*89c4ff92SAndroid Build Coastguard Worker FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(4) Connection FLATBUFFERS_FINAL_CLASS {
1840*89c4ff92SAndroid Build Coastguard Worker private:
1841*89c4ff92SAndroid Build Coastguard Worker uint32_t sourceLayerIndex_;
1842*89c4ff92SAndroid Build Coastguard Worker uint32_t outputSlotIndex_;
1843*89c4ff92SAndroid Build Coastguard Worker
1844*89c4ff92SAndroid Build Coastguard Worker public:
1845*89c4ff92SAndroid Build Coastguard Worker Connection()
1846*89c4ff92SAndroid Build Coastguard Worker : sourceLayerIndex_(0),
1847*89c4ff92SAndroid Build Coastguard Worker outputSlotIndex_(0) {
1848*89c4ff92SAndroid Build Coastguard Worker }
1849*89c4ff92SAndroid Build Coastguard Worker Connection(uint32_t _sourceLayerIndex, uint32_t _outputSlotIndex)
1850*89c4ff92SAndroid Build Coastguard Worker : sourceLayerIndex_(flatbuffers::EndianScalar(_sourceLayerIndex)),
1851*89c4ff92SAndroid Build Coastguard Worker outputSlotIndex_(flatbuffers::EndianScalar(_outputSlotIndex)) {
1852*89c4ff92SAndroid Build Coastguard Worker }
1853*89c4ff92SAndroid Build Coastguard Worker uint32_t sourceLayerIndex() const {
1854*89c4ff92SAndroid Build Coastguard Worker return flatbuffers::EndianScalar(sourceLayerIndex_);
1855*89c4ff92SAndroid Build Coastguard Worker }
1856*89c4ff92SAndroid Build Coastguard Worker uint32_t outputSlotIndex() const {
1857*89c4ff92SAndroid Build Coastguard Worker return flatbuffers::EndianScalar(outputSlotIndex_);
1858*89c4ff92SAndroid Build Coastguard Worker }
1859*89c4ff92SAndroid Build Coastguard Worker };
1860*89c4ff92SAndroid Build Coastguard Worker FLATBUFFERS_STRUCT_END(Connection, 8);
1861*89c4ff92SAndroid Build Coastguard Worker
1862*89c4ff92SAndroid Build Coastguard Worker struct TensorInfo FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1863*89c4ff92SAndroid Build Coastguard Worker typedef TensorInfoBuilder Builder;
1864*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1865*89c4ff92SAndroid Build Coastguard Worker VT_DIMENSIONS = 4,
1866*89c4ff92SAndroid Build Coastguard Worker VT_DATATYPE = 6,
1867*89c4ff92SAndroid Build Coastguard Worker VT_QUANTIZATIONSCALE = 8,
1868*89c4ff92SAndroid Build Coastguard Worker VT_QUANTIZATIONOFFSET = 10,
1869*89c4ff92SAndroid Build Coastguard Worker VT_QUANTIZATIONSCALES = 12,
1870*89c4ff92SAndroid Build Coastguard Worker VT_QUANTIZATIONDIM = 14,
1871*89c4ff92SAndroid Build Coastguard Worker VT_DIMENSIONALITY = 16,
1872*89c4ff92SAndroid Build Coastguard Worker VT_DIMENSIONSPECIFICITY = 18,
1873*89c4ff92SAndroid Build Coastguard Worker VT_ISCONSTANT = 20
1874*89c4ff92SAndroid Build Coastguard Worker };
1875*89c4ff92SAndroid Build Coastguard Worker const flatbuffers::Vector<uint32_t> *dimensions() const {
1876*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_DIMENSIONS);
1877*89c4ff92SAndroid Build Coastguard Worker }
1878*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataType dataType() const {
1879*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::DataType>(GetField<int8_t>(VT_DATATYPE, 0));
1880*89c4ff92SAndroid Build Coastguard Worker }
1881*89c4ff92SAndroid Build Coastguard Worker float quantizationScale() const {
1882*89c4ff92SAndroid Build Coastguard Worker return GetField<float>(VT_QUANTIZATIONSCALE, 1.0f);
1883*89c4ff92SAndroid Build Coastguard Worker }
1884*89c4ff92SAndroid Build Coastguard Worker int32_t quantizationOffset() const {
1885*89c4ff92SAndroid Build Coastguard Worker return GetField<int32_t>(VT_QUANTIZATIONOFFSET, 0);
1886*89c4ff92SAndroid Build Coastguard Worker }
1887*89c4ff92SAndroid Build Coastguard Worker const flatbuffers::Vector<float> *quantizationScales() const {
1888*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const flatbuffers::Vector<float> *>(VT_QUANTIZATIONSCALES);
1889*89c4ff92SAndroid Build Coastguard Worker }
1890*89c4ff92SAndroid Build Coastguard Worker uint32_t quantizationDim() const {
1891*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_QUANTIZATIONDIM, 0);
1892*89c4ff92SAndroid Build Coastguard Worker }
1893*89c4ff92SAndroid Build Coastguard Worker uint32_t dimensionality() const {
1894*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_DIMENSIONALITY, 1);
1895*89c4ff92SAndroid Build Coastguard Worker }
1896*89c4ff92SAndroid Build Coastguard Worker const flatbuffers::Vector<uint8_t> *dimensionSpecificity() const {
1897*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_DIMENSIONSPECIFICITY);
1898*89c4ff92SAndroid Build Coastguard Worker }
1899*89c4ff92SAndroid Build Coastguard Worker bool isConstant() const {
1900*89c4ff92SAndroid Build Coastguard Worker return GetField<uint8_t>(VT_ISCONSTANT, 0) != 0;
1901*89c4ff92SAndroid Build Coastguard Worker }
1902*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
1903*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
1904*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DIMENSIONS) &&
1905*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVector(dimensions()) &&
1906*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_DATATYPE, 1) &&
1907*89c4ff92SAndroid Build Coastguard Worker VerifyField<float>(verifier, VT_QUANTIZATIONSCALE, 4) &&
1908*89c4ff92SAndroid Build Coastguard Worker VerifyField<int32_t>(verifier, VT_QUANTIZATIONOFFSET, 4) &&
1909*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_QUANTIZATIONSCALES) &&
1910*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVector(quantizationScales()) &&
1911*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_QUANTIZATIONDIM, 4) &&
1912*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_DIMENSIONALITY, 4) &&
1913*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DIMENSIONSPECIFICITY) &&
1914*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVector(dimensionSpecificity()) &&
1915*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_ISCONSTANT, 1) &&
1916*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
1917*89c4ff92SAndroid Build Coastguard Worker }
1918*89c4ff92SAndroid Build Coastguard Worker };
1919*89c4ff92SAndroid Build Coastguard Worker
1920*89c4ff92SAndroid Build Coastguard Worker struct TensorInfoBuilder {
1921*89c4ff92SAndroid Build Coastguard Worker typedef TensorInfo Table;
1922*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
1923*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
1924*89c4ff92SAndroid Build Coastguard Worker void add_dimensions(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> dimensions) {
1925*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(TensorInfo::VT_DIMENSIONS, dimensions);
1926*89c4ff92SAndroid Build Coastguard Worker }
1927*89c4ff92SAndroid Build Coastguard Worker void add_dataType(armnnSerializer::DataType dataType) {
1928*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(TensorInfo::VT_DATATYPE, static_cast<int8_t>(dataType), 0);
1929*89c4ff92SAndroid Build Coastguard Worker }
1930*89c4ff92SAndroid Build Coastguard Worker void add_quantizationScale(float quantizationScale) {
1931*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<float>(TensorInfo::VT_QUANTIZATIONSCALE, quantizationScale, 1.0f);
1932*89c4ff92SAndroid Build Coastguard Worker }
1933*89c4ff92SAndroid Build Coastguard Worker void add_quantizationOffset(int32_t quantizationOffset) {
1934*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int32_t>(TensorInfo::VT_QUANTIZATIONOFFSET, quantizationOffset, 0);
1935*89c4ff92SAndroid Build Coastguard Worker }
1936*89c4ff92SAndroid Build Coastguard Worker void add_quantizationScales(flatbuffers::Offset<flatbuffers::Vector<float>> quantizationScales) {
1937*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(TensorInfo::VT_QUANTIZATIONSCALES, quantizationScales);
1938*89c4ff92SAndroid Build Coastguard Worker }
1939*89c4ff92SAndroid Build Coastguard Worker void add_quantizationDim(uint32_t quantizationDim) {
1940*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(TensorInfo::VT_QUANTIZATIONDIM, quantizationDim, 0);
1941*89c4ff92SAndroid Build Coastguard Worker }
1942*89c4ff92SAndroid Build Coastguard Worker void add_dimensionality(uint32_t dimensionality) {
1943*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(TensorInfo::VT_DIMENSIONALITY, dimensionality, 1);
1944*89c4ff92SAndroid Build Coastguard Worker }
1945*89c4ff92SAndroid Build Coastguard Worker void add_dimensionSpecificity(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> dimensionSpecificity) {
1946*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(TensorInfo::VT_DIMENSIONSPECIFICITY, dimensionSpecificity);
1947*89c4ff92SAndroid Build Coastguard Worker }
1948*89c4ff92SAndroid Build Coastguard Worker void add_isConstant(bool isConstant) {
1949*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(TensorInfo::VT_ISCONSTANT, static_cast<uint8_t>(isConstant), 0);
1950*89c4ff92SAndroid Build Coastguard Worker }
1951*89c4ff92SAndroid Build Coastguard Worker explicit TensorInfoBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1952*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
1953*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
1954*89c4ff92SAndroid Build Coastguard Worker }
1955*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<TensorInfo> Finish() {
1956*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
1957*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<TensorInfo>(end);
1958*89c4ff92SAndroid Build Coastguard Worker return o;
1959*89c4ff92SAndroid Build Coastguard Worker }
1960*89c4ff92SAndroid Build Coastguard Worker };
1961*89c4ff92SAndroid Build Coastguard Worker
1962*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<TensorInfo> CreateTensorInfo(
1963*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
1964*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<flatbuffers::Vector<uint32_t>> dimensions = 0,
1965*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataType dataType = armnnSerializer::DataType_Float16,
1966*89c4ff92SAndroid Build Coastguard Worker float quantizationScale = 1.0f,
1967*89c4ff92SAndroid Build Coastguard Worker int32_t quantizationOffset = 0,
1968*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<flatbuffers::Vector<float>> quantizationScales = 0,
1969*89c4ff92SAndroid Build Coastguard Worker uint32_t quantizationDim = 0,
1970*89c4ff92SAndroid Build Coastguard Worker uint32_t dimensionality = 1,
1971*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<flatbuffers::Vector<uint8_t>> dimensionSpecificity = 0,
1972*89c4ff92SAndroid Build Coastguard Worker bool isConstant = false) {
1973*89c4ff92SAndroid Build Coastguard Worker TensorInfoBuilder builder_(_fbb);
1974*89c4ff92SAndroid Build Coastguard Worker builder_.add_dimensionSpecificity(dimensionSpecificity);
1975*89c4ff92SAndroid Build Coastguard Worker builder_.add_dimensionality(dimensionality);
1976*89c4ff92SAndroid Build Coastguard Worker builder_.add_quantizationDim(quantizationDim);
1977*89c4ff92SAndroid Build Coastguard Worker builder_.add_quantizationScales(quantizationScales);
1978*89c4ff92SAndroid Build Coastguard Worker builder_.add_quantizationOffset(quantizationOffset);
1979*89c4ff92SAndroid Build Coastguard Worker builder_.add_quantizationScale(quantizationScale);
1980*89c4ff92SAndroid Build Coastguard Worker builder_.add_dimensions(dimensions);
1981*89c4ff92SAndroid Build Coastguard Worker builder_.add_isConstant(isConstant);
1982*89c4ff92SAndroid Build Coastguard Worker builder_.add_dataType(dataType);
1983*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
1984*89c4ff92SAndroid Build Coastguard Worker }
1985*89c4ff92SAndroid Build Coastguard Worker
1986*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<TensorInfo> CreateTensorInfoDirect(
1987*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
1988*89c4ff92SAndroid Build Coastguard Worker const std::vector<uint32_t> *dimensions = nullptr,
1989*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataType dataType = armnnSerializer::DataType_Float16,
1990*89c4ff92SAndroid Build Coastguard Worker float quantizationScale = 1.0f,
1991*89c4ff92SAndroid Build Coastguard Worker int32_t quantizationOffset = 0,
1992*89c4ff92SAndroid Build Coastguard Worker const std::vector<float> *quantizationScales = nullptr,
1993*89c4ff92SAndroid Build Coastguard Worker uint32_t quantizationDim = 0,
1994*89c4ff92SAndroid Build Coastguard Worker uint32_t dimensionality = 1,
1995*89c4ff92SAndroid Build Coastguard Worker const std::vector<uint8_t> *dimensionSpecificity = nullptr,
1996*89c4ff92SAndroid Build Coastguard Worker bool isConstant = false) {
1997*89c4ff92SAndroid Build Coastguard Worker auto dimensions__ = dimensions ? _fbb.CreateVector<uint32_t>(*dimensions) : 0;
1998*89c4ff92SAndroid Build Coastguard Worker auto quantizationScales__ = quantizationScales ? _fbb.CreateVector<float>(*quantizationScales) : 0;
1999*89c4ff92SAndroid Build Coastguard Worker auto dimensionSpecificity__ = dimensionSpecificity ? _fbb.CreateVector<uint8_t>(*dimensionSpecificity) : 0;
2000*89c4ff92SAndroid Build Coastguard Worker return armnnSerializer::CreateTensorInfo(
2001*89c4ff92SAndroid Build Coastguard Worker _fbb,
2002*89c4ff92SAndroid Build Coastguard Worker dimensions__,
2003*89c4ff92SAndroid Build Coastguard Worker dataType,
2004*89c4ff92SAndroid Build Coastguard Worker quantizationScale,
2005*89c4ff92SAndroid Build Coastguard Worker quantizationOffset,
2006*89c4ff92SAndroid Build Coastguard Worker quantizationScales__,
2007*89c4ff92SAndroid Build Coastguard Worker quantizationDim,
2008*89c4ff92SAndroid Build Coastguard Worker dimensionality,
2009*89c4ff92SAndroid Build Coastguard Worker dimensionSpecificity__,
2010*89c4ff92SAndroid Build Coastguard Worker isConstant);
2011*89c4ff92SAndroid Build Coastguard Worker }
2012*89c4ff92SAndroid Build Coastguard Worker
2013*89c4ff92SAndroid Build Coastguard Worker struct ByteData FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2014*89c4ff92SAndroid Build Coastguard Worker typedef ByteDataBuilder Builder;
2015*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2016*89c4ff92SAndroid Build Coastguard Worker VT_DATA = 4
2017*89c4ff92SAndroid Build Coastguard Worker };
2018*89c4ff92SAndroid Build Coastguard Worker const flatbuffers::Vector<int8_t> *data() const {
2019*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_DATA);
2020*89c4ff92SAndroid Build Coastguard Worker }
2021*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
2022*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
2023*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DATA) &&
2024*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVector(data()) &&
2025*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
2026*89c4ff92SAndroid Build Coastguard Worker }
2027*89c4ff92SAndroid Build Coastguard Worker };
2028*89c4ff92SAndroid Build Coastguard Worker
2029*89c4ff92SAndroid Build Coastguard Worker struct ByteDataBuilder {
2030*89c4ff92SAndroid Build Coastguard Worker typedef ByteData Table;
2031*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
2032*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
2033*89c4ff92SAndroid Build Coastguard Worker void add_data(flatbuffers::Offset<flatbuffers::Vector<int8_t>> data) {
2034*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ByteData::VT_DATA, data);
2035*89c4ff92SAndroid Build Coastguard Worker }
2036*89c4ff92SAndroid Build Coastguard Worker explicit ByteDataBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2037*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
2038*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
2039*89c4ff92SAndroid Build Coastguard Worker }
2040*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<ByteData> Finish() {
2041*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
2042*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<ByteData>(end);
2043*89c4ff92SAndroid Build Coastguard Worker return o;
2044*89c4ff92SAndroid Build Coastguard Worker }
2045*89c4ff92SAndroid Build Coastguard Worker };
2046*89c4ff92SAndroid Build Coastguard Worker
2047*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<ByteData> CreateByteData(
2048*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
2049*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<flatbuffers::Vector<int8_t>> data = 0) {
2050*89c4ff92SAndroid Build Coastguard Worker ByteDataBuilder builder_(_fbb);
2051*89c4ff92SAndroid Build Coastguard Worker builder_.add_data(data);
2052*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
2053*89c4ff92SAndroid Build Coastguard Worker }
2054*89c4ff92SAndroid Build Coastguard Worker
2055*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<ByteData> CreateByteDataDirect(
2056*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
2057*89c4ff92SAndroid Build Coastguard Worker const std::vector<int8_t> *data = nullptr) {
2058*89c4ff92SAndroid Build Coastguard Worker auto data__ = data ? _fbb.CreateVector<int8_t>(*data) : 0;
2059*89c4ff92SAndroid Build Coastguard Worker return armnnSerializer::CreateByteData(
2060*89c4ff92SAndroid Build Coastguard Worker _fbb,
2061*89c4ff92SAndroid Build Coastguard Worker data__);
2062*89c4ff92SAndroid Build Coastguard Worker }
2063*89c4ff92SAndroid Build Coastguard Worker
2064*89c4ff92SAndroid Build Coastguard Worker struct ShortData FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2065*89c4ff92SAndroid Build Coastguard Worker typedef ShortDataBuilder Builder;
2066*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2067*89c4ff92SAndroid Build Coastguard Worker VT_DATA = 4
2068*89c4ff92SAndroid Build Coastguard Worker };
2069*89c4ff92SAndroid Build Coastguard Worker const flatbuffers::Vector<int16_t> *data() const {
2070*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const flatbuffers::Vector<int16_t> *>(VT_DATA);
2071*89c4ff92SAndroid Build Coastguard Worker }
2072*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
2073*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
2074*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DATA) &&
2075*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVector(data()) &&
2076*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
2077*89c4ff92SAndroid Build Coastguard Worker }
2078*89c4ff92SAndroid Build Coastguard Worker };
2079*89c4ff92SAndroid Build Coastguard Worker
2080*89c4ff92SAndroid Build Coastguard Worker struct ShortDataBuilder {
2081*89c4ff92SAndroid Build Coastguard Worker typedef ShortData Table;
2082*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
2083*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
2084*89c4ff92SAndroid Build Coastguard Worker void add_data(flatbuffers::Offset<flatbuffers::Vector<int16_t>> data) {
2085*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ShortData::VT_DATA, data);
2086*89c4ff92SAndroid Build Coastguard Worker }
2087*89c4ff92SAndroid Build Coastguard Worker explicit ShortDataBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2088*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
2089*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
2090*89c4ff92SAndroid Build Coastguard Worker }
2091*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<ShortData> Finish() {
2092*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
2093*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<ShortData>(end);
2094*89c4ff92SAndroid Build Coastguard Worker return o;
2095*89c4ff92SAndroid Build Coastguard Worker }
2096*89c4ff92SAndroid Build Coastguard Worker };
2097*89c4ff92SAndroid Build Coastguard Worker
2098*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<ShortData> CreateShortData(
2099*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
2100*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<flatbuffers::Vector<int16_t>> data = 0) {
2101*89c4ff92SAndroid Build Coastguard Worker ShortDataBuilder builder_(_fbb);
2102*89c4ff92SAndroid Build Coastguard Worker builder_.add_data(data);
2103*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
2104*89c4ff92SAndroid Build Coastguard Worker }
2105*89c4ff92SAndroid Build Coastguard Worker
2106*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<ShortData> CreateShortDataDirect(
2107*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
2108*89c4ff92SAndroid Build Coastguard Worker const std::vector<int16_t> *data = nullptr) {
2109*89c4ff92SAndroid Build Coastguard Worker auto data__ = data ? _fbb.CreateVector<int16_t>(*data) : 0;
2110*89c4ff92SAndroid Build Coastguard Worker return armnnSerializer::CreateShortData(
2111*89c4ff92SAndroid Build Coastguard Worker _fbb,
2112*89c4ff92SAndroid Build Coastguard Worker data__);
2113*89c4ff92SAndroid Build Coastguard Worker }
2114*89c4ff92SAndroid Build Coastguard Worker
2115*89c4ff92SAndroid Build Coastguard Worker struct IntData FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2116*89c4ff92SAndroid Build Coastguard Worker typedef IntDataBuilder Builder;
2117*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2118*89c4ff92SAndroid Build Coastguard Worker VT_DATA = 4
2119*89c4ff92SAndroid Build Coastguard Worker };
2120*89c4ff92SAndroid Build Coastguard Worker const flatbuffers::Vector<int32_t> *data() const {
2121*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_DATA);
2122*89c4ff92SAndroid Build Coastguard Worker }
2123*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
2124*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
2125*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DATA) &&
2126*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVector(data()) &&
2127*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
2128*89c4ff92SAndroid Build Coastguard Worker }
2129*89c4ff92SAndroid Build Coastguard Worker };
2130*89c4ff92SAndroid Build Coastguard Worker
2131*89c4ff92SAndroid Build Coastguard Worker struct IntDataBuilder {
2132*89c4ff92SAndroid Build Coastguard Worker typedef IntData Table;
2133*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
2134*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
2135*89c4ff92SAndroid Build Coastguard Worker void add_data(flatbuffers::Offset<flatbuffers::Vector<int32_t>> data) {
2136*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(IntData::VT_DATA, data);
2137*89c4ff92SAndroid Build Coastguard Worker }
2138*89c4ff92SAndroid Build Coastguard Worker explicit IntDataBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2139*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
2140*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
2141*89c4ff92SAndroid Build Coastguard Worker }
2142*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<IntData> Finish() {
2143*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
2144*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<IntData>(end);
2145*89c4ff92SAndroid Build Coastguard Worker return o;
2146*89c4ff92SAndroid Build Coastguard Worker }
2147*89c4ff92SAndroid Build Coastguard Worker };
2148*89c4ff92SAndroid Build Coastguard Worker
2149*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<IntData> CreateIntData(
2150*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
2151*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<flatbuffers::Vector<int32_t>> data = 0) {
2152*89c4ff92SAndroid Build Coastguard Worker IntDataBuilder builder_(_fbb);
2153*89c4ff92SAndroid Build Coastguard Worker builder_.add_data(data);
2154*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
2155*89c4ff92SAndroid Build Coastguard Worker }
2156*89c4ff92SAndroid Build Coastguard Worker
2157*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<IntData> CreateIntDataDirect(
2158*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
2159*89c4ff92SAndroid Build Coastguard Worker const std::vector<int32_t> *data = nullptr) {
2160*89c4ff92SAndroid Build Coastguard Worker auto data__ = data ? _fbb.CreateVector<int32_t>(*data) : 0;
2161*89c4ff92SAndroid Build Coastguard Worker return armnnSerializer::CreateIntData(
2162*89c4ff92SAndroid Build Coastguard Worker _fbb,
2163*89c4ff92SAndroid Build Coastguard Worker data__);
2164*89c4ff92SAndroid Build Coastguard Worker }
2165*89c4ff92SAndroid Build Coastguard Worker
2166*89c4ff92SAndroid Build Coastguard Worker struct LongData FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2167*89c4ff92SAndroid Build Coastguard Worker typedef LongDataBuilder Builder;
2168*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2169*89c4ff92SAndroid Build Coastguard Worker VT_DATA = 4
2170*89c4ff92SAndroid Build Coastguard Worker };
2171*89c4ff92SAndroid Build Coastguard Worker const flatbuffers::Vector<int64_t> *data() const {
2172*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const flatbuffers::Vector<int64_t> *>(VT_DATA);
2173*89c4ff92SAndroid Build Coastguard Worker }
2174*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
2175*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
2176*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DATA) &&
2177*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVector(data()) &&
2178*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
2179*89c4ff92SAndroid Build Coastguard Worker }
2180*89c4ff92SAndroid Build Coastguard Worker };
2181*89c4ff92SAndroid Build Coastguard Worker
2182*89c4ff92SAndroid Build Coastguard Worker struct LongDataBuilder {
2183*89c4ff92SAndroid Build Coastguard Worker typedef LongData Table;
2184*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
2185*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
2186*89c4ff92SAndroid Build Coastguard Worker void add_data(flatbuffers::Offset<flatbuffers::Vector<int64_t>> data) {
2187*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(LongData::VT_DATA, data);
2188*89c4ff92SAndroid Build Coastguard Worker }
2189*89c4ff92SAndroid Build Coastguard Worker explicit LongDataBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2190*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
2191*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
2192*89c4ff92SAndroid Build Coastguard Worker }
2193*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<LongData> Finish() {
2194*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
2195*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<LongData>(end);
2196*89c4ff92SAndroid Build Coastguard Worker return o;
2197*89c4ff92SAndroid Build Coastguard Worker }
2198*89c4ff92SAndroid Build Coastguard Worker };
2199*89c4ff92SAndroid Build Coastguard Worker
2200*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<LongData> CreateLongData(
2201*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
2202*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<flatbuffers::Vector<int64_t>> data = 0) {
2203*89c4ff92SAndroid Build Coastguard Worker LongDataBuilder builder_(_fbb);
2204*89c4ff92SAndroid Build Coastguard Worker builder_.add_data(data);
2205*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
2206*89c4ff92SAndroid Build Coastguard Worker }
2207*89c4ff92SAndroid Build Coastguard Worker
2208*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<LongData> CreateLongDataDirect(
2209*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
2210*89c4ff92SAndroid Build Coastguard Worker const std::vector<int64_t> *data = nullptr) {
2211*89c4ff92SAndroid Build Coastguard Worker auto data__ = data ? _fbb.CreateVector<int64_t>(*data) : 0;
2212*89c4ff92SAndroid Build Coastguard Worker return armnnSerializer::CreateLongData(
2213*89c4ff92SAndroid Build Coastguard Worker _fbb,
2214*89c4ff92SAndroid Build Coastguard Worker data__);
2215*89c4ff92SAndroid Build Coastguard Worker }
2216*89c4ff92SAndroid Build Coastguard Worker
2217*89c4ff92SAndroid Build Coastguard Worker struct ConstTensor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2218*89c4ff92SAndroid Build Coastguard Worker typedef ConstTensorBuilder Builder;
2219*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2220*89c4ff92SAndroid Build Coastguard Worker VT_INFO = 4,
2221*89c4ff92SAndroid Build Coastguard Worker VT_DATA_TYPE = 6,
2222*89c4ff92SAndroid Build Coastguard Worker VT_DATA = 8
2223*89c4ff92SAndroid Build Coastguard Worker };
2224*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::TensorInfo *info() const {
2225*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::TensorInfo *>(VT_INFO);
2226*89c4ff92SAndroid Build Coastguard Worker }
2227*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::ConstTensorData data_type() const {
2228*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::ConstTensorData>(GetField<uint8_t>(VT_DATA_TYPE, 0));
2229*89c4ff92SAndroid Build Coastguard Worker }
2230*89c4ff92SAndroid Build Coastguard Worker const void *data() const {
2231*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const void *>(VT_DATA);
2232*89c4ff92SAndroid Build Coastguard Worker }
2233*89c4ff92SAndroid Build Coastguard Worker template<typename T> const T *data_as() const;
2234*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ByteData *data_as_ByteData() const {
2235*89c4ff92SAndroid Build Coastguard Worker return data_type() == armnnSerializer::ConstTensorData_ByteData ? static_cast<const armnnSerializer::ByteData *>(data()) : nullptr;
2236*89c4ff92SAndroid Build Coastguard Worker }
2237*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ShortData *data_as_ShortData() const {
2238*89c4ff92SAndroid Build Coastguard Worker return data_type() == armnnSerializer::ConstTensorData_ShortData ? static_cast<const armnnSerializer::ShortData *>(data()) : nullptr;
2239*89c4ff92SAndroid Build Coastguard Worker }
2240*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::IntData *data_as_IntData() const {
2241*89c4ff92SAndroid Build Coastguard Worker return data_type() == armnnSerializer::ConstTensorData_IntData ? static_cast<const armnnSerializer::IntData *>(data()) : nullptr;
2242*89c4ff92SAndroid Build Coastguard Worker }
2243*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LongData *data_as_LongData() const {
2244*89c4ff92SAndroid Build Coastguard Worker return data_type() == armnnSerializer::ConstTensorData_LongData ? static_cast<const armnnSerializer::LongData *>(data()) : nullptr;
2245*89c4ff92SAndroid Build Coastguard Worker }
2246*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
2247*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
2248*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_INFO) &&
2249*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(info()) &&
2250*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_DATA_TYPE, 1) &&
2251*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DATA) &&
2252*89c4ff92SAndroid Build Coastguard Worker VerifyConstTensorData(verifier, data(), data_type()) &&
2253*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
2254*89c4ff92SAndroid Build Coastguard Worker }
2255*89c4ff92SAndroid Build Coastguard Worker };
2256*89c4ff92SAndroid Build Coastguard Worker
2257*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::ByteData *ConstTensor::data_as<armnnSerializer::ByteData>() const {
2258*89c4ff92SAndroid Build Coastguard Worker return data_as_ByteData();
2259*89c4ff92SAndroid Build Coastguard Worker }
2260*89c4ff92SAndroid Build Coastguard Worker
2261*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::ShortData *ConstTensor::data_as<armnnSerializer::ShortData>() const {
2262*89c4ff92SAndroid Build Coastguard Worker return data_as_ShortData();
2263*89c4ff92SAndroid Build Coastguard Worker }
2264*89c4ff92SAndroid Build Coastguard Worker
2265*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::IntData *ConstTensor::data_as<armnnSerializer::IntData>() const {
2266*89c4ff92SAndroid Build Coastguard Worker return data_as_IntData();
2267*89c4ff92SAndroid Build Coastguard Worker }
2268*89c4ff92SAndroid Build Coastguard Worker
2269*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::LongData *ConstTensor::data_as<armnnSerializer::LongData>() const {
2270*89c4ff92SAndroid Build Coastguard Worker return data_as_LongData();
2271*89c4ff92SAndroid Build Coastguard Worker }
2272*89c4ff92SAndroid Build Coastguard Worker
2273*89c4ff92SAndroid Build Coastguard Worker struct ConstTensorBuilder {
2274*89c4ff92SAndroid Build Coastguard Worker typedef ConstTensor Table;
2275*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
2276*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
2277*89c4ff92SAndroid Build Coastguard Worker void add_info(flatbuffers::Offset<armnnSerializer::TensorInfo> info) {
2278*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ConstTensor::VT_INFO, info);
2279*89c4ff92SAndroid Build Coastguard Worker }
2280*89c4ff92SAndroid Build Coastguard Worker void add_data_type(armnnSerializer::ConstTensorData data_type) {
2281*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(ConstTensor::VT_DATA_TYPE, static_cast<uint8_t>(data_type), 0);
2282*89c4ff92SAndroid Build Coastguard Worker }
2283*89c4ff92SAndroid Build Coastguard Worker void add_data(flatbuffers::Offset<void> data) {
2284*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ConstTensor::VT_DATA, data);
2285*89c4ff92SAndroid Build Coastguard Worker }
2286*89c4ff92SAndroid Build Coastguard Worker explicit ConstTensorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2287*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
2288*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
2289*89c4ff92SAndroid Build Coastguard Worker }
2290*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<ConstTensor> Finish() {
2291*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
2292*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<ConstTensor>(end);
2293*89c4ff92SAndroid Build Coastguard Worker return o;
2294*89c4ff92SAndroid Build Coastguard Worker }
2295*89c4ff92SAndroid Build Coastguard Worker };
2296*89c4ff92SAndroid Build Coastguard Worker
2297*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<ConstTensor> CreateConstTensor(
2298*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
2299*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::TensorInfo> info = 0,
2300*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::ConstTensorData data_type = armnnSerializer::ConstTensorData_NONE,
2301*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<void> data = 0) {
2302*89c4ff92SAndroid Build Coastguard Worker ConstTensorBuilder builder_(_fbb);
2303*89c4ff92SAndroid Build Coastguard Worker builder_.add_data(data);
2304*89c4ff92SAndroid Build Coastguard Worker builder_.add_info(info);
2305*89c4ff92SAndroid Build Coastguard Worker builder_.add_data_type(data_type);
2306*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
2307*89c4ff92SAndroid Build Coastguard Worker }
2308*89c4ff92SAndroid Build Coastguard Worker
2309*89c4ff92SAndroid Build Coastguard Worker struct InputSlot FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2310*89c4ff92SAndroid Build Coastguard Worker typedef InputSlotBuilder Builder;
2311*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2312*89c4ff92SAndroid Build Coastguard Worker VT_INDEX = 4,
2313*89c4ff92SAndroid Build Coastguard Worker VT_CONNECTION = 6
2314*89c4ff92SAndroid Build Coastguard Worker };
2315*89c4ff92SAndroid Build Coastguard Worker uint32_t index() const {
2316*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_INDEX, 0);
2317*89c4ff92SAndroid Build Coastguard Worker }
2318*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::Connection *connection() const {
2319*89c4ff92SAndroid Build Coastguard Worker return GetStruct<const armnnSerializer::Connection *>(VT_CONNECTION);
2320*89c4ff92SAndroid Build Coastguard Worker }
2321*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
2322*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
2323*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_INDEX, 4) &&
2324*89c4ff92SAndroid Build Coastguard Worker VerifyField<armnnSerializer::Connection>(verifier, VT_CONNECTION, 4) &&
2325*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
2326*89c4ff92SAndroid Build Coastguard Worker }
2327*89c4ff92SAndroid Build Coastguard Worker };
2328*89c4ff92SAndroid Build Coastguard Worker
2329*89c4ff92SAndroid Build Coastguard Worker struct InputSlotBuilder {
2330*89c4ff92SAndroid Build Coastguard Worker typedef InputSlot Table;
2331*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
2332*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
2333*89c4ff92SAndroid Build Coastguard Worker void add_index(uint32_t index) {
2334*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(InputSlot::VT_INDEX, index, 0);
2335*89c4ff92SAndroid Build Coastguard Worker }
2336*89c4ff92SAndroid Build Coastguard Worker void add_connection(const armnnSerializer::Connection *connection) {
2337*89c4ff92SAndroid Build Coastguard Worker fbb_.AddStruct(InputSlot::VT_CONNECTION, connection);
2338*89c4ff92SAndroid Build Coastguard Worker }
2339*89c4ff92SAndroid Build Coastguard Worker explicit InputSlotBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2340*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
2341*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
2342*89c4ff92SAndroid Build Coastguard Worker }
2343*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<InputSlot> Finish() {
2344*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
2345*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<InputSlot>(end);
2346*89c4ff92SAndroid Build Coastguard Worker return o;
2347*89c4ff92SAndroid Build Coastguard Worker }
2348*89c4ff92SAndroid Build Coastguard Worker };
2349*89c4ff92SAndroid Build Coastguard Worker
2350*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<InputSlot> CreateInputSlot(
2351*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
2352*89c4ff92SAndroid Build Coastguard Worker uint32_t index = 0,
2353*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::Connection *connection = nullptr) {
2354*89c4ff92SAndroid Build Coastguard Worker InputSlotBuilder builder_(_fbb);
2355*89c4ff92SAndroid Build Coastguard Worker builder_.add_connection(connection);
2356*89c4ff92SAndroid Build Coastguard Worker builder_.add_index(index);
2357*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
2358*89c4ff92SAndroid Build Coastguard Worker }
2359*89c4ff92SAndroid Build Coastguard Worker
2360*89c4ff92SAndroid Build Coastguard Worker struct OutputSlot FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2361*89c4ff92SAndroid Build Coastguard Worker typedef OutputSlotBuilder Builder;
2362*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2363*89c4ff92SAndroid Build Coastguard Worker VT_INDEX = 4,
2364*89c4ff92SAndroid Build Coastguard Worker VT_TENSORINFO = 6
2365*89c4ff92SAndroid Build Coastguard Worker };
2366*89c4ff92SAndroid Build Coastguard Worker uint32_t index() const {
2367*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_INDEX, 0);
2368*89c4ff92SAndroid Build Coastguard Worker }
2369*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::TensorInfo *tensorInfo() const {
2370*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::TensorInfo *>(VT_TENSORINFO);
2371*89c4ff92SAndroid Build Coastguard Worker }
2372*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
2373*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
2374*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_INDEX, 4) &&
2375*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_TENSORINFO) &&
2376*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(tensorInfo()) &&
2377*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
2378*89c4ff92SAndroid Build Coastguard Worker }
2379*89c4ff92SAndroid Build Coastguard Worker };
2380*89c4ff92SAndroid Build Coastguard Worker
2381*89c4ff92SAndroid Build Coastguard Worker struct OutputSlotBuilder {
2382*89c4ff92SAndroid Build Coastguard Worker typedef OutputSlot Table;
2383*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
2384*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
2385*89c4ff92SAndroid Build Coastguard Worker void add_index(uint32_t index) {
2386*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(OutputSlot::VT_INDEX, index, 0);
2387*89c4ff92SAndroid Build Coastguard Worker }
2388*89c4ff92SAndroid Build Coastguard Worker void add_tensorInfo(flatbuffers::Offset<armnnSerializer::TensorInfo> tensorInfo) {
2389*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(OutputSlot::VT_TENSORINFO, tensorInfo);
2390*89c4ff92SAndroid Build Coastguard Worker }
2391*89c4ff92SAndroid Build Coastguard Worker explicit OutputSlotBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2392*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
2393*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
2394*89c4ff92SAndroid Build Coastguard Worker }
2395*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<OutputSlot> Finish() {
2396*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
2397*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<OutputSlot>(end);
2398*89c4ff92SAndroid Build Coastguard Worker return o;
2399*89c4ff92SAndroid Build Coastguard Worker }
2400*89c4ff92SAndroid Build Coastguard Worker };
2401*89c4ff92SAndroid Build Coastguard Worker
2402*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<OutputSlot> CreateOutputSlot(
2403*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
2404*89c4ff92SAndroid Build Coastguard Worker uint32_t index = 0,
2405*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::TensorInfo> tensorInfo = 0) {
2406*89c4ff92SAndroid Build Coastguard Worker OutputSlotBuilder builder_(_fbb);
2407*89c4ff92SAndroid Build Coastguard Worker builder_.add_tensorInfo(tensorInfo);
2408*89c4ff92SAndroid Build Coastguard Worker builder_.add_index(index);
2409*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
2410*89c4ff92SAndroid Build Coastguard Worker }
2411*89c4ff92SAndroid Build Coastguard Worker
2412*89c4ff92SAndroid Build Coastguard Worker struct LayerBase FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2413*89c4ff92SAndroid Build Coastguard Worker typedef LayerBaseBuilder Builder;
2414*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2415*89c4ff92SAndroid Build Coastguard Worker VT_INDEX = 4,
2416*89c4ff92SAndroid Build Coastguard Worker VT_LAYERNAME = 6,
2417*89c4ff92SAndroid Build Coastguard Worker VT_LAYERTYPE = 8,
2418*89c4ff92SAndroid Build Coastguard Worker VT_INPUTSLOTS = 10,
2419*89c4ff92SAndroid Build Coastguard Worker VT_OUTPUTSLOTS = 12
2420*89c4ff92SAndroid Build Coastguard Worker };
2421*89c4ff92SAndroid Build Coastguard Worker uint32_t index() const {
2422*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_INDEX, 0);
2423*89c4ff92SAndroid Build Coastguard Worker }
2424*89c4ff92SAndroid Build Coastguard Worker const flatbuffers::String *layerName() const {
2425*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const flatbuffers::String *>(VT_LAYERNAME);
2426*89c4ff92SAndroid Build Coastguard Worker }
2427*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::LayerType layerType() const {
2428*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::LayerType>(GetField<uint32_t>(VT_LAYERTYPE, 0));
2429*89c4ff92SAndroid Build Coastguard Worker }
2430*89c4ff92SAndroid Build Coastguard Worker const flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::InputSlot>> *inputSlots() const {
2431*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::InputSlot>> *>(VT_INPUTSLOTS);
2432*89c4ff92SAndroid Build Coastguard Worker }
2433*89c4ff92SAndroid Build Coastguard Worker const flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::OutputSlot>> *outputSlots() const {
2434*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::OutputSlot>> *>(VT_OUTPUTSLOTS);
2435*89c4ff92SAndroid Build Coastguard Worker }
2436*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
2437*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
2438*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_INDEX, 4) &&
2439*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_LAYERNAME) &&
2440*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyString(layerName()) &&
2441*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_LAYERTYPE, 4) &&
2442*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_INPUTSLOTS) &&
2443*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVector(inputSlots()) &&
2444*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVectorOfTables(inputSlots()) &&
2445*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_OUTPUTSLOTS) &&
2446*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVector(outputSlots()) &&
2447*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVectorOfTables(outputSlots()) &&
2448*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
2449*89c4ff92SAndroid Build Coastguard Worker }
2450*89c4ff92SAndroid Build Coastguard Worker };
2451*89c4ff92SAndroid Build Coastguard Worker
2452*89c4ff92SAndroid Build Coastguard Worker struct LayerBaseBuilder {
2453*89c4ff92SAndroid Build Coastguard Worker typedef LayerBase Table;
2454*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
2455*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
2456*89c4ff92SAndroid Build Coastguard Worker void add_index(uint32_t index) {
2457*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(LayerBase::VT_INDEX, index, 0);
2458*89c4ff92SAndroid Build Coastguard Worker }
2459*89c4ff92SAndroid Build Coastguard Worker void add_layerName(flatbuffers::Offset<flatbuffers::String> layerName) {
2460*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(LayerBase::VT_LAYERNAME, layerName);
2461*89c4ff92SAndroid Build Coastguard Worker }
2462*89c4ff92SAndroid Build Coastguard Worker void add_layerType(armnnSerializer::LayerType layerType) {
2463*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(LayerBase::VT_LAYERTYPE, static_cast<uint32_t>(layerType), 0);
2464*89c4ff92SAndroid Build Coastguard Worker }
2465*89c4ff92SAndroid Build Coastguard Worker void add_inputSlots(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::InputSlot>>> inputSlots) {
2466*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(LayerBase::VT_INPUTSLOTS, inputSlots);
2467*89c4ff92SAndroid Build Coastguard Worker }
2468*89c4ff92SAndroid Build Coastguard Worker void add_outputSlots(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::OutputSlot>>> outputSlots) {
2469*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(LayerBase::VT_OUTPUTSLOTS, outputSlots);
2470*89c4ff92SAndroid Build Coastguard Worker }
2471*89c4ff92SAndroid Build Coastguard Worker explicit LayerBaseBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2472*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
2473*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
2474*89c4ff92SAndroid Build Coastguard Worker }
2475*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<LayerBase> Finish() {
2476*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
2477*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<LayerBase>(end);
2478*89c4ff92SAndroid Build Coastguard Worker return o;
2479*89c4ff92SAndroid Build Coastguard Worker }
2480*89c4ff92SAndroid Build Coastguard Worker };
2481*89c4ff92SAndroid Build Coastguard Worker
2482*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<LayerBase> CreateLayerBase(
2483*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
2484*89c4ff92SAndroid Build Coastguard Worker uint32_t index = 0,
2485*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<flatbuffers::String> layerName = 0,
2486*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::LayerType layerType = armnnSerializer::LayerType_Addition,
2487*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::InputSlot>>> inputSlots = 0,
2488*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::OutputSlot>>> outputSlots = 0) {
2489*89c4ff92SAndroid Build Coastguard Worker LayerBaseBuilder builder_(_fbb);
2490*89c4ff92SAndroid Build Coastguard Worker builder_.add_outputSlots(outputSlots);
2491*89c4ff92SAndroid Build Coastguard Worker builder_.add_inputSlots(inputSlots);
2492*89c4ff92SAndroid Build Coastguard Worker builder_.add_layerType(layerType);
2493*89c4ff92SAndroid Build Coastguard Worker builder_.add_layerName(layerName);
2494*89c4ff92SAndroid Build Coastguard Worker builder_.add_index(index);
2495*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
2496*89c4ff92SAndroid Build Coastguard Worker }
2497*89c4ff92SAndroid Build Coastguard Worker
2498*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<LayerBase> CreateLayerBaseDirect(
2499*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
2500*89c4ff92SAndroid Build Coastguard Worker uint32_t index = 0,
2501*89c4ff92SAndroid Build Coastguard Worker const char *layerName = nullptr,
2502*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::LayerType layerType = armnnSerializer::LayerType_Addition,
2503*89c4ff92SAndroid Build Coastguard Worker const std::vector<flatbuffers::Offset<armnnSerializer::InputSlot>> *inputSlots = nullptr,
2504*89c4ff92SAndroid Build Coastguard Worker const std::vector<flatbuffers::Offset<armnnSerializer::OutputSlot>> *outputSlots = nullptr) {
2505*89c4ff92SAndroid Build Coastguard Worker auto layerName__ = layerName ? _fbb.CreateString(layerName) : 0;
2506*89c4ff92SAndroid Build Coastguard Worker auto inputSlots__ = inputSlots ? _fbb.CreateVector<flatbuffers::Offset<armnnSerializer::InputSlot>>(*inputSlots) : 0;
2507*89c4ff92SAndroid Build Coastguard Worker auto outputSlots__ = outputSlots ? _fbb.CreateVector<flatbuffers::Offset<armnnSerializer::OutputSlot>>(*outputSlots) : 0;
2508*89c4ff92SAndroid Build Coastguard Worker return armnnSerializer::CreateLayerBase(
2509*89c4ff92SAndroid Build Coastguard Worker _fbb,
2510*89c4ff92SAndroid Build Coastguard Worker index,
2511*89c4ff92SAndroid Build Coastguard Worker layerName__,
2512*89c4ff92SAndroid Build Coastguard Worker layerType,
2513*89c4ff92SAndroid Build Coastguard Worker inputSlots__,
2514*89c4ff92SAndroid Build Coastguard Worker outputSlots__);
2515*89c4ff92SAndroid Build Coastguard Worker }
2516*89c4ff92SAndroid Build Coastguard Worker
2517*89c4ff92SAndroid Build Coastguard Worker struct BindableLayerBase FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2518*89c4ff92SAndroid Build Coastguard Worker typedef BindableLayerBaseBuilder Builder;
2519*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2520*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
2521*89c4ff92SAndroid Build Coastguard Worker VT_LAYERBINDINGID = 6
2522*89c4ff92SAndroid Build Coastguard Worker };
2523*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
2524*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
2525*89c4ff92SAndroid Build Coastguard Worker }
2526*89c4ff92SAndroid Build Coastguard Worker int32_t layerBindingId() const {
2527*89c4ff92SAndroid Build Coastguard Worker return GetField<int32_t>(VT_LAYERBINDINGID, 0);
2528*89c4ff92SAndroid Build Coastguard Worker }
2529*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
2530*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
2531*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
2532*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
2533*89c4ff92SAndroid Build Coastguard Worker VerifyField<int32_t>(verifier, VT_LAYERBINDINGID, 4) &&
2534*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
2535*89c4ff92SAndroid Build Coastguard Worker }
2536*89c4ff92SAndroid Build Coastguard Worker };
2537*89c4ff92SAndroid Build Coastguard Worker
2538*89c4ff92SAndroid Build Coastguard Worker struct BindableLayerBaseBuilder {
2539*89c4ff92SAndroid Build Coastguard Worker typedef BindableLayerBase Table;
2540*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
2541*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
2542*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
2543*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(BindableLayerBase::VT_BASE, base);
2544*89c4ff92SAndroid Build Coastguard Worker }
2545*89c4ff92SAndroid Build Coastguard Worker void add_layerBindingId(int32_t layerBindingId) {
2546*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int32_t>(BindableLayerBase::VT_LAYERBINDINGID, layerBindingId, 0);
2547*89c4ff92SAndroid Build Coastguard Worker }
2548*89c4ff92SAndroid Build Coastguard Worker explicit BindableLayerBaseBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2549*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
2550*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
2551*89c4ff92SAndroid Build Coastguard Worker }
2552*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<BindableLayerBase> Finish() {
2553*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
2554*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<BindableLayerBase>(end);
2555*89c4ff92SAndroid Build Coastguard Worker return o;
2556*89c4ff92SAndroid Build Coastguard Worker }
2557*89c4ff92SAndroid Build Coastguard Worker };
2558*89c4ff92SAndroid Build Coastguard Worker
2559*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<BindableLayerBase> CreateBindableLayerBase(
2560*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
2561*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
2562*89c4ff92SAndroid Build Coastguard Worker int32_t layerBindingId = 0) {
2563*89c4ff92SAndroid Build Coastguard Worker BindableLayerBaseBuilder builder_(_fbb);
2564*89c4ff92SAndroid Build Coastguard Worker builder_.add_layerBindingId(layerBindingId);
2565*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
2566*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
2567*89c4ff92SAndroid Build Coastguard Worker }
2568*89c4ff92SAndroid Build Coastguard Worker
2569*89c4ff92SAndroid Build Coastguard Worker /// @deprecated Use ElementwiseUnaryLayer instead
2570*89c4ff92SAndroid Build Coastguard Worker struct AbsLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2571*89c4ff92SAndroid Build Coastguard Worker typedef AbsLayerBuilder Builder;
2572*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2573*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4
2574*89c4ff92SAndroid Build Coastguard Worker };
2575*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
2576*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
2577*89c4ff92SAndroid Build Coastguard Worker }
2578*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
2579*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
2580*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
2581*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
2582*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
2583*89c4ff92SAndroid Build Coastguard Worker }
2584*89c4ff92SAndroid Build Coastguard Worker };
2585*89c4ff92SAndroid Build Coastguard Worker
2586*89c4ff92SAndroid Build Coastguard Worker struct AbsLayerBuilder {
2587*89c4ff92SAndroid Build Coastguard Worker typedef AbsLayer Table;
2588*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
2589*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
2590*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
2591*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(AbsLayer::VT_BASE, base);
2592*89c4ff92SAndroid Build Coastguard Worker }
2593*89c4ff92SAndroid Build Coastguard Worker explicit AbsLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2594*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
2595*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
2596*89c4ff92SAndroid Build Coastguard Worker }
2597*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<AbsLayer> Finish() {
2598*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
2599*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<AbsLayer>(end);
2600*89c4ff92SAndroid Build Coastguard Worker return o;
2601*89c4ff92SAndroid Build Coastguard Worker }
2602*89c4ff92SAndroid Build Coastguard Worker };
2603*89c4ff92SAndroid Build Coastguard Worker
2604*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<AbsLayer> CreateAbsLayer(
2605*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
2606*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
2607*89c4ff92SAndroid Build Coastguard Worker AbsLayerBuilder builder_(_fbb);
2608*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
2609*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
2610*89c4ff92SAndroid Build Coastguard Worker }
2611*89c4ff92SAndroid Build Coastguard Worker
2612*89c4ff92SAndroid Build Coastguard Worker struct ActivationLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2613*89c4ff92SAndroid Build Coastguard Worker typedef ActivationLayerBuilder Builder;
2614*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2615*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
2616*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
2617*89c4ff92SAndroid Build Coastguard Worker };
2618*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
2619*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
2620*89c4ff92SAndroid Build Coastguard Worker }
2621*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ActivationDescriptor *descriptor() const {
2622*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ActivationDescriptor *>(VT_DESCRIPTOR);
2623*89c4ff92SAndroid Build Coastguard Worker }
2624*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
2625*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
2626*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
2627*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
2628*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
2629*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
2630*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
2631*89c4ff92SAndroid Build Coastguard Worker }
2632*89c4ff92SAndroid Build Coastguard Worker };
2633*89c4ff92SAndroid Build Coastguard Worker
2634*89c4ff92SAndroid Build Coastguard Worker struct ActivationLayerBuilder {
2635*89c4ff92SAndroid Build Coastguard Worker typedef ActivationLayer Table;
2636*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
2637*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
2638*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
2639*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ActivationLayer::VT_BASE, base);
2640*89c4ff92SAndroid Build Coastguard Worker }
2641*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::ActivationDescriptor> descriptor) {
2642*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ActivationLayer::VT_DESCRIPTOR, descriptor);
2643*89c4ff92SAndroid Build Coastguard Worker }
2644*89c4ff92SAndroid Build Coastguard Worker explicit ActivationLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2645*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
2646*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
2647*89c4ff92SAndroid Build Coastguard Worker }
2648*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<ActivationLayer> Finish() {
2649*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
2650*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<ActivationLayer>(end);
2651*89c4ff92SAndroid Build Coastguard Worker return o;
2652*89c4ff92SAndroid Build Coastguard Worker }
2653*89c4ff92SAndroid Build Coastguard Worker };
2654*89c4ff92SAndroid Build Coastguard Worker
2655*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<ActivationLayer> CreateActivationLayer(
2656*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
2657*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
2658*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ActivationDescriptor> descriptor = 0) {
2659*89c4ff92SAndroid Build Coastguard Worker ActivationLayerBuilder builder_(_fbb);
2660*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
2661*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
2662*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
2663*89c4ff92SAndroid Build Coastguard Worker }
2664*89c4ff92SAndroid Build Coastguard Worker
2665*89c4ff92SAndroid Build Coastguard Worker struct ActivationDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2666*89c4ff92SAndroid Build Coastguard Worker typedef ActivationDescriptorBuilder Builder;
2667*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2668*89c4ff92SAndroid Build Coastguard Worker VT_ACTIVATIONFUNCTION = 4,
2669*89c4ff92SAndroid Build Coastguard Worker VT_A = 6,
2670*89c4ff92SAndroid Build Coastguard Worker VT_B = 8
2671*89c4ff92SAndroid Build Coastguard Worker };
2672*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::ActivationFunction activationFunction() const {
2673*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::ActivationFunction>(GetField<int8_t>(VT_ACTIVATIONFUNCTION, 0));
2674*89c4ff92SAndroid Build Coastguard Worker }
2675*89c4ff92SAndroid Build Coastguard Worker float a() const {
2676*89c4ff92SAndroid Build Coastguard Worker return GetField<float>(VT_A, 0.0f);
2677*89c4ff92SAndroid Build Coastguard Worker }
2678*89c4ff92SAndroid Build Coastguard Worker float b() const {
2679*89c4ff92SAndroid Build Coastguard Worker return GetField<float>(VT_B, 0.0f);
2680*89c4ff92SAndroid Build Coastguard Worker }
2681*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
2682*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
2683*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_ACTIVATIONFUNCTION, 1) &&
2684*89c4ff92SAndroid Build Coastguard Worker VerifyField<float>(verifier, VT_A, 4) &&
2685*89c4ff92SAndroid Build Coastguard Worker VerifyField<float>(verifier, VT_B, 4) &&
2686*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
2687*89c4ff92SAndroid Build Coastguard Worker }
2688*89c4ff92SAndroid Build Coastguard Worker };
2689*89c4ff92SAndroid Build Coastguard Worker
2690*89c4ff92SAndroid Build Coastguard Worker struct ActivationDescriptorBuilder {
2691*89c4ff92SAndroid Build Coastguard Worker typedef ActivationDescriptor Table;
2692*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
2693*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
2694*89c4ff92SAndroid Build Coastguard Worker void add_activationFunction(armnnSerializer::ActivationFunction activationFunction) {
2695*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(ActivationDescriptor::VT_ACTIVATIONFUNCTION, static_cast<int8_t>(activationFunction), 0);
2696*89c4ff92SAndroid Build Coastguard Worker }
2697*89c4ff92SAndroid Build Coastguard Worker void add_a(float a) {
2698*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<float>(ActivationDescriptor::VT_A, a, 0.0f);
2699*89c4ff92SAndroid Build Coastguard Worker }
2700*89c4ff92SAndroid Build Coastguard Worker void add_b(float b) {
2701*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<float>(ActivationDescriptor::VT_B, b, 0.0f);
2702*89c4ff92SAndroid Build Coastguard Worker }
2703*89c4ff92SAndroid Build Coastguard Worker explicit ActivationDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2704*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
2705*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
2706*89c4ff92SAndroid Build Coastguard Worker }
2707*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<ActivationDescriptor> Finish() {
2708*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
2709*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<ActivationDescriptor>(end);
2710*89c4ff92SAndroid Build Coastguard Worker return o;
2711*89c4ff92SAndroid Build Coastguard Worker }
2712*89c4ff92SAndroid Build Coastguard Worker };
2713*89c4ff92SAndroid Build Coastguard Worker
2714*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<ActivationDescriptor> CreateActivationDescriptor(
2715*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
2716*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::ActivationFunction activationFunction = armnnSerializer::ActivationFunction_Sigmoid,
2717*89c4ff92SAndroid Build Coastguard Worker float a = 0.0f,
2718*89c4ff92SAndroid Build Coastguard Worker float b = 0.0f) {
2719*89c4ff92SAndroid Build Coastguard Worker ActivationDescriptorBuilder builder_(_fbb);
2720*89c4ff92SAndroid Build Coastguard Worker builder_.add_b(b);
2721*89c4ff92SAndroid Build Coastguard Worker builder_.add_a(a);
2722*89c4ff92SAndroid Build Coastguard Worker builder_.add_activationFunction(activationFunction);
2723*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
2724*89c4ff92SAndroid Build Coastguard Worker }
2725*89c4ff92SAndroid Build Coastguard Worker
2726*89c4ff92SAndroid Build Coastguard Worker struct AdditionLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2727*89c4ff92SAndroid Build Coastguard Worker typedef AdditionLayerBuilder Builder;
2728*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2729*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4
2730*89c4ff92SAndroid Build Coastguard Worker };
2731*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
2732*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
2733*89c4ff92SAndroid Build Coastguard Worker }
2734*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
2735*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
2736*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
2737*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
2738*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
2739*89c4ff92SAndroid Build Coastguard Worker }
2740*89c4ff92SAndroid Build Coastguard Worker };
2741*89c4ff92SAndroid Build Coastguard Worker
2742*89c4ff92SAndroid Build Coastguard Worker struct AdditionLayerBuilder {
2743*89c4ff92SAndroid Build Coastguard Worker typedef AdditionLayer Table;
2744*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
2745*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
2746*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
2747*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(AdditionLayer::VT_BASE, base);
2748*89c4ff92SAndroid Build Coastguard Worker }
2749*89c4ff92SAndroid Build Coastguard Worker explicit AdditionLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2750*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
2751*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
2752*89c4ff92SAndroid Build Coastguard Worker }
2753*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<AdditionLayer> Finish() {
2754*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
2755*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<AdditionLayer>(end);
2756*89c4ff92SAndroid Build Coastguard Worker return o;
2757*89c4ff92SAndroid Build Coastguard Worker }
2758*89c4ff92SAndroid Build Coastguard Worker };
2759*89c4ff92SAndroid Build Coastguard Worker
2760*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<AdditionLayer> CreateAdditionLayer(
2761*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
2762*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
2763*89c4ff92SAndroid Build Coastguard Worker AdditionLayerBuilder builder_(_fbb);
2764*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
2765*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
2766*89c4ff92SAndroid Build Coastguard Worker }
2767*89c4ff92SAndroid Build Coastguard Worker
2768*89c4ff92SAndroid Build Coastguard Worker struct ArgMinMaxLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2769*89c4ff92SAndroid Build Coastguard Worker typedef ArgMinMaxLayerBuilder Builder;
2770*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2771*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
2772*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
2773*89c4ff92SAndroid Build Coastguard Worker };
2774*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
2775*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
2776*89c4ff92SAndroid Build Coastguard Worker }
2777*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ArgMinMaxDescriptor *descriptor() const {
2778*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ArgMinMaxDescriptor *>(VT_DESCRIPTOR);
2779*89c4ff92SAndroid Build Coastguard Worker }
2780*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
2781*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
2782*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
2783*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
2784*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
2785*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
2786*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
2787*89c4ff92SAndroid Build Coastguard Worker }
2788*89c4ff92SAndroid Build Coastguard Worker };
2789*89c4ff92SAndroid Build Coastguard Worker
2790*89c4ff92SAndroid Build Coastguard Worker struct ArgMinMaxLayerBuilder {
2791*89c4ff92SAndroid Build Coastguard Worker typedef ArgMinMaxLayer Table;
2792*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
2793*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
2794*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
2795*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ArgMinMaxLayer::VT_BASE, base);
2796*89c4ff92SAndroid Build Coastguard Worker }
2797*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::ArgMinMaxDescriptor> descriptor) {
2798*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ArgMinMaxLayer::VT_DESCRIPTOR, descriptor);
2799*89c4ff92SAndroid Build Coastguard Worker }
2800*89c4ff92SAndroid Build Coastguard Worker explicit ArgMinMaxLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2801*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
2802*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
2803*89c4ff92SAndroid Build Coastguard Worker }
2804*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<ArgMinMaxLayer> Finish() {
2805*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
2806*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<ArgMinMaxLayer>(end);
2807*89c4ff92SAndroid Build Coastguard Worker return o;
2808*89c4ff92SAndroid Build Coastguard Worker }
2809*89c4ff92SAndroid Build Coastguard Worker };
2810*89c4ff92SAndroid Build Coastguard Worker
2811*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<ArgMinMaxLayer> CreateArgMinMaxLayer(
2812*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
2813*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
2814*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ArgMinMaxDescriptor> descriptor = 0) {
2815*89c4ff92SAndroid Build Coastguard Worker ArgMinMaxLayerBuilder builder_(_fbb);
2816*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
2817*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
2818*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
2819*89c4ff92SAndroid Build Coastguard Worker }
2820*89c4ff92SAndroid Build Coastguard Worker
2821*89c4ff92SAndroid Build Coastguard Worker struct ArgMinMaxDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2822*89c4ff92SAndroid Build Coastguard Worker typedef ArgMinMaxDescriptorBuilder Builder;
2823*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2824*89c4ff92SAndroid Build Coastguard Worker VT_ARGMINMAXFUNCTION = 4,
2825*89c4ff92SAndroid Build Coastguard Worker VT_AXIS = 6
2826*89c4ff92SAndroid Build Coastguard Worker };
2827*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::ArgMinMaxFunction argMinMaxFunction() const {
2828*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::ArgMinMaxFunction>(GetField<int8_t>(VT_ARGMINMAXFUNCTION, 0));
2829*89c4ff92SAndroid Build Coastguard Worker }
2830*89c4ff92SAndroid Build Coastguard Worker int32_t axis() const {
2831*89c4ff92SAndroid Build Coastguard Worker return GetField<int32_t>(VT_AXIS, 0);
2832*89c4ff92SAndroid Build Coastguard Worker }
2833*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
2834*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
2835*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_ARGMINMAXFUNCTION, 1) &&
2836*89c4ff92SAndroid Build Coastguard Worker VerifyField<int32_t>(verifier, VT_AXIS, 4) &&
2837*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
2838*89c4ff92SAndroid Build Coastguard Worker }
2839*89c4ff92SAndroid Build Coastguard Worker };
2840*89c4ff92SAndroid Build Coastguard Worker
2841*89c4ff92SAndroid Build Coastguard Worker struct ArgMinMaxDescriptorBuilder {
2842*89c4ff92SAndroid Build Coastguard Worker typedef ArgMinMaxDescriptor Table;
2843*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
2844*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
2845*89c4ff92SAndroid Build Coastguard Worker void add_argMinMaxFunction(armnnSerializer::ArgMinMaxFunction argMinMaxFunction) {
2846*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(ArgMinMaxDescriptor::VT_ARGMINMAXFUNCTION, static_cast<int8_t>(argMinMaxFunction), 0);
2847*89c4ff92SAndroid Build Coastguard Worker }
2848*89c4ff92SAndroid Build Coastguard Worker void add_axis(int32_t axis) {
2849*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int32_t>(ArgMinMaxDescriptor::VT_AXIS, axis, 0);
2850*89c4ff92SAndroid Build Coastguard Worker }
2851*89c4ff92SAndroid Build Coastguard Worker explicit ArgMinMaxDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2852*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
2853*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
2854*89c4ff92SAndroid Build Coastguard Worker }
2855*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<ArgMinMaxDescriptor> Finish() {
2856*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
2857*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<ArgMinMaxDescriptor>(end);
2858*89c4ff92SAndroid Build Coastguard Worker return o;
2859*89c4ff92SAndroid Build Coastguard Worker }
2860*89c4ff92SAndroid Build Coastguard Worker };
2861*89c4ff92SAndroid Build Coastguard Worker
2862*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<ArgMinMaxDescriptor> CreateArgMinMaxDescriptor(
2863*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
2864*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::ArgMinMaxFunction argMinMaxFunction = armnnSerializer::ArgMinMaxFunction_Min,
2865*89c4ff92SAndroid Build Coastguard Worker int32_t axis = 0) {
2866*89c4ff92SAndroid Build Coastguard Worker ArgMinMaxDescriptorBuilder builder_(_fbb);
2867*89c4ff92SAndroid Build Coastguard Worker builder_.add_axis(axis);
2868*89c4ff92SAndroid Build Coastguard Worker builder_.add_argMinMaxFunction(argMinMaxFunction);
2869*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
2870*89c4ff92SAndroid Build Coastguard Worker }
2871*89c4ff92SAndroid Build Coastguard Worker
2872*89c4ff92SAndroid Build Coastguard Worker struct CastLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2873*89c4ff92SAndroid Build Coastguard Worker typedef CastLayerBuilder Builder;
2874*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2875*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4
2876*89c4ff92SAndroid Build Coastguard Worker };
2877*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
2878*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
2879*89c4ff92SAndroid Build Coastguard Worker }
2880*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
2881*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
2882*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
2883*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
2884*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
2885*89c4ff92SAndroid Build Coastguard Worker }
2886*89c4ff92SAndroid Build Coastguard Worker };
2887*89c4ff92SAndroid Build Coastguard Worker
2888*89c4ff92SAndroid Build Coastguard Worker struct CastLayerBuilder {
2889*89c4ff92SAndroid Build Coastguard Worker typedef CastLayer Table;
2890*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
2891*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
2892*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
2893*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(CastLayer::VT_BASE, base);
2894*89c4ff92SAndroid Build Coastguard Worker }
2895*89c4ff92SAndroid Build Coastguard Worker explicit CastLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2896*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
2897*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
2898*89c4ff92SAndroid Build Coastguard Worker }
2899*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<CastLayer> Finish() {
2900*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
2901*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<CastLayer>(end);
2902*89c4ff92SAndroid Build Coastguard Worker return o;
2903*89c4ff92SAndroid Build Coastguard Worker }
2904*89c4ff92SAndroid Build Coastguard Worker };
2905*89c4ff92SAndroid Build Coastguard Worker
2906*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<CastLayer> CreateCastLayer(
2907*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
2908*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
2909*89c4ff92SAndroid Build Coastguard Worker CastLayerBuilder builder_(_fbb);
2910*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
2911*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
2912*89c4ff92SAndroid Build Coastguard Worker }
2913*89c4ff92SAndroid Build Coastguard Worker
2914*89c4ff92SAndroid Build Coastguard Worker struct ChannelShuffleLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2915*89c4ff92SAndroid Build Coastguard Worker typedef ChannelShuffleLayerBuilder Builder;
2916*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2917*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
2918*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
2919*89c4ff92SAndroid Build Coastguard Worker };
2920*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
2921*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
2922*89c4ff92SAndroid Build Coastguard Worker }
2923*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ChannelShuffleDescriptor *descriptor() const {
2924*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ChannelShuffleDescriptor *>(VT_DESCRIPTOR);
2925*89c4ff92SAndroid Build Coastguard Worker }
2926*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
2927*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
2928*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
2929*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
2930*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
2931*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
2932*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
2933*89c4ff92SAndroid Build Coastguard Worker }
2934*89c4ff92SAndroid Build Coastguard Worker };
2935*89c4ff92SAndroid Build Coastguard Worker
2936*89c4ff92SAndroid Build Coastguard Worker struct ChannelShuffleLayerBuilder {
2937*89c4ff92SAndroid Build Coastguard Worker typedef ChannelShuffleLayer Table;
2938*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
2939*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
2940*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
2941*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ChannelShuffleLayer::VT_BASE, base);
2942*89c4ff92SAndroid Build Coastguard Worker }
2943*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::ChannelShuffleDescriptor> descriptor) {
2944*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ChannelShuffleLayer::VT_DESCRIPTOR, descriptor);
2945*89c4ff92SAndroid Build Coastguard Worker }
2946*89c4ff92SAndroid Build Coastguard Worker explicit ChannelShuffleLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2947*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
2948*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
2949*89c4ff92SAndroid Build Coastguard Worker }
2950*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<ChannelShuffleLayer> Finish() {
2951*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
2952*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<ChannelShuffleLayer>(end);
2953*89c4ff92SAndroid Build Coastguard Worker return o;
2954*89c4ff92SAndroid Build Coastguard Worker }
2955*89c4ff92SAndroid Build Coastguard Worker };
2956*89c4ff92SAndroid Build Coastguard Worker
2957*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<ChannelShuffleLayer> CreateChannelShuffleLayer(
2958*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
2959*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
2960*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ChannelShuffleDescriptor> descriptor = 0) {
2961*89c4ff92SAndroid Build Coastguard Worker ChannelShuffleLayerBuilder builder_(_fbb);
2962*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
2963*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
2964*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
2965*89c4ff92SAndroid Build Coastguard Worker }
2966*89c4ff92SAndroid Build Coastguard Worker
2967*89c4ff92SAndroid Build Coastguard Worker struct ChannelShuffleDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2968*89c4ff92SAndroid Build Coastguard Worker typedef ChannelShuffleDescriptorBuilder Builder;
2969*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2970*89c4ff92SAndroid Build Coastguard Worker VT_AXIS = 4,
2971*89c4ff92SAndroid Build Coastguard Worker VT_NUMGROUPS = 6
2972*89c4ff92SAndroid Build Coastguard Worker };
2973*89c4ff92SAndroid Build Coastguard Worker uint32_t axis() const {
2974*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_AXIS, 0);
2975*89c4ff92SAndroid Build Coastguard Worker }
2976*89c4ff92SAndroid Build Coastguard Worker uint32_t numGroups() const {
2977*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_NUMGROUPS, 0);
2978*89c4ff92SAndroid Build Coastguard Worker }
2979*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
2980*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
2981*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_AXIS, 4) &&
2982*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_NUMGROUPS, 4) &&
2983*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
2984*89c4ff92SAndroid Build Coastguard Worker }
2985*89c4ff92SAndroid Build Coastguard Worker };
2986*89c4ff92SAndroid Build Coastguard Worker
2987*89c4ff92SAndroid Build Coastguard Worker struct ChannelShuffleDescriptorBuilder {
2988*89c4ff92SAndroid Build Coastguard Worker typedef ChannelShuffleDescriptor Table;
2989*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
2990*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
2991*89c4ff92SAndroid Build Coastguard Worker void add_axis(uint32_t axis) {
2992*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(ChannelShuffleDescriptor::VT_AXIS, axis, 0);
2993*89c4ff92SAndroid Build Coastguard Worker }
2994*89c4ff92SAndroid Build Coastguard Worker void add_numGroups(uint32_t numGroups) {
2995*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(ChannelShuffleDescriptor::VT_NUMGROUPS, numGroups, 0);
2996*89c4ff92SAndroid Build Coastguard Worker }
2997*89c4ff92SAndroid Build Coastguard Worker explicit ChannelShuffleDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2998*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
2999*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
3000*89c4ff92SAndroid Build Coastguard Worker }
3001*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<ChannelShuffleDescriptor> Finish() {
3002*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
3003*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<ChannelShuffleDescriptor>(end);
3004*89c4ff92SAndroid Build Coastguard Worker return o;
3005*89c4ff92SAndroid Build Coastguard Worker }
3006*89c4ff92SAndroid Build Coastguard Worker };
3007*89c4ff92SAndroid Build Coastguard Worker
3008*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<ChannelShuffleDescriptor> CreateChannelShuffleDescriptor(
3009*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
3010*89c4ff92SAndroid Build Coastguard Worker uint32_t axis = 0,
3011*89c4ff92SAndroid Build Coastguard Worker uint32_t numGroups = 0) {
3012*89c4ff92SAndroid Build Coastguard Worker ChannelShuffleDescriptorBuilder builder_(_fbb);
3013*89c4ff92SAndroid Build Coastguard Worker builder_.add_numGroups(numGroups);
3014*89c4ff92SAndroid Build Coastguard Worker builder_.add_axis(axis);
3015*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
3016*89c4ff92SAndroid Build Coastguard Worker }
3017*89c4ff92SAndroid Build Coastguard Worker
3018*89c4ff92SAndroid Build Coastguard Worker struct ComparisonDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3019*89c4ff92SAndroid Build Coastguard Worker typedef ComparisonDescriptorBuilder Builder;
3020*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3021*89c4ff92SAndroid Build Coastguard Worker VT_OPERATION = 4
3022*89c4ff92SAndroid Build Coastguard Worker };
3023*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::ComparisonOperation operation() const {
3024*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::ComparisonOperation>(GetField<int8_t>(VT_OPERATION, 0));
3025*89c4ff92SAndroid Build Coastguard Worker }
3026*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
3027*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
3028*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_OPERATION, 1) &&
3029*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
3030*89c4ff92SAndroid Build Coastguard Worker }
3031*89c4ff92SAndroid Build Coastguard Worker };
3032*89c4ff92SAndroid Build Coastguard Worker
3033*89c4ff92SAndroid Build Coastguard Worker struct ComparisonDescriptorBuilder {
3034*89c4ff92SAndroid Build Coastguard Worker typedef ComparisonDescriptor Table;
3035*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
3036*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
3037*89c4ff92SAndroid Build Coastguard Worker void add_operation(armnnSerializer::ComparisonOperation operation) {
3038*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(ComparisonDescriptor::VT_OPERATION, static_cast<int8_t>(operation), 0);
3039*89c4ff92SAndroid Build Coastguard Worker }
3040*89c4ff92SAndroid Build Coastguard Worker explicit ComparisonDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3041*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
3042*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
3043*89c4ff92SAndroid Build Coastguard Worker }
3044*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<ComparisonDescriptor> Finish() {
3045*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
3046*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<ComparisonDescriptor>(end);
3047*89c4ff92SAndroid Build Coastguard Worker return o;
3048*89c4ff92SAndroid Build Coastguard Worker }
3049*89c4ff92SAndroid Build Coastguard Worker };
3050*89c4ff92SAndroid Build Coastguard Worker
3051*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<ComparisonDescriptor> CreateComparisonDescriptor(
3052*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
3053*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::ComparisonOperation operation = armnnSerializer::ComparisonOperation_Equal) {
3054*89c4ff92SAndroid Build Coastguard Worker ComparisonDescriptorBuilder builder_(_fbb);
3055*89c4ff92SAndroid Build Coastguard Worker builder_.add_operation(operation);
3056*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
3057*89c4ff92SAndroid Build Coastguard Worker }
3058*89c4ff92SAndroid Build Coastguard Worker
3059*89c4ff92SAndroid Build Coastguard Worker struct ComparisonLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3060*89c4ff92SAndroid Build Coastguard Worker typedef ComparisonLayerBuilder Builder;
3061*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3062*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
3063*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
3064*89c4ff92SAndroid Build Coastguard Worker };
3065*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
3066*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
3067*89c4ff92SAndroid Build Coastguard Worker }
3068*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ComparisonDescriptor *descriptor() const {
3069*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ComparisonDescriptor *>(VT_DESCRIPTOR);
3070*89c4ff92SAndroid Build Coastguard Worker }
3071*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
3072*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
3073*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
3074*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
3075*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
3076*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
3077*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
3078*89c4ff92SAndroid Build Coastguard Worker }
3079*89c4ff92SAndroid Build Coastguard Worker };
3080*89c4ff92SAndroid Build Coastguard Worker
3081*89c4ff92SAndroid Build Coastguard Worker struct ComparisonLayerBuilder {
3082*89c4ff92SAndroid Build Coastguard Worker typedef ComparisonLayer Table;
3083*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
3084*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
3085*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
3086*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ComparisonLayer::VT_BASE, base);
3087*89c4ff92SAndroid Build Coastguard Worker }
3088*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::ComparisonDescriptor> descriptor) {
3089*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ComparisonLayer::VT_DESCRIPTOR, descriptor);
3090*89c4ff92SAndroid Build Coastguard Worker }
3091*89c4ff92SAndroid Build Coastguard Worker explicit ComparisonLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3092*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
3093*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
3094*89c4ff92SAndroid Build Coastguard Worker }
3095*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<ComparisonLayer> Finish() {
3096*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
3097*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<ComparisonLayer>(end);
3098*89c4ff92SAndroid Build Coastguard Worker return o;
3099*89c4ff92SAndroid Build Coastguard Worker }
3100*89c4ff92SAndroid Build Coastguard Worker };
3101*89c4ff92SAndroid Build Coastguard Worker
3102*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<ComparisonLayer> CreateComparisonLayer(
3103*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
3104*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
3105*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ComparisonDescriptor> descriptor = 0) {
3106*89c4ff92SAndroid Build Coastguard Worker ComparisonLayerBuilder builder_(_fbb);
3107*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
3108*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
3109*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
3110*89c4ff92SAndroid Build Coastguard Worker }
3111*89c4ff92SAndroid Build Coastguard Worker
3112*89c4ff92SAndroid Build Coastguard Worker struct ConstantLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3113*89c4ff92SAndroid Build Coastguard Worker typedef ConstantLayerBuilder Builder;
3114*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3115*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
3116*89c4ff92SAndroid Build Coastguard Worker VT_INPUT = 6
3117*89c4ff92SAndroid Build Coastguard Worker };
3118*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
3119*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
3120*89c4ff92SAndroid Build Coastguard Worker }
3121*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *input() const {
3122*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUT);
3123*89c4ff92SAndroid Build Coastguard Worker }
3124*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
3125*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
3126*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
3127*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
3128*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_INPUT) &&
3129*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(input()) &&
3130*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
3131*89c4ff92SAndroid Build Coastguard Worker }
3132*89c4ff92SAndroid Build Coastguard Worker };
3133*89c4ff92SAndroid Build Coastguard Worker
3134*89c4ff92SAndroid Build Coastguard Worker struct ConstantLayerBuilder {
3135*89c4ff92SAndroid Build Coastguard Worker typedef ConstantLayer Table;
3136*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
3137*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
3138*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
3139*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ConstantLayer::VT_BASE, base);
3140*89c4ff92SAndroid Build Coastguard Worker }
3141*89c4ff92SAndroid Build Coastguard Worker void add_input(flatbuffers::Offset<armnnSerializer::ConstTensor> input) {
3142*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ConstantLayer::VT_INPUT, input);
3143*89c4ff92SAndroid Build Coastguard Worker }
3144*89c4ff92SAndroid Build Coastguard Worker explicit ConstantLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3145*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
3146*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
3147*89c4ff92SAndroid Build Coastguard Worker }
3148*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<ConstantLayer> Finish() {
3149*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
3150*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<ConstantLayer>(end);
3151*89c4ff92SAndroid Build Coastguard Worker return o;
3152*89c4ff92SAndroid Build Coastguard Worker }
3153*89c4ff92SAndroid Build Coastguard Worker };
3154*89c4ff92SAndroid Build Coastguard Worker
3155*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<ConstantLayer> CreateConstantLayer(
3156*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
3157*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
3158*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> input = 0) {
3159*89c4ff92SAndroid Build Coastguard Worker ConstantLayerBuilder builder_(_fbb);
3160*89c4ff92SAndroid Build Coastguard Worker builder_.add_input(input);
3161*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
3162*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
3163*89c4ff92SAndroid Build Coastguard Worker }
3164*89c4ff92SAndroid Build Coastguard Worker
3165*89c4ff92SAndroid Build Coastguard Worker struct Convolution2dLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3166*89c4ff92SAndroid Build Coastguard Worker typedef Convolution2dLayerBuilder Builder;
3167*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3168*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
3169*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6,
3170*89c4ff92SAndroid Build Coastguard Worker VT_WEIGHTS = 8,
3171*89c4ff92SAndroid Build Coastguard Worker VT_BIASES = 10
3172*89c4ff92SAndroid Build Coastguard Worker };
3173*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
3174*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
3175*89c4ff92SAndroid Build Coastguard Worker }
3176*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::Convolution2dDescriptor *descriptor() const {
3177*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::Convolution2dDescriptor *>(VT_DESCRIPTOR);
3178*89c4ff92SAndroid Build Coastguard Worker }
3179*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *weights() const {
3180*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_WEIGHTS);
3181*89c4ff92SAndroid Build Coastguard Worker }
3182*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *biases() const {
3183*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_BIASES);
3184*89c4ff92SAndroid Build Coastguard Worker }
3185*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
3186*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
3187*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
3188*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
3189*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
3190*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
3191*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_WEIGHTS) &&
3192*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(weights()) &&
3193*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BIASES) &&
3194*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(biases()) &&
3195*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
3196*89c4ff92SAndroid Build Coastguard Worker }
3197*89c4ff92SAndroid Build Coastguard Worker };
3198*89c4ff92SAndroid Build Coastguard Worker
3199*89c4ff92SAndroid Build Coastguard Worker struct Convolution2dLayerBuilder {
3200*89c4ff92SAndroid Build Coastguard Worker typedef Convolution2dLayer Table;
3201*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
3202*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
3203*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
3204*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(Convolution2dLayer::VT_BASE, base);
3205*89c4ff92SAndroid Build Coastguard Worker }
3206*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::Convolution2dDescriptor> descriptor) {
3207*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(Convolution2dLayer::VT_DESCRIPTOR, descriptor);
3208*89c4ff92SAndroid Build Coastguard Worker }
3209*89c4ff92SAndroid Build Coastguard Worker void add_weights(flatbuffers::Offset<armnnSerializer::ConstTensor> weights) {
3210*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(Convolution2dLayer::VT_WEIGHTS, weights);
3211*89c4ff92SAndroid Build Coastguard Worker }
3212*89c4ff92SAndroid Build Coastguard Worker void add_biases(flatbuffers::Offset<armnnSerializer::ConstTensor> biases) {
3213*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(Convolution2dLayer::VT_BIASES, biases);
3214*89c4ff92SAndroid Build Coastguard Worker }
3215*89c4ff92SAndroid Build Coastguard Worker explicit Convolution2dLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3216*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
3217*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
3218*89c4ff92SAndroid Build Coastguard Worker }
3219*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<Convolution2dLayer> Finish() {
3220*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
3221*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<Convolution2dLayer>(end);
3222*89c4ff92SAndroid Build Coastguard Worker return o;
3223*89c4ff92SAndroid Build Coastguard Worker }
3224*89c4ff92SAndroid Build Coastguard Worker };
3225*89c4ff92SAndroid Build Coastguard Worker
3226*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<Convolution2dLayer> CreateConvolution2dLayer(
3227*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
3228*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
3229*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::Convolution2dDescriptor> descriptor = 0,
3230*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> weights = 0,
3231*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> biases = 0) {
3232*89c4ff92SAndroid Build Coastguard Worker Convolution2dLayerBuilder builder_(_fbb);
3233*89c4ff92SAndroid Build Coastguard Worker builder_.add_biases(biases);
3234*89c4ff92SAndroid Build Coastguard Worker builder_.add_weights(weights);
3235*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
3236*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
3237*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
3238*89c4ff92SAndroid Build Coastguard Worker }
3239*89c4ff92SAndroid Build Coastguard Worker
3240*89c4ff92SAndroid Build Coastguard Worker struct Convolution2dDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3241*89c4ff92SAndroid Build Coastguard Worker typedef Convolution2dDescriptorBuilder Builder;
3242*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3243*89c4ff92SAndroid Build Coastguard Worker VT_PADLEFT = 4,
3244*89c4ff92SAndroid Build Coastguard Worker VT_PADRIGHT = 6,
3245*89c4ff92SAndroid Build Coastguard Worker VT_PADTOP = 8,
3246*89c4ff92SAndroid Build Coastguard Worker VT_PADBOTTOM = 10,
3247*89c4ff92SAndroid Build Coastguard Worker VT_STRIDEX = 12,
3248*89c4ff92SAndroid Build Coastguard Worker VT_STRIDEY = 14,
3249*89c4ff92SAndroid Build Coastguard Worker VT_DILATIONX = 16,
3250*89c4ff92SAndroid Build Coastguard Worker VT_DILATIONY = 18,
3251*89c4ff92SAndroid Build Coastguard Worker VT_BIASENABLED = 20,
3252*89c4ff92SAndroid Build Coastguard Worker VT_DATALAYOUT = 22
3253*89c4ff92SAndroid Build Coastguard Worker };
3254*89c4ff92SAndroid Build Coastguard Worker uint32_t padLeft() const {
3255*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_PADLEFT, 0);
3256*89c4ff92SAndroid Build Coastguard Worker }
3257*89c4ff92SAndroid Build Coastguard Worker uint32_t padRight() const {
3258*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_PADRIGHT, 0);
3259*89c4ff92SAndroid Build Coastguard Worker }
3260*89c4ff92SAndroid Build Coastguard Worker uint32_t padTop() const {
3261*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_PADTOP, 0);
3262*89c4ff92SAndroid Build Coastguard Worker }
3263*89c4ff92SAndroid Build Coastguard Worker uint32_t padBottom() const {
3264*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_PADBOTTOM, 0);
3265*89c4ff92SAndroid Build Coastguard Worker }
3266*89c4ff92SAndroid Build Coastguard Worker uint32_t strideX() const {
3267*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_STRIDEX, 0);
3268*89c4ff92SAndroid Build Coastguard Worker }
3269*89c4ff92SAndroid Build Coastguard Worker uint32_t strideY() const {
3270*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_STRIDEY, 0);
3271*89c4ff92SAndroid Build Coastguard Worker }
3272*89c4ff92SAndroid Build Coastguard Worker uint32_t dilationX() const {
3273*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_DILATIONX, 1);
3274*89c4ff92SAndroid Build Coastguard Worker }
3275*89c4ff92SAndroid Build Coastguard Worker uint32_t dilationY() const {
3276*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_DILATIONY, 1);
3277*89c4ff92SAndroid Build Coastguard Worker }
3278*89c4ff92SAndroid Build Coastguard Worker bool biasEnabled() const {
3279*89c4ff92SAndroid Build Coastguard Worker return GetField<uint8_t>(VT_BIASENABLED, 0) != 0;
3280*89c4ff92SAndroid Build Coastguard Worker }
3281*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout() const {
3282*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 1));
3283*89c4ff92SAndroid Build Coastguard Worker }
3284*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
3285*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
3286*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_PADLEFT, 4) &&
3287*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_PADRIGHT, 4) &&
3288*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_PADTOP, 4) &&
3289*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_PADBOTTOM, 4) &&
3290*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_STRIDEX, 4) &&
3291*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_STRIDEY, 4) &&
3292*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_DILATIONX, 4) &&
3293*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_DILATIONY, 4) &&
3294*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_BIASENABLED, 1) &&
3295*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_DATALAYOUT, 1) &&
3296*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
3297*89c4ff92SAndroid Build Coastguard Worker }
3298*89c4ff92SAndroid Build Coastguard Worker };
3299*89c4ff92SAndroid Build Coastguard Worker
3300*89c4ff92SAndroid Build Coastguard Worker struct Convolution2dDescriptorBuilder {
3301*89c4ff92SAndroid Build Coastguard Worker typedef Convolution2dDescriptor Table;
3302*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
3303*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
3304*89c4ff92SAndroid Build Coastguard Worker void add_padLeft(uint32_t padLeft) {
3305*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Convolution2dDescriptor::VT_PADLEFT, padLeft, 0);
3306*89c4ff92SAndroid Build Coastguard Worker }
3307*89c4ff92SAndroid Build Coastguard Worker void add_padRight(uint32_t padRight) {
3308*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Convolution2dDescriptor::VT_PADRIGHT, padRight, 0);
3309*89c4ff92SAndroid Build Coastguard Worker }
3310*89c4ff92SAndroid Build Coastguard Worker void add_padTop(uint32_t padTop) {
3311*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Convolution2dDescriptor::VT_PADTOP, padTop, 0);
3312*89c4ff92SAndroid Build Coastguard Worker }
3313*89c4ff92SAndroid Build Coastguard Worker void add_padBottom(uint32_t padBottom) {
3314*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Convolution2dDescriptor::VT_PADBOTTOM, padBottom, 0);
3315*89c4ff92SAndroid Build Coastguard Worker }
3316*89c4ff92SAndroid Build Coastguard Worker void add_strideX(uint32_t strideX) {
3317*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Convolution2dDescriptor::VT_STRIDEX, strideX, 0);
3318*89c4ff92SAndroid Build Coastguard Worker }
3319*89c4ff92SAndroid Build Coastguard Worker void add_strideY(uint32_t strideY) {
3320*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Convolution2dDescriptor::VT_STRIDEY, strideY, 0);
3321*89c4ff92SAndroid Build Coastguard Worker }
3322*89c4ff92SAndroid Build Coastguard Worker void add_dilationX(uint32_t dilationX) {
3323*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Convolution2dDescriptor::VT_DILATIONX, dilationX, 1);
3324*89c4ff92SAndroid Build Coastguard Worker }
3325*89c4ff92SAndroid Build Coastguard Worker void add_dilationY(uint32_t dilationY) {
3326*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Convolution2dDescriptor::VT_DILATIONY, dilationY, 1);
3327*89c4ff92SAndroid Build Coastguard Worker }
3328*89c4ff92SAndroid Build Coastguard Worker void add_biasEnabled(bool biasEnabled) {
3329*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(Convolution2dDescriptor::VT_BIASENABLED, static_cast<uint8_t>(biasEnabled), 0);
3330*89c4ff92SAndroid Build Coastguard Worker }
3331*89c4ff92SAndroid Build Coastguard Worker void add_dataLayout(armnnSerializer::DataLayout dataLayout) {
3332*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(Convolution2dDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 1);
3333*89c4ff92SAndroid Build Coastguard Worker }
3334*89c4ff92SAndroid Build Coastguard Worker explicit Convolution2dDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3335*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
3336*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
3337*89c4ff92SAndroid Build Coastguard Worker }
3338*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<Convolution2dDescriptor> Finish() {
3339*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
3340*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<Convolution2dDescriptor>(end);
3341*89c4ff92SAndroid Build Coastguard Worker return o;
3342*89c4ff92SAndroid Build Coastguard Worker }
3343*89c4ff92SAndroid Build Coastguard Worker };
3344*89c4ff92SAndroid Build Coastguard Worker
3345*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<Convolution2dDescriptor> CreateConvolution2dDescriptor(
3346*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
3347*89c4ff92SAndroid Build Coastguard Worker uint32_t padLeft = 0,
3348*89c4ff92SAndroid Build Coastguard Worker uint32_t padRight = 0,
3349*89c4ff92SAndroid Build Coastguard Worker uint32_t padTop = 0,
3350*89c4ff92SAndroid Build Coastguard Worker uint32_t padBottom = 0,
3351*89c4ff92SAndroid Build Coastguard Worker uint32_t strideX = 0,
3352*89c4ff92SAndroid Build Coastguard Worker uint32_t strideY = 0,
3353*89c4ff92SAndroid Build Coastguard Worker uint32_t dilationX = 1,
3354*89c4ff92SAndroid Build Coastguard Worker uint32_t dilationY = 1,
3355*89c4ff92SAndroid Build Coastguard Worker bool biasEnabled = false,
3356*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout = armnnSerializer::DataLayout_NCHW) {
3357*89c4ff92SAndroid Build Coastguard Worker Convolution2dDescriptorBuilder builder_(_fbb);
3358*89c4ff92SAndroid Build Coastguard Worker builder_.add_dilationY(dilationY);
3359*89c4ff92SAndroid Build Coastguard Worker builder_.add_dilationX(dilationX);
3360*89c4ff92SAndroid Build Coastguard Worker builder_.add_strideY(strideY);
3361*89c4ff92SAndroid Build Coastguard Worker builder_.add_strideX(strideX);
3362*89c4ff92SAndroid Build Coastguard Worker builder_.add_padBottom(padBottom);
3363*89c4ff92SAndroid Build Coastguard Worker builder_.add_padTop(padTop);
3364*89c4ff92SAndroid Build Coastguard Worker builder_.add_padRight(padRight);
3365*89c4ff92SAndroid Build Coastguard Worker builder_.add_padLeft(padLeft);
3366*89c4ff92SAndroid Build Coastguard Worker builder_.add_dataLayout(dataLayout);
3367*89c4ff92SAndroid Build Coastguard Worker builder_.add_biasEnabled(biasEnabled);
3368*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
3369*89c4ff92SAndroid Build Coastguard Worker }
3370*89c4ff92SAndroid Build Coastguard Worker
3371*89c4ff92SAndroid Build Coastguard Worker struct Convolution3dLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3372*89c4ff92SAndroid Build Coastguard Worker typedef Convolution3dLayerBuilder Builder;
3373*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3374*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
3375*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
3376*89c4ff92SAndroid Build Coastguard Worker };
3377*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
3378*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
3379*89c4ff92SAndroid Build Coastguard Worker }
3380*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::Convolution3dDescriptor *descriptor() const {
3381*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::Convolution3dDescriptor *>(VT_DESCRIPTOR);
3382*89c4ff92SAndroid Build Coastguard Worker }
3383*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
3384*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
3385*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
3386*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
3387*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
3388*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
3389*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
3390*89c4ff92SAndroid Build Coastguard Worker }
3391*89c4ff92SAndroid Build Coastguard Worker };
3392*89c4ff92SAndroid Build Coastguard Worker
3393*89c4ff92SAndroid Build Coastguard Worker struct Convolution3dLayerBuilder {
3394*89c4ff92SAndroid Build Coastguard Worker typedef Convolution3dLayer Table;
3395*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
3396*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
3397*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
3398*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(Convolution3dLayer::VT_BASE, base);
3399*89c4ff92SAndroid Build Coastguard Worker }
3400*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::Convolution3dDescriptor> descriptor) {
3401*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(Convolution3dLayer::VT_DESCRIPTOR, descriptor);
3402*89c4ff92SAndroid Build Coastguard Worker }
3403*89c4ff92SAndroid Build Coastguard Worker explicit Convolution3dLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3404*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
3405*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
3406*89c4ff92SAndroid Build Coastguard Worker }
3407*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<Convolution3dLayer> Finish() {
3408*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
3409*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<Convolution3dLayer>(end);
3410*89c4ff92SAndroid Build Coastguard Worker return o;
3411*89c4ff92SAndroid Build Coastguard Worker }
3412*89c4ff92SAndroid Build Coastguard Worker };
3413*89c4ff92SAndroid Build Coastguard Worker
3414*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<Convolution3dLayer> CreateConvolution3dLayer(
3415*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
3416*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
3417*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::Convolution3dDescriptor> descriptor = 0) {
3418*89c4ff92SAndroid Build Coastguard Worker Convolution3dLayerBuilder builder_(_fbb);
3419*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
3420*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
3421*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
3422*89c4ff92SAndroid Build Coastguard Worker }
3423*89c4ff92SAndroid Build Coastguard Worker
3424*89c4ff92SAndroid Build Coastguard Worker struct Convolution3dDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3425*89c4ff92SAndroid Build Coastguard Worker typedef Convolution3dDescriptorBuilder Builder;
3426*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3427*89c4ff92SAndroid Build Coastguard Worker VT_PADLEFT = 4,
3428*89c4ff92SAndroid Build Coastguard Worker VT_PADRIGHT = 6,
3429*89c4ff92SAndroid Build Coastguard Worker VT_PADTOP = 8,
3430*89c4ff92SAndroid Build Coastguard Worker VT_PADBOTTOM = 10,
3431*89c4ff92SAndroid Build Coastguard Worker VT_PADFRONT = 12,
3432*89c4ff92SAndroid Build Coastguard Worker VT_PADBACK = 14,
3433*89c4ff92SAndroid Build Coastguard Worker VT_STRIDEX = 16,
3434*89c4ff92SAndroid Build Coastguard Worker VT_STRIDEY = 18,
3435*89c4ff92SAndroid Build Coastguard Worker VT_STRIDEZ = 20,
3436*89c4ff92SAndroid Build Coastguard Worker VT_DILATIONX = 22,
3437*89c4ff92SAndroid Build Coastguard Worker VT_DILATIONY = 24,
3438*89c4ff92SAndroid Build Coastguard Worker VT_DILATIONZ = 26,
3439*89c4ff92SAndroid Build Coastguard Worker VT_BIASENABLED = 28,
3440*89c4ff92SAndroid Build Coastguard Worker VT_DATALAYOUT = 30
3441*89c4ff92SAndroid Build Coastguard Worker };
3442*89c4ff92SAndroid Build Coastguard Worker uint32_t padLeft() const {
3443*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_PADLEFT, 0);
3444*89c4ff92SAndroid Build Coastguard Worker }
3445*89c4ff92SAndroid Build Coastguard Worker uint32_t padRight() const {
3446*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_PADRIGHT, 0);
3447*89c4ff92SAndroid Build Coastguard Worker }
3448*89c4ff92SAndroid Build Coastguard Worker uint32_t padTop() const {
3449*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_PADTOP, 0);
3450*89c4ff92SAndroid Build Coastguard Worker }
3451*89c4ff92SAndroid Build Coastguard Worker uint32_t padBottom() const {
3452*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_PADBOTTOM, 0);
3453*89c4ff92SAndroid Build Coastguard Worker }
3454*89c4ff92SAndroid Build Coastguard Worker uint32_t padFront() const {
3455*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_PADFRONT, 0);
3456*89c4ff92SAndroid Build Coastguard Worker }
3457*89c4ff92SAndroid Build Coastguard Worker uint32_t padBack() const {
3458*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_PADBACK, 0);
3459*89c4ff92SAndroid Build Coastguard Worker }
3460*89c4ff92SAndroid Build Coastguard Worker uint32_t strideX() const {
3461*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_STRIDEX, 0);
3462*89c4ff92SAndroid Build Coastguard Worker }
3463*89c4ff92SAndroid Build Coastguard Worker uint32_t strideY() const {
3464*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_STRIDEY, 0);
3465*89c4ff92SAndroid Build Coastguard Worker }
3466*89c4ff92SAndroid Build Coastguard Worker uint32_t strideZ() const {
3467*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_STRIDEZ, 0);
3468*89c4ff92SAndroid Build Coastguard Worker }
3469*89c4ff92SAndroid Build Coastguard Worker uint32_t dilationX() const {
3470*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_DILATIONX, 1);
3471*89c4ff92SAndroid Build Coastguard Worker }
3472*89c4ff92SAndroid Build Coastguard Worker uint32_t dilationY() const {
3473*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_DILATIONY, 1);
3474*89c4ff92SAndroid Build Coastguard Worker }
3475*89c4ff92SAndroid Build Coastguard Worker uint32_t dilationZ() const {
3476*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_DILATIONZ, 1);
3477*89c4ff92SAndroid Build Coastguard Worker }
3478*89c4ff92SAndroid Build Coastguard Worker bool biasEnabled() const {
3479*89c4ff92SAndroid Build Coastguard Worker return GetField<uint8_t>(VT_BIASENABLED, 0) != 0;
3480*89c4ff92SAndroid Build Coastguard Worker }
3481*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout() const {
3482*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 2));
3483*89c4ff92SAndroid Build Coastguard Worker }
3484*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
3485*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
3486*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_PADLEFT, 4) &&
3487*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_PADRIGHT, 4) &&
3488*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_PADTOP, 4) &&
3489*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_PADBOTTOM, 4) &&
3490*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_PADFRONT, 4) &&
3491*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_PADBACK, 4) &&
3492*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_STRIDEX, 4) &&
3493*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_STRIDEY, 4) &&
3494*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_STRIDEZ, 4) &&
3495*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_DILATIONX, 4) &&
3496*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_DILATIONY, 4) &&
3497*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_DILATIONZ, 4) &&
3498*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_BIASENABLED, 1) &&
3499*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_DATALAYOUT, 1) &&
3500*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
3501*89c4ff92SAndroid Build Coastguard Worker }
3502*89c4ff92SAndroid Build Coastguard Worker };
3503*89c4ff92SAndroid Build Coastguard Worker
3504*89c4ff92SAndroid Build Coastguard Worker struct Convolution3dDescriptorBuilder {
3505*89c4ff92SAndroid Build Coastguard Worker typedef Convolution3dDescriptor Table;
3506*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
3507*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
3508*89c4ff92SAndroid Build Coastguard Worker void add_padLeft(uint32_t padLeft) {
3509*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Convolution3dDescriptor::VT_PADLEFT, padLeft, 0);
3510*89c4ff92SAndroid Build Coastguard Worker }
3511*89c4ff92SAndroid Build Coastguard Worker void add_padRight(uint32_t padRight) {
3512*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Convolution3dDescriptor::VT_PADRIGHT, padRight, 0);
3513*89c4ff92SAndroid Build Coastguard Worker }
3514*89c4ff92SAndroid Build Coastguard Worker void add_padTop(uint32_t padTop) {
3515*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Convolution3dDescriptor::VT_PADTOP, padTop, 0);
3516*89c4ff92SAndroid Build Coastguard Worker }
3517*89c4ff92SAndroid Build Coastguard Worker void add_padBottom(uint32_t padBottom) {
3518*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Convolution3dDescriptor::VT_PADBOTTOM, padBottom, 0);
3519*89c4ff92SAndroid Build Coastguard Worker }
3520*89c4ff92SAndroid Build Coastguard Worker void add_padFront(uint32_t padFront) {
3521*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Convolution3dDescriptor::VT_PADFRONT, padFront, 0);
3522*89c4ff92SAndroid Build Coastguard Worker }
3523*89c4ff92SAndroid Build Coastguard Worker void add_padBack(uint32_t padBack) {
3524*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Convolution3dDescriptor::VT_PADBACK, padBack, 0);
3525*89c4ff92SAndroid Build Coastguard Worker }
3526*89c4ff92SAndroid Build Coastguard Worker void add_strideX(uint32_t strideX) {
3527*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Convolution3dDescriptor::VT_STRIDEX, strideX, 0);
3528*89c4ff92SAndroid Build Coastguard Worker }
3529*89c4ff92SAndroid Build Coastguard Worker void add_strideY(uint32_t strideY) {
3530*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Convolution3dDescriptor::VT_STRIDEY, strideY, 0);
3531*89c4ff92SAndroid Build Coastguard Worker }
3532*89c4ff92SAndroid Build Coastguard Worker void add_strideZ(uint32_t strideZ) {
3533*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Convolution3dDescriptor::VT_STRIDEZ, strideZ, 0);
3534*89c4ff92SAndroid Build Coastguard Worker }
3535*89c4ff92SAndroid Build Coastguard Worker void add_dilationX(uint32_t dilationX) {
3536*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Convolution3dDescriptor::VT_DILATIONX, dilationX, 1);
3537*89c4ff92SAndroid Build Coastguard Worker }
3538*89c4ff92SAndroid Build Coastguard Worker void add_dilationY(uint32_t dilationY) {
3539*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Convolution3dDescriptor::VT_DILATIONY, dilationY, 1);
3540*89c4ff92SAndroid Build Coastguard Worker }
3541*89c4ff92SAndroid Build Coastguard Worker void add_dilationZ(uint32_t dilationZ) {
3542*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Convolution3dDescriptor::VT_DILATIONZ, dilationZ, 1);
3543*89c4ff92SAndroid Build Coastguard Worker }
3544*89c4ff92SAndroid Build Coastguard Worker void add_biasEnabled(bool biasEnabled) {
3545*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(Convolution3dDescriptor::VT_BIASENABLED, static_cast<uint8_t>(biasEnabled), 0);
3546*89c4ff92SAndroid Build Coastguard Worker }
3547*89c4ff92SAndroid Build Coastguard Worker void add_dataLayout(armnnSerializer::DataLayout dataLayout) {
3548*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(Convolution3dDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 2);
3549*89c4ff92SAndroid Build Coastguard Worker }
3550*89c4ff92SAndroid Build Coastguard Worker explicit Convolution3dDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3551*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
3552*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
3553*89c4ff92SAndroid Build Coastguard Worker }
3554*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<Convolution3dDescriptor> Finish() {
3555*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
3556*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<Convolution3dDescriptor>(end);
3557*89c4ff92SAndroid Build Coastguard Worker return o;
3558*89c4ff92SAndroid Build Coastguard Worker }
3559*89c4ff92SAndroid Build Coastguard Worker };
3560*89c4ff92SAndroid Build Coastguard Worker
3561*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<Convolution3dDescriptor> CreateConvolution3dDescriptor(
3562*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
3563*89c4ff92SAndroid Build Coastguard Worker uint32_t padLeft = 0,
3564*89c4ff92SAndroid Build Coastguard Worker uint32_t padRight = 0,
3565*89c4ff92SAndroid Build Coastguard Worker uint32_t padTop = 0,
3566*89c4ff92SAndroid Build Coastguard Worker uint32_t padBottom = 0,
3567*89c4ff92SAndroid Build Coastguard Worker uint32_t padFront = 0,
3568*89c4ff92SAndroid Build Coastguard Worker uint32_t padBack = 0,
3569*89c4ff92SAndroid Build Coastguard Worker uint32_t strideX = 0,
3570*89c4ff92SAndroid Build Coastguard Worker uint32_t strideY = 0,
3571*89c4ff92SAndroid Build Coastguard Worker uint32_t strideZ = 0,
3572*89c4ff92SAndroid Build Coastguard Worker uint32_t dilationX = 1,
3573*89c4ff92SAndroid Build Coastguard Worker uint32_t dilationY = 1,
3574*89c4ff92SAndroid Build Coastguard Worker uint32_t dilationZ = 1,
3575*89c4ff92SAndroid Build Coastguard Worker bool biasEnabled = false,
3576*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout = armnnSerializer::DataLayout_NDHWC) {
3577*89c4ff92SAndroid Build Coastguard Worker Convolution3dDescriptorBuilder builder_(_fbb);
3578*89c4ff92SAndroid Build Coastguard Worker builder_.add_dilationZ(dilationZ);
3579*89c4ff92SAndroid Build Coastguard Worker builder_.add_dilationY(dilationY);
3580*89c4ff92SAndroid Build Coastguard Worker builder_.add_dilationX(dilationX);
3581*89c4ff92SAndroid Build Coastguard Worker builder_.add_strideZ(strideZ);
3582*89c4ff92SAndroid Build Coastguard Worker builder_.add_strideY(strideY);
3583*89c4ff92SAndroid Build Coastguard Worker builder_.add_strideX(strideX);
3584*89c4ff92SAndroid Build Coastguard Worker builder_.add_padBack(padBack);
3585*89c4ff92SAndroid Build Coastguard Worker builder_.add_padFront(padFront);
3586*89c4ff92SAndroid Build Coastguard Worker builder_.add_padBottom(padBottom);
3587*89c4ff92SAndroid Build Coastguard Worker builder_.add_padTop(padTop);
3588*89c4ff92SAndroid Build Coastguard Worker builder_.add_padRight(padRight);
3589*89c4ff92SAndroid Build Coastguard Worker builder_.add_padLeft(padLeft);
3590*89c4ff92SAndroid Build Coastguard Worker builder_.add_dataLayout(dataLayout);
3591*89c4ff92SAndroid Build Coastguard Worker builder_.add_biasEnabled(biasEnabled);
3592*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
3593*89c4ff92SAndroid Build Coastguard Worker }
3594*89c4ff92SAndroid Build Coastguard Worker
3595*89c4ff92SAndroid Build Coastguard Worker struct DepthToSpaceLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3596*89c4ff92SAndroid Build Coastguard Worker typedef DepthToSpaceLayerBuilder Builder;
3597*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3598*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
3599*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
3600*89c4ff92SAndroid Build Coastguard Worker };
3601*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
3602*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
3603*89c4ff92SAndroid Build Coastguard Worker }
3604*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::DepthToSpaceDescriptor *descriptor() const {
3605*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::DepthToSpaceDescriptor *>(VT_DESCRIPTOR);
3606*89c4ff92SAndroid Build Coastguard Worker }
3607*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
3608*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
3609*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
3610*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
3611*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
3612*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
3613*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
3614*89c4ff92SAndroid Build Coastguard Worker }
3615*89c4ff92SAndroid Build Coastguard Worker };
3616*89c4ff92SAndroid Build Coastguard Worker
3617*89c4ff92SAndroid Build Coastguard Worker struct DepthToSpaceLayerBuilder {
3618*89c4ff92SAndroid Build Coastguard Worker typedef DepthToSpaceLayer Table;
3619*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
3620*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
3621*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
3622*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(DepthToSpaceLayer::VT_BASE, base);
3623*89c4ff92SAndroid Build Coastguard Worker }
3624*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::DepthToSpaceDescriptor> descriptor) {
3625*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(DepthToSpaceLayer::VT_DESCRIPTOR, descriptor);
3626*89c4ff92SAndroid Build Coastguard Worker }
3627*89c4ff92SAndroid Build Coastguard Worker explicit DepthToSpaceLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3628*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
3629*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
3630*89c4ff92SAndroid Build Coastguard Worker }
3631*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<DepthToSpaceLayer> Finish() {
3632*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
3633*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<DepthToSpaceLayer>(end);
3634*89c4ff92SAndroid Build Coastguard Worker return o;
3635*89c4ff92SAndroid Build Coastguard Worker }
3636*89c4ff92SAndroid Build Coastguard Worker };
3637*89c4ff92SAndroid Build Coastguard Worker
3638*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<DepthToSpaceLayer> CreateDepthToSpaceLayer(
3639*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
3640*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
3641*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::DepthToSpaceDescriptor> descriptor = 0) {
3642*89c4ff92SAndroid Build Coastguard Worker DepthToSpaceLayerBuilder builder_(_fbb);
3643*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
3644*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
3645*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
3646*89c4ff92SAndroid Build Coastguard Worker }
3647*89c4ff92SAndroid Build Coastguard Worker
3648*89c4ff92SAndroid Build Coastguard Worker struct DepthToSpaceDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3649*89c4ff92SAndroid Build Coastguard Worker typedef DepthToSpaceDescriptorBuilder Builder;
3650*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3651*89c4ff92SAndroid Build Coastguard Worker VT_BLOCKSIZE = 4,
3652*89c4ff92SAndroid Build Coastguard Worker VT_DATALAYOUT = 6
3653*89c4ff92SAndroid Build Coastguard Worker };
3654*89c4ff92SAndroid Build Coastguard Worker uint32_t blockSize() const {
3655*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_BLOCKSIZE, 0);
3656*89c4ff92SAndroid Build Coastguard Worker }
3657*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout() const {
3658*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 0));
3659*89c4ff92SAndroid Build Coastguard Worker }
3660*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
3661*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
3662*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_BLOCKSIZE, 4) &&
3663*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_DATALAYOUT, 1) &&
3664*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
3665*89c4ff92SAndroid Build Coastguard Worker }
3666*89c4ff92SAndroid Build Coastguard Worker };
3667*89c4ff92SAndroid Build Coastguard Worker
3668*89c4ff92SAndroid Build Coastguard Worker struct DepthToSpaceDescriptorBuilder {
3669*89c4ff92SAndroid Build Coastguard Worker typedef DepthToSpaceDescriptor Table;
3670*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
3671*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
3672*89c4ff92SAndroid Build Coastguard Worker void add_blockSize(uint32_t blockSize) {
3673*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(DepthToSpaceDescriptor::VT_BLOCKSIZE, blockSize, 0);
3674*89c4ff92SAndroid Build Coastguard Worker }
3675*89c4ff92SAndroid Build Coastguard Worker void add_dataLayout(armnnSerializer::DataLayout dataLayout) {
3676*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(DepthToSpaceDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 0);
3677*89c4ff92SAndroid Build Coastguard Worker }
3678*89c4ff92SAndroid Build Coastguard Worker explicit DepthToSpaceDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3679*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
3680*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
3681*89c4ff92SAndroid Build Coastguard Worker }
3682*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<DepthToSpaceDescriptor> Finish() {
3683*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
3684*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<DepthToSpaceDescriptor>(end);
3685*89c4ff92SAndroid Build Coastguard Worker return o;
3686*89c4ff92SAndroid Build Coastguard Worker }
3687*89c4ff92SAndroid Build Coastguard Worker };
3688*89c4ff92SAndroid Build Coastguard Worker
3689*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<DepthToSpaceDescriptor> CreateDepthToSpaceDescriptor(
3690*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
3691*89c4ff92SAndroid Build Coastguard Worker uint32_t blockSize = 0,
3692*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout = armnnSerializer::DataLayout_NHWC) {
3693*89c4ff92SAndroid Build Coastguard Worker DepthToSpaceDescriptorBuilder builder_(_fbb);
3694*89c4ff92SAndroid Build Coastguard Worker builder_.add_blockSize(blockSize);
3695*89c4ff92SAndroid Build Coastguard Worker builder_.add_dataLayout(dataLayout);
3696*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
3697*89c4ff92SAndroid Build Coastguard Worker }
3698*89c4ff92SAndroid Build Coastguard Worker
3699*89c4ff92SAndroid Build Coastguard Worker struct DivisionLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3700*89c4ff92SAndroid Build Coastguard Worker typedef DivisionLayerBuilder Builder;
3701*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3702*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4
3703*89c4ff92SAndroid Build Coastguard Worker };
3704*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
3705*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
3706*89c4ff92SAndroid Build Coastguard Worker }
3707*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
3708*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
3709*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
3710*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
3711*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
3712*89c4ff92SAndroid Build Coastguard Worker }
3713*89c4ff92SAndroid Build Coastguard Worker };
3714*89c4ff92SAndroid Build Coastguard Worker
3715*89c4ff92SAndroid Build Coastguard Worker struct DivisionLayerBuilder {
3716*89c4ff92SAndroid Build Coastguard Worker typedef DivisionLayer Table;
3717*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
3718*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
3719*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
3720*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(DivisionLayer::VT_BASE, base);
3721*89c4ff92SAndroid Build Coastguard Worker }
3722*89c4ff92SAndroid Build Coastguard Worker explicit DivisionLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3723*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
3724*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
3725*89c4ff92SAndroid Build Coastguard Worker }
3726*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<DivisionLayer> Finish() {
3727*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
3728*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<DivisionLayer>(end);
3729*89c4ff92SAndroid Build Coastguard Worker return o;
3730*89c4ff92SAndroid Build Coastguard Worker }
3731*89c4ff92SAndroid Build Coastguard Worker };
3732*89c4ff92SAndroid Build Coastguard Worker
3733*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<DivisionLayer> CreateDivisionLayer(
3734*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
3735*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
3736*89c4ff92SAndroid Build Coastguard Worker DivisionLayerBuilder builder_(_fbb);
3737*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
3738*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
3739*89c4ff92SAndroid Build Coastguard Worker }
3740*89c4ff92SAndroid Build Coastguard Worker
3741*89c4ff92SAndroid Build Coastguard Worker struct ElementwiseBinaryDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3742*89c4ff92SAndroid Build Coastguard Worker typedef ElementwiseBinaryDescriptorBuilder Builder;
3743*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3744*89c4ff92SAndroid Build Coastguard Worker VT_OPERATION = 4
3745*89c4ff92SAndroid Build Coastguard Worker };
3746*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::BinaryOperation operation() const {
3747*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::BinaryOperation>(GetField<int8_t>(VT_OPERATION, 0));
3748*89c4ff92SAndroid Build Coastguard Worker }
3749*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
3750*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
3751*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_OPERATION, 1) &&
3752*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
3753*89c4ff92SAndroid Build Coastguard Worker }
3754*89c4ff92SAndroid Build Coastguard Worker };
3755*89c4ff92SAndroid Build Coastguard Worker
3756*89c4ff92SAndroid Build Coastguard Worker struct ElementwiseBinaryDescriptorBuilder {
3757*89c4ff92SAndroid Build Coastguard Worker typedef ElementwiseBinaryDescriptor Table;
3758*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
3759*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
3760*89c4ff92SAndroid Build Coastguard Worker void add_operation(armnnSerializer::BinaryOperation operation) {
3761*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(ElementwiseBinaryDescriptor::VT_OPERATION, static_cast<int8_t>(operation), 0);
3762*89c4ff92SAndroid Build Coastguard Worker }
3763*89c4ff92SAndroid Build Coastguard Worker explicit ElementwiseBinaryDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3764*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
3765*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
3766*89c4ff92SAndroid Build Coastguard Worker }
3767*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<ElementwiseBinaryDescriptor> Finish() {
3768*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
3769*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<ElementwiseBinaryDescriptor>(end);
3770*89c4ff92SAndroid Build Coastguard Worker return o;
3771*89c4ff92SAndroid Build Coastguard Worker }
3772*89c4ff92SAndroid Build Coastguard Worker };
3773*89c4ff92SAndroid Build Coastguard Worker
3774*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<ElementwiseBinaryDescriptor> CreateElementwiseBinaryDescriptor(
3775*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
3776*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::BinaryOperation operation = armnnSerializer::BinaryOperation_Add) {
3777*89c4ff92SAndroid Build Coastguard Worker ElementwiseBinaryDescriptorBuilder builder_(_fbb);
3778*89c4ff92SAndroid Build Coastguard Worker builder_.add_operation(operation);
3779*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
3780*89c4ff92SAndroid Build Coastguard Worker }
3781*89c4ff92SAndroid Build Coastguard Worker
3782*89c4ff92SAndroid Build Coastguard Worker struct ElementwiseBinaryLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3783*89c4ff92SAndroid Build Coastguard Worker typedef ElementwiseBinaryLayerBuilder Builder;
3784*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3785*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
3786*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
3787*89c4ff92SAndroid Build Coastguard Worker };
3788*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
3789*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
3790*89c4ff92SAndroid Build Coastguard Worker }
3791*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ElementwiseBinaryDescriptor *descriptor() const {
3792*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ElementwiseBinaryDescriptor *>(VT_DESCRIPTOR);
3793*89c4ff92SAndroid Build Coastguard Worker }
3794*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
3795*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
3796*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
3797*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
3798*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
3799*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
3800*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
3801*89c4ff92SAndroid Build Coastguard Worker }
3802*89c4ff92SAndroid Build Coastguard Worker };
3803*89c4ff92SAndroid Build Coastguard Worker
3804*89c4ff92SAndroid Build Coastguard Worker struct ElementwiseBinaryLayerBuilder {
3805*89c4ff92SAndroid Build Coastguard Worker typedef ElementwiseBinaryLayer Table;
3806*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
3807*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
3808*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
3809*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ElementwiseBinaryLayer::VT_BASE, base);
3810*89c4ff92SAndroid Build Coastguard Worker }
3811*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::ElementwiseBinaryDescriptor> descriptor) {
3812*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ElementwiseBinaryLayer::VT_DESCRIPTOR, descriptor);
3813*89c4ff92SAndroid Build Coastguard Worker }
3814*89c4ff92SAndroid Build Coastguard Worker explicit ElementwiseBinaryLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3815*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
3816*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
3817*89c4ff92SAndroid Build Coastguard Worker }
3818*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<ElementwiseBinaryLayer> Finish() {
3819*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
3820*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<ElementwiseBinaryLayer>(end);
3821*89c4ff92SAndroid Build Coastguard Worker return o;
3822*89c4ff92SAndroid Build Coastguard Worker }
3823*89c4ff92SAndroid Build Coastguard Worker };
3824*89c4ff92SAndroid Build Coastguard Worker
3825*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<ElementwiseBinaryLayer> CreateElementwiseBinaryLayer(
3826*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
3827*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
3828*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ElementwiseBinaryDescriptor> descriptor = 0) {
3829*89c4ff92SAndroid Build Coastguard Worker ElementwiseBinaryLayerBuilder builder_(_fbb);
3830*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
3831*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
3832*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
3833*89c4ff92SAndroid Build Coastguard Worker }
3834*89c4ff92SAndroid Build Coastguard Worker
3835*89c4ff92SAndroid Build Coastguard Worker struct ElementwiseUnaryDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3836*89c4ff92SAndroid Build Coastguard Worker typedef ElementwiseUnaryDescriptorBuilder Builder;
3837*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3838*89c4ff92SAndroid Build Coastguard Worker VT_OPERATION = 4
3839*89c4ff92SAndroid Build Coastguard Worker };
3840*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::UnaryOperation operation() const {
3841*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::UnaryOperation>(GetField<int8_t>(VT_OPERATION, 0));
3842*89c4ff92SAndroid Build Coastguard Worker }
3843*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
3844*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
3845*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_OPERATION, 1) &&
3846*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
3847*89c4ff92SAndroid Build Coastguard Worker }
3848*89c4ff92SAndroid Build Coastguard Worker };
3849*89c4ff92SAndroid Build Coastguard Worker
3850*89c4ff92SAndroid Build Coastguard Worker struct ElementwiseUnaryDescriptorBuilder {
3851*89c4ff92SAndroid Build Coastguard Worker typedef ElementwiseUnaryDescriptor Table;
3852*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
3853*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
3854*89c4ff92SAndroid Build Coastguard Worker void add_operation(armnnSerializer::UnaryOperation operation) {
3855*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(ElementwiseUnaryDescriptor::VT_OPERATION, static_cast<int8_t>(operation), 0);
3856*89c4ff92SAndroid Build Coastguard Worker }
3857*89c4ff92SAndroid Build Coastguard Worker explicit ElementwiseUnaryDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3858*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
3859*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
3860*89c4ff92SAndroid Build Coastguard Worker }
3861*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<ElementwiseUnaryDescriptor> Finish() {
3862*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
3863*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<ElementwiseUnaryDescriptor>(end);
3864*89c4ff92SAndroid Build Coastguard Worker return o;
3865*89c4ff92SAndroid Build Coastguard Worker }
3866*89c4ff92SAndroid Build Coastguard Worker };
3867*89c4ff92SAndroid Build Coastguard Worker
3868*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<ElementwiseUnaryDescriptor> CreateElementwiseUnaryDescriptor(
3869*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
3870*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::UnaryOperation operation = armnnSerializer::UnaryOperation_Abs) {
3871*89c4ff92SAndroid Build Coastguard Worker ElementwiseUnaryDescriptorBuilder builder_(_fbb);
3872*89c4ff92SAndroid Build Coastguard Worker builder_.add_operation(operation);
3873*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
3874*89c4ff92SAndroid Build Coastguard Worker }
3875*89c4ff92SAndroid Build Coastguard Worker
3876*89c4ff92SAndroid Build Coastguard Worker struct ElementwiseUnaryLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3877*89c4ff92SAndroid Build Coastguard Worker typedef ElementwiseUnaryLayerBuilder Builder;
3878*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3879*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
3880*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
3881*89c4ff92SAndroid Build Coastguard Worker };
3882*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
3883*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
3884*89c4ff92SAndroid Build Coastguard Worker }
3885*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ElementwiseUnaryDescriptor *descriptor() const {
3886*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ElementwiseUnaryDescriptor *>(VT_DESCRIPTOR);
3887*89c4ff92SAndroid Build Coastguard Worker }
3888*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
3889*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
3890*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
3891*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
3892*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
3893*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
3894*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
3895*89c4ff92SAndroid Build Coastguard Worker }
3896*89c4ff92SAndroid Build Coastguard Worker };
3897*89c4ff92SAndroid Build Coastguard Worker
3898*89c4ff92SAndroid Build Coastguard Worker struct ElementwiseUnaryLayerBuilder {
3899*89c4ff92SAndroid Build Coastguard Worker typedef ElementwiseUnaryLayer Table;
3900*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
3901*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
3902*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
3903*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ElementwiseUnaryLayer::VT_BASE, base);
3904*89c4ff92SAndroid Build Coastguard Worker }
3905*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::ElementwiseUnaryDescriptor> descriptor) {
3906*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ElementwiseUnaryLayer::VT_DESCRIPTOR, descriptor);
3907*89c4ff92SAndroid Build Coastguard Worker }
3908*89c4ff92SAndroid Build Coastguard Worker explicit ElementwiseUnaryLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3909*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
3910*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
3911*89c4ff92SAndroid Build Coastguard Worker }
3912*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<ElementwiseUnaryLayer> Finish() {
3913*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
3914*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<ElementwiseUnaryLayer>(end);
3915*89c4ff92SAndroid Build Coastguard Worker return o;
3916*89c4ff92SAndroid Build Coastguard Worker }
3917*89c4ff92SAndroid Build Coastguard Worker };
3918*89c4ff92SAndroid Build Coastguard Worker
3919*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<ElementwiseUnaryLayer> CreateElementwiseUnaryLayer(
3920*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
3921*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
3922*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ElementwiseUnaryDescriptor> descriptor = 0) {
3923*89c4ff92SAndroid Build Coastguard Worker ElementwiseUnaryLayerBuilder builder_(_fbb);
3924*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
3925*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
3926*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
3927*89c4ff92SAndroid Build Coastguard Worker }
3928*89c4ff92SAndroid Build Coastguard Worker
3929*89c4ff92SAndroid Build Coastguard Worker /// @deprecated Use ComparisonLayer instead
3930*89c4ff92SAndroid Build Coastguard Worker struct EqualLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3931*89c4ff92SAndroid Build Coastguard Worker typedef EqualLayerBuilder Builder;
3932*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3933*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4
3934*89c4ff92SAndroid Build Coastguard Worker };
3935*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
3936*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
3937*89c4ff92SAndroid Build Coastguard Worker }
3938*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
3939*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
3940*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
3941*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
3942*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
3943*89c4ff92SAndroid Build Coastguard Worker }
3944*89c4ff92SAndroid Build Coastguard Worker };
3945*89c4ff92SAndroid Build Coastguard Worker
3946*89c4ff92SAndroid Build Coastguard Worker struct EqualLayerBuilder {
3947*89c4ff92SAndroid Build Coastguard Worker typedef EqualLayer Table;
3948*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
3949*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
3950*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
3951*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(EqualLayer::VT_BASE, base);
3952*89c4ff92SAndroid Build Coastguard Worker }
3953*89c4ff92SAndroid Build Coastguard Worker explicit EqualLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3954*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
3955*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
3956*89c4ff92SAndroid Build Coastguard Worker }
3957*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<EqualLayer> Finish() {
3958*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
3959*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<EqualLayer>(end);
3960*89c4ff92SAndroid Build Coastguard Worker return o;
3961*89c4ff92SAndroid Build Coastguard Worker }
3962*89c4ff92SAndroid Build Coastguard Worker };
3963*89c4ff92SAndroid Build Coastguard Worker
3964*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<EqualLayer> CreateEqualLayer(
3965*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
3966*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
3967*89c4ff92SAndroid Build Coastguard Worker EqualLayerBuilder builder_(_fbb);
3968*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
3969*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
3970*89c4ff92SAndroid Build Coastguard Worker }
3971*89c4ff92SAndroid Build Coastguard Worker
3972*89c4ff92SAndroid Build Coastguard Worker struct FillLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3973*89c4ff92SAndroid Build Coastguard Worker typedef FillLayerBuilder Builder;
3974*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3975*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
3976*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
3977*89c4ff92SAndroid Build Coastguard Worker };
3978*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
3979*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
3980*89c4ff92SAndroid Build Coastguard Worker }
3981*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::FillDescriptor *descriptor() const {
3982*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::FillDescriptor *>(VT_DESCRIPTOR);
3983*89c4ff92SAndroid Build Coastguard Worker }
3984*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
3985*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
3986*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
3987*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
3988*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
3989*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
3990*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
3991*89c4ff92SAndroid Build Coastguard Worker }
3992*89c4ff92SAndroid Build Coastguard Worker };
3993*89c4ff92SAndroid Build Coastguard Worker
3994*89c4ff92SAndroid Build Coastguard Worker struct FillLayerBuilder {
3995*89c4ff92SAndroid Build Coastguard Worker typedef FillLayer Table;
3996*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
3997*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
3998*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
3999*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(FillLayer::VT_BASE, base);
4000*89c4ff92SAndroid Build Coastguard Worker }
4001*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::FillDescriptor> descriptor) {
4002*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(FillLayer::VT_DESCRIPTOR, descriptor);
4003*89c4ff92SAndroid Build Coastguard Worker }
4004*89c4ff92SAndroid Build Coastguard Worker explicit FillLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4005*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
4006*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
4007*89c4ff92SAndroid Build Coastguard Worker }
4008*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<FillLayer> Finish() {
4009*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
4010*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<FillLayer>(end);
4011*89c4ff92SAndroid Build Coastguard Worker return o;
4012*89c4ff92SAndroid Build Coastguard Worker }
4013*89c4ff92SAndroid Build Coastguard Worker };
4014*89c4ff92SAndroid Build Coastguard Worker
4015*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<FillLayer> CreateFillLayer(
4016*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
4017*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
4018*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::FillDescriptor> descriptor = 0) {
4019*89c4ff92SAndroid Build Coastguard Worker FillLayerBuilder builder_(_fbb);
4020*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
4021*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
4022*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
4023*89c4ff92SAndroid Build Coastguard Worker }
4024*89c4ff92SAndroid Build Coastguard Worker
4025*89c4ff92SAndroid Build Coastguard Worker struct FillDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4026*89c4ff92SAndroid Build Coastguard Worker typedef FillDescriptorBuilder Builder;
4027*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4028*89c4ff92SAndroid Build Coastguard Worker VT_VALUE = 4
4029*89c4ff92SAndroid Build Coastguard Worker };
4030*89c4ff92SAndroid Build Coastguard Worker float value() const {
4031*89c4ff92SAndroid Build Coastguard Worker return GetField<float>(VT_VALUE, 0.0f);
4032*89c4ff92SAndroid Build Coastguard Worker }
4033*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
4034*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
4035*89c4ff92SAndroid Build Coastguard Worker VerifyField<float>(verifier, VT_VALUE, 4) &&
4036*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
4037*89c4ff92SAndroid Build Coastguard Worker }
4038*89c4ff92SAndroid Build Coastguard Worker };
4039*89c4ff92SAndroid Build Coastguard Worker
4040*89c4ff92SAndroid Build Coastguard Worker struct FillDescriptorBuilder {
4041*89c4ff92SAndroid Build Coastguard Worker typedef FillDescriptor Table;
4042*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
4043*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
4044*89c4ff92SAndroid Build Coastguard Worker void add_value(float value) {
4045*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<float>(FillDescriptor::VT_VALUE, value, 0.0f);
4046*89c4ff92SAndroid Build Coastguard Worker }
4047*89c4ff92SAndroid Build Coastguard Worker explicit FillDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4048*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
4049*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
4050*89c4ff92SAndroid Build Coastguard Worker }
4051*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<FillDescriptor> Finish() {
4052*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
4053*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<FillDescriptor>(end);
4054*89c4ff92SAndroid Build Coastguard Worker return o;
4055*89c4ff92SAndroid Build Coastguard Worker }
4056*89c4ff92SAndroid Build Coastguard Worker };
4057*89c4ff92SAndroid Build Coastguard Worker
4058*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<FillDescriptor> CreateFillDescriptor(
4059*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
4060*89c4ff92SAndroid Build Coastguard Worker float value = 0.0f) {
4061*89c4ff92SAndroid Build Coastguard Worker FillDescriptorBuilder builder_(_fbb);
4062*89c4ff92SAndroid Build Coastguard Worker builder_.add_value(value);
4063*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
4064*89c4ff92SAndroid Build Coastguard Worker }
4065*89c4ff92SAndroid Build Coastguard Worker
4066*89c4ff92SAndroid Build Coastguard Worker struct FloorLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4067*89c4ff92SAndroid Build Coastguard Worker typedef FloorLayerBuilder Builder;
4068*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4069*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4
4070*89c4ff92SAndroid Build Coastguard Worker };
4071*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
4072*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
4073*89c4ff92SAndroid Build Coastguard Worker }
4074*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
4075*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
4076*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
4077*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
4078*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
4079*89c4ff92SAndroid Build Coastguard Worker }
4080*89c4ff92SAndroid Build Coastguard Worker };
4081*89c4ff92SAndroid Build Coastguard Worker
4082*89c4ff92SAndroid Build Coastguard Worker struct FloorLayerBuilder {
4083*89c4ff92SAndroid Build Coastguard Worker typedef FloorLayer Table;
4084*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
4085*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
4086*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4087*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(FloorLayer::VT_BASE, base);
4088*89c4ff92SAndroid Build Coastguard Worker }
4089*89c4ff92SAndroid Build Coastguard Worker explicit FloorLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4090*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
4091*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
4092*89c4ff92SAndroid Build Coastguard Worker }
4093*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<FloorLayer> Finish() {
4094*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
4095*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<FloorLayer>(end);
4096*89c4ff92SAndroid Build Coastguard Worker return o;
4097*89c4ff92SAndroid Build Coastguard Worker }
4098*89c4ff92SAndroid Build Coastguard Worker };
4099*89c4ff92SAndroid Build Coastguard Worker
4100*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<FloorLayer> CreateFloorLayer(
4101*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
4102*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
4103*89c4ff92SAndroid Build Coastguard Worker FloorLayerBuilder builder_(_fbb);
4104*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
4105*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
4106*89c4ff92SAndroid Build Coastguard Worker }
4107*89c4ff92SAndroid Build Coastguard Worker
4108*89c4ff92SAndroid Build Coastguard Worker struct FullyConnectedLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4109*89c4ff92SAndroid Build Coastguard Worker typedef FullyConnectedLayerBuilder Builder;
4110*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4111*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
4112*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6,
4113*89c4ff92SAndroid Build Coastguard Worker VT_WEIGHTS = 8,
4114*89c4ff92SAndroid Build Coastguard Worker VT_BIASES = 10
4115*89c4ff92SAndroid Build Coastguard Worker };
4116*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
4117*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
4118*89c4ff92SAndroid Build Coastguard Worker }
4119*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::FullyConnectedDescriptor *descriptor() const {
4120*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::FullyConnectedDescriptor *>(VT_DESCRIPTOR);
4121*89c4ff92SAndroid Build Coastguard Worker }
4122*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *weights() const {
4123*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_WEIGHTS);
4124*89c4ff92SAndroid Build Coastguard Worker }
4125*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *biases() const {
4126*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_BIASES);
4127*89c4ff92SAndroid Build Coastguard Worker }
4128*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
4129*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
4130*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
4131*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
4132*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
4133*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
4134*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_WEIGHTS) &&
4135*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(weights()) &&
4136*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BIASES) &&
4137*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(biases()) &&
4138*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
4139*89c4ff92SAndroid Build Coastguard Worker }
4140*89c4ff92SAndroid Build Coastguard Worker };
4141*89c4ff92SAndroid Build Coastguard Worker
4142*89c4ff92SAndroid Build Coastguard Worker struct FullyConnectedLayerBuilder {
4143*89c4ff92SAndroid Build Coastguard Worker typedef FullyConnectedLayer Table;
4144*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
4145*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
4146*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4147*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(FullyConnectedLayer::VT_BASE, base);
4148*89c4ff92SAndroid Build Coastguard Worker }
4149*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::FullyConnectedDescriptor> descriptor) {
4150*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(FullyConnectedLayer::VT_DESCRIPTOR, descriptor);
4151*89c4ff92SAndroid Build Coastguard Worker }
4152*89c4ff92SAndroid Build Coastguard Worker void add_weights(flatbuffers::Offset<armnnSerializer::ConstTensor> weights) {
4153*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(FullyConnectedLayer::VT_WEIGHTS, weights);
4154*89c4ff92SAndroid Build Coastguard Worker }
4155*89c4ff92SAndroid Build Coastguard Worker void add_biases(flatbuffers::Offset<armnnSerializer::ConstTensor> biases) {
4156*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(FullyConnectedLayer::VT_BIASES, biases);
4157*89c4ff92SAndroid Build Coastguard Worker }
4158*89c4ff92SAndroid Build Coastguard Worker explicit FullyConnectedLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4159*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
4160*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
4161*89c4ff92SAndroid Build Coastguard Worker }
4162*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<FullyConnectedLayer> Finish() {
4163*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
4164*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<FullyConnectedLayer>(end);
4165*89c4ff92SAndroid Build Coastguard Worker return o;
4166*89c4ff92SAndroid Build Coastguard Worker }
4167*89c4ff92SAndroid Build Coastguard Worker };
4168*89c4ff92SAndroid Build Coastguard Worker
4169*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<FullyConnectedLayer> CreateFullyConnectedLayer(
4170*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
4171*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
4172*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::FullyConnectedDescriptor> descriptor = 0,
4173*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> weights = 0,
4174*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> biases = 0) {
4175*89c4ff92SAndroid Build Coastguard Worker FullyConnectedLayerBuilder builder_(_fbb);
4176*89c4ff92SAndroid Build Coastguard Worker builder_.add_biases(biases);
4177*89c4ff92SAndroid Build Coastguard Worker builder_.add_weights(weights);
4178*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
4179*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
4180*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
4181*89c4ff92SAndroid Build Coastguard Worker }
4182*89c4ff92SAndroid Build Coastguard Worker
4183*89c4ff92SAndroid Build Coastguard Worker struct FullyConnectedDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4184*89c4ff92SAndroid Build Coastguard Worker typedef FullyConnectedDescriptorBuilder Builder;
4185*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4186*89c4ff92SAndroid Build Coastguard Worker VT_BIASENABLED = 4,
4187*89c4ff92SAndroid Build Coastguard Worker VT_TRANSPOSEWEIGHTSMATRIX = 6,
4188*89c4ff92SAndroid Build Coastguard Worker VT_CONSTANTWEIGHTS = 8
4189*89c4ff92SAndroid Build Coastguard Worker };
4190*89c4ff92SAndroid Build Coastguard Worker bool biasEnabled() const {
4191*89c4ff92SAndroid Build Coastguard Worker return GetField<uint8_t>(VT_BIASENABLED, 0) != 0;
4192*89c4ff92SAndroid Build Coastguard Worker }
4193*89c4ff92SAndroid Build Coastguard Worker bool transposeWeightsMatrix() const {
4194*89c4ff92SAndroid Build Coastguard Worker return GetField<uint8_t>(VT_TRANSPOSEWEIGHTSMATRIX, 0) != 0;
4195*89c4ff92SAndroid Build Coastguard Worker }
4196*89c4ff92SAndroid Build Coastguard Worker bool constantWeights() const {
4197*89c4ff92SAndroid Build Coastguard Worker return GetField<uint8_t>(VT_CONSTANTWEIGHTS, 1) != 0;
4198*89c4ff92SAndroid Build Coastguard Worker }
4199*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
4200*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
4201*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_BIASENABLED, 1) &&
4202*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_TRANSPOSEWEIGHTSMATRIX, 1) &&
4203*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_CONSTANTWEIGHTS, 1) &&
4204*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
4205*89c4ff92SAndroid Build Coastguard Worker }
4206*89c4ff92SAndroid Build Coastguard Worker };
4207*89c4ff92SAndroid Build Coastguard Worker
4208*89c4ff92SAndroid Build Coastguard Worker struct FullyConnectedDescriptorBuilder {
4209*89c4ff92SAndroid Build Coastguard Worker typedef FullyConnectedDescriptor Table;
4210*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
4211*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
4212*89c4ff92SAndroid Build Coastguard Worker void add_biasEnabled(bool biasEnabled) {
4213*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(FullyConnectedDescriptor::VT_BIASENABLED, static_cast<uint8_t>(biasEnabled), 0);
4214*89c4ff92SAndroid Build Coastguard Worker }
4215*89c4ff92SAndroid Build Coastguard Worker void add_transposeWeightsMatrix(bool transposeWeightsMatrix) {
4216*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(FullyConnectedDescriptor::VT_TRANSPOSEWEIGHTSMATRIX, static_cast<uint8_t>(transposeWeightsMatrix), 0);
4217*89c4ff92SAndroid Build Coastguard Worker }
4218*89c4ff92SAndroid Build Coastguard Worker void add_constantWeights(bool constantWeights) {
4219*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(FullyConnectedDescriptor::VT_CONSTANTWEIGHTS, static_cast<uint8_t>(constantWeights), 1);
4220*89c4ff92SAndroid Build Coastguard Worker }
4221*89c4ff92SAndroid Build Coastguard Worker explicit FullyConnectedDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4222*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
4223*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
4224*89c4ff92SAndroid Build Coastguard Worker }
4225*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<FullyConnectedDescriptor> Finish() {
4226*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
4227*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<FullyConnectedDescriptor>(end);
4228*89c4ff92SAndroid Build Coastguard Worker return o;
4229*89c4ff92SAndroid Build Coastguard Worker }
4230*89c4ff92SAndroid Build Coastguard Worker };
4231*89c4ff92SAndroid Build Coastguard Worker
4232*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<FullyConnectedDescriptor> CreateFullyConnectedDescriptor(
4233*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
4234*89c4ff92SAndroid Build Coastguard Worker bool biasEnabled = false,
4235*89c4ff92SAndroid Build Coastguard Worker bool transposeWeightsMatrix = false,
4236*89c4ff92SAndroid Build Coastguard Worker bool constantWeights = true) {
4237*89c4ff92SAndroid Build Coastguard Worker FullyConnectedDescriptorBuilder builder_(_fbb);
4238*89c4ff92SAndroid Build Coastguard Worker builder_.add_constantWeights(constantWeights);
4239*89c4ff92SAndroid Build Coastguard Worker builder_.add_transposeWeightsMatrix(transposeWeightsMatrix);
4240*89c4ff92SAndroid Build Coastguard Worker builder_.add_biasEnabled(biasEnabled);
4241*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
4242*89c4ff92SAndroid Build Coastguard Worker }
4243*89c4ff92SAndroid Build Coastguard Worker
4244*89c4ff92SAndroid Build Coastguard Worker struct GatherLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4245*89c4ff92SAndroid Build Coastguard Worker typedef GatherLayerBuilder Builder;
4246*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4247*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
4248*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
4249*89c4ff92SAndroid Build Coastguard Worker };
4250*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
4251*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
4252*89c4ff92SAndroid Build Coastguard Worker }
4253*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::GatherDescriptor *descriptor() const {
4254*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::GatherDescriptor *>(VT_DESCRIPTOR);
4255*89c4ff92SAndroid Build Coastguard Worker }
4256*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
4257*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
4258*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
4259*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
4260*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
4261*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
4262*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
4263*89c4ff92SAndroid Build Coastguard Worker }
4264*89c4ff92SAndroid Build Coastguard Worker };
4265*89c4ff92SAndroid Build Coastguard Worker
4266*89c4ff92SAndroid Build Coastguard Worker struct GatherLayerBuilder {
4267*89c4ff92SAndroid Build Coastguard Worker typedef GatherLayer Table;
4268*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
4269*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
4270*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4271*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(GatherLayer::VT_BASE, base);
4272*89c4ff92SAndroid Build Coastguard Worker }
4273*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::GatherDescriptor> descriptor) {
4274*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(GatherLayer::VT_DESCRIPTOR, descriptor);
4275*89c4ff92SAndroid Build Coastguard Worker }
4276*89c4ff92SAndroid Build Coastguard Worker explicit GatherLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4277*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
4278*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
4279*89c4ff92SAndroid Build Coastguard Worker }
4280*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<GatherLayer> Finish() {
4281*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
4282*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<GatherLayer>(end);
4283*89c4ff92SAndroid Build Coastguard Worker return o;
4284*89c4ff92SAndroid Build Coastguard Worker }
4285*89c4ff92SAndroid Build Coastguard Worker };
4286*89c4ff92SAndroid Build Coastguard Worker
4287*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<GatherLayer> CreateGatherLayer(
4288*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
4289*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
4290*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::GatherDescriptor> descriptor = 0) {
4291*89c4ff92SAndroid Build Coastguard Worker GatherLayerBuilder builder_(_fbb);
4292*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
4293*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
4294*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
4295*89c4ff92SAndroid Build Coastguard Worker }
4296*89c4ff92SAndroid Build Coastguard Worker
4297*89c4ff92SAndroid Build Coastguard Worker struct GatherDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4298*89c4ff92SAndroid Build Coastguard Worker typedef GatherDescriptorBuilder Builder;
4299*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4300*89c4ff92SAndroid Build Coastguard Worker VT_AXIS = 4
4301*89c4ff92SAndroid Build Coastguard Worker };
4302*89c4ff92SAndroid Build Coastguard Worker int32_t axis() const {
4303*89c4ff92SAndroid Build Coastguard Worker return GetField<int32_t>(VT_AXIS, 0);
4304*89c4ff92SAndroid Build Coastguard Worker }
4305*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
4306*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
4307*89c4ff92SAndroid Build Coastguard Worker VerifyField<int32_t>(verifier, VT_AXIS, 4) &&
4308*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
4309*89c4ff92SAndroid Build Coastguard Worker }
4310*89c4ff92SAndroid Build Coastguard Worker };
4311*89c4ff92SAndroid Build Coastguard Worker
4312*89c4ff92SAndroid Build Coastguard Worker struct GatherDescriptorBuilder {
4313*89c4ff92SAndroid Build Coastguard Worker typedef GatherDescriptor Table;
4314*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
4315*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
4316*89c4ff92SAndroid Build Coastguard Worker void add_axis(int32_t axis) {
4317*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int32_t>(GatherDescriptor::VT_AXIS, axis, 0);
4318*89c4ff92SAndroid Build Coastguard Worker }
4319*89c4ff92SAndroid Build Coastguard Worker explicit GatherDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4320*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
4321*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
4322*89c4ff92SAndroid Build Coastguard Worker }
4323*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<GatherDescriptor> Finish() {
4324*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
4325*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<GatherDescriptor>(end);
4326*89c4ff92SAndroid Build Coastguard Worker return o;
4327*89c4ff92SAndroid Build Coastguard Worker }
4328*89c4ff92SAndroid Build Coastguard Worker };
4329*89c4ff92SAndroid Build Coastguard Worker
4330*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<GatherDescriptor> CreateGatherDescriptor(
4331*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
4332*89c4ff92SAndroid Build Coastguard Worker int32_t axis = 0) {
4333*89c4ff92SAndroid Build Coastguard Worker GatherDescriptorBuilder builder_(_fbb);
4334*89c4ff92SAndroid Build Coastguard Worker builder_.add_axis(axis);
4335*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
4336*89c4ff92SAndroid Build Coastguard Worker }
4337*89c4ff92SAndroid Build Coastguard Worker
4338*89c4ff92SAndroid Build Coastguard Worker struct GatherNdLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4339*89c4ff92SAndroid Build Coastguard Worker typedef GatherNdLayerBuilder Builder;
4340*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4341*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4
4342*89c4ff92SAndroid Build Coastguard Worker };
4343*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
4344*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
4345*89c4ff92SAndroid Build Coastguard Worker }
4346*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
4347*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
4348*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
4349*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
4350*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
4351*89c4ff92SAndroid Build Coastguard Worker }
4352*89c4ff92SAndroid Build Coastguard Worker };
4353*89c4ff92SAndroid Build Coastguard Worker
4354*89c4ff92SAndroid Build Coastguard Worker struct GatherNdLayerBuilder {
4355*89c4ff92SAndroid Build Coastguard Worker typedef GatherNdLayer Table;
4356*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
4357*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
4358*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4359*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(GatherNdLayer::VT_BASE, base);
4360*89c4ff92SAndroid Build Coastguard Worker }
4361*89c4ff92SAndroid Build Coastguard Worker explicit GatherNdLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4362*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
4363*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
4364*89c4ff92SAndroid Build Coastguard Worker }
4365*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<GatherNdLayer> Finish() {
4366*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
4367*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<GatherNdLayer>(end);
4368*89c4ff92SAndroid Build Coastguard Worker return o;
4369*89c4ff92SAndroid Build Coastguard Worker }
4370*89c4ff92SAndroid Build Coastguard Worker };
4371*89c4ff92SAndroid Build Coastguard Worker
4372*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<GatherNdLayer> CreateGatherNdLayer(
4373*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
4374*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
4375*89c4ff92SAndroid Build Coastguard Worker GatherNdLayerBuilder builder_(_fbb);
4376*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
4377*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
4378*89c4ff92SAndroid Build Coastguard Worker }
4379*89c4ff92SAndroid Build Coastguard Worker
4380*89c4ff92SAndroid Build Coastguard Worker /// @deprecated Use ComparisonLayer instead
4381*89c4ff92SAndroid Build Coastguard Worker struct GreaterLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4382*89c4ff92SAndroid Build Coastguard Worker typedef GreaterLayerBuilder Builder;
4383*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4384*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4
4385*89c4ff92SAndroid Build Coastguard Worker };
4386*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
4387*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
4388*89c4ff92SAndroid Build Coastguard Worker }
4389*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
4390*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
4391*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
4392*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
4393*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
4394*89c4ff92SAndroid Build Coastguard Worker }
4395*89c4ff92SAndroid Build Coastguard Worker };
4396*89c4ff92SAndroid Build Coastguard Worker
4397*89c4ff92SAndroid Build Coastguard Worker struct GreaterLayerBuilder {
4398*89c4ff92SAndroid Build Coastguard Worker typedef GreaterLayer Table;
4399*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
4400*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
4401*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4402*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(GreaterLayer::VT_BASE, base);
4403*89c4ff92SAndroid Build Coastguard Worker }
4404*89c4ff92SAndroid Build Coastguard Worker explicit GreaterLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4405*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
4406*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
4407*89c4ff92SAndroid Build Coastguard Worker }
4408*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<GreaterLayer> Finish() {
4409*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
4410*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<GreaterLayer>(end);
4411*89c4ff92SAndroid Build Coastguard Worker return o;
4412*89c4ff92SAndroid Build Coastguard Worker }
4413*89c4ff92SAndroid Build Coastguard Worker };
4414*89c4ff92SAndroid Build Coastguard Worker
4415*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<GreaterLayer> CreateGreaterLayer(
4416*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
4417*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
4418*89c4ff92SAndroid Build Coastguard Worker GreaterLayerBuilder builder_(_fbb);
4419*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
4420*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
4421*89c4ff92SAndroid Build Coastguard Worker }
4422*89c4ff92SAndroid Build Coastguard Worker
4423*89c4ff92SAndroid Build Coastguard Worker struct InputLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4424*89c4ff92SAndroid Build Coastguard Worker typedef InputLayerBuilder Builder;
4425*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4426*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4
4427*89c4ff92SAndroid Build Coastguard Worker };
4428*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::BindableLayerBase *base() const {
4429*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::BindableLayerBase *>(VT_BASE);
4430*89c4ff92SAndroid Build Coastguard Worker }
4431*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
4432*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
4433*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
4434*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
4435*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
4436*89c4ff92SAndroid Build Coastguard Worker }
4437*89c4ff92SAndroid Build Coastguard Worker };
4438*89c4ff92SAndroid Build Coastguard Worker
4439*89c4ff92SAndroid Build Coastguard Worker struct InputLayerBuilder {
4440*89c4ff92SAndroid Build Coastguard Worker typedef InputLayer Table;
4441*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
4442*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
4443*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::BindableLayerBase> base) {
4444*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(InputLayer::VT_BASE, base);
4445*89c4ff92SAndroid Build Coastguard Worker }
4446*89c4ff92SAndroid Build Coastguard Worker explicit InputLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4447*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
4448*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
4449*89c4ff92SAndroid Build Coastguard Worker }
4450*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<InputLayer> Finish() {
4451*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
4452*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<InputLayer>(end);
4453*89c4ff92SAndroid Build Coastguard Worker return o;
4454*89c4ff92SAndroid Build Coastguard Worker }
4455*89c4ff92SAndroid Build Coastguard Worker };
4456*89c4ff92SAndroid Build Coastguard Worker
4457*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<InputLayer> CreateInputLayer(
4458*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
4459*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::BindableLayerBase> base = 0) {
4460*89c4ff92SAndroid Build Coastguard Worker InputLayerBuilder builder_(_fbb);
4461*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
4462*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
4463*89c4ff92SAndroid Build Coastguard Worker }
4464*89c4ff92SAndroid Build Coastguard Worker
4465*89c4ff92SAndroid Build Coastguard Worker struct InstanceNormalizationLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4466*89c4ff92SAndroid Build Coastguard Worker typedef InstanceNormalizationLayerBuilder Builder;
4467*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4468*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
4469*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
4470*89c4ff92SAndroid Build Coastguard Worker };
4471*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
4472*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
4473*89c4ff92SAndroid Build Coastguard Worker }
4474*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::InstanceNormalizationDescriptor *descriptor() const {
4475*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::InstanceNormalizationDescriptor *>(VT_DESCRIPTOR);
4476*89c4ff92SAndroid Build Coastguard Worker }
4477*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
4478*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
4479*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
4480*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
4481*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
4482*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
4483*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
4484*89c4ff92SAndroid Build Coastguard Worker }
4485*89c4ff92SAndroid Build Coastguard Worker };
4486*89c4ff92SAndroid Build Coastguard Worker
4487*89c4ff92SAndroid Build Coastguard Worker struct InstanceNormalizationLayerBuilder {
4488*89c4ff92SAndroid Build Coastguard Worker typedef InstanceNormalizationLayer Table;
4489*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
4490*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
4491*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4492*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(InstanceNormalizationLayer::VT_BASE, base);
4493*89c4ff92SAndroid Build Coastguard Worker }
4494*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::InstanceNormalizationDescriptor> descriptor) {
4495*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(InstanceNormalizationLayer::VT_DESCRIPTOR, descriptor);
4496*89c4ff92SAndroid Build Coastguard Worker }
4497*89c4ff92SAndroid Build Coastguard Worker explicit InstanceNormalizationLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4498*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
4499*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
4500*89c4ff92SAndroid Build Coastguard Worker }
4501*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<InstanceNormalizationLayer> Finish() {
4502*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
4503*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<InstanceNormalizationLayer>(end);
4504*89c4ff92SAndroid Build Coastguard Worker return o;
4505*89c4ff92SAndroid Build Coastguard Worker }
4506*89c4ff92SAndroid Build Coastguard Worker };
4507*89c4ff92SAndroid Build Coastguard Worker
4508*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<InstanceNormalizationLayer> CreateInstanceNormalizationLayer(
4509*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
4510*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
4511*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::InstanceNormalizationDescriptor> descriptor = 0) {
4512*89c4ff92SAndroid Build Coastguard Worker InstanceNormalizationLayerBuilder builder_(_fbb);
4513*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
4514*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
4515*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
4516*89c4ff92SAndroid Build Coastguard Worker }
4517*89c4ff92SAndroid Build Coastguard Worker
4518*89c4ff92SAndroid Build Coastguard Worker struct InstanceNormalizationDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4519*89c4ff92SAndroid Build Coastguard Worker typedef InstanceNormalizationDescriptorBuilder Builder;
4520*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4521*89c4ff92SAndroid Build Coastguard Worker VT_GAMMA = 4,
4522*89c4ff92SAndroid Build Coastguard Worker VT_BETA = 6,
4523*89c4ff92SAndroid Build Coastguard Worker VT_EPS = 8,
4524*89c4ff92SAndroid Build Coastguard Worker VT_DATALAYOUT = 10
4525*89c4ff92SAndroid Build Coastguard Worker };
4526*89c4ff92SAndroid Build Coastguard Worker float gamma() const {
4527*89c4ff92SAndroid Build Coastguard Worker return GetField<float>(VT_GAMMA, 0.0f);
4528*89c4ff92SAndroid Build Coastguard Worker }
4529*89c4ff92SAndroid Build Coastguard Worker float beta() const {
4530*89c4ff92SAndroid Build Coastguard Worker return GetField<float>(VT_BETA, 0.0f);
4531*89c4ff92SAndroid Build Coastguard Worker }
4532*89c4ff92SAndroid Build Coastguard Worker float eps() const {
4533*89c4ff92SAndroid Build Coastguard Worker return GetField<float>(VT_EPS, 0.0f);
4534*89c4ff92SAndroid Build Coastguard Worker }
4535*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout() const {
4536*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 0));
4537*89c4ff92SAndroid Build Coastguard Worker }
4538*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
4539*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
4540*89c4ff92SAndroid Build Coastguard Worker VerifyField<float>(verifier, VT_GAMMA, 4) &&
4541*89c4ff92SAndroid Build Coastguard Worker VerifyField<float>(verifier, VT_BETA, 4) &&
4542*89c4ff92SAndroid Build Coastguard Worker VerifyField<float>(verifier, VT_EPS, 4) &&
4543*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_DATALAYOUT, 1) &&
4544*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
4545*89c4ff92SAndroid Build Coastguard Worker }
4546*89c4ff92SAndroid Build Coastguard Worker };
4547*89c4ff92SAndroid Build Coastguard Worker
4548*89c4ff92SAndroid Build Coastguard Worker struct InstanceNormalizationDescriptorBuilder {
4549*89c4ff92SAndroid Build Coastguard Worker typedef InstanceNormalizationDescriptor Table;
4550*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
4551*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
4552*89c4ff92SAndroid Build Coastguard Worker void add_gamma(float gamma) {
4553*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<float>(InstanceNormalizationDescriptor::VT_GAMMA, gamma, 0.0f);
4554*89c4ff92SAndroid Build Coastguard Worker }
4555*89c4ff92SAndroid Build Coastguard Worker void add_beta(float beta) {
4556*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<float>(InstanceNormalizationDescriptor::VT_BETA, beta, 0.0f);
4557*89c4ff92SAndroid Build Coastguard Worker }
4558*89c4ff92SAndroid Build Coastguard Worker void add_eps(float eps) {
4559*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<float>(InstanceNormalizationDescriptor::VT_EPS, eps, 0.0f);
4560*89c4ff92SAndroid Build Coastguard Worker }
4561*89c4ff92SAndroid Build Coastguard Worker void add_dataLayout(armnnSerializer::DataLayout dataLayout) {
4562*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(InstanceNormalizationDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 0);
4563*89c4ff92SAndroid Build Coastguard Worker }
4564*89c4ff92SAndroid Build Coastguard Worker explicit InstanceNormalizationDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4565*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
4566*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
4567*89c4ff92SAndroid Build Coastguard Worker }
4568*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<InstanceNormalizationDescriptor> Finish() {
4569*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
4570*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<InstanceNormalizationDescriptor>(end);
4571*89c4ff92SAndroid Build Coastguard Worker return o;
4572*89c4ff92SAndroid Build Coastguard Worker }
4573*89c4ff92SAndroid Build Coastguard Worker };
4574*89c4ff92SAndroid Build Coastguard Worker
4575*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<InstanceNormalizationDescriptor> CreateInstanceNormalizationDescriptor(
4576*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
4577*89c4ff92SAndroid Build Coastguard Worker float gamma = 0.0f,
4578*89c4ff92SAndroid Build Coastguard Worker float beta = 0.0f,
4579*89c4ff92SAndroid Build Coastguard Worker float eps = 0.0f,
4580*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout = armnnSerializer::DataLayout_NHWC) {
4581*89c4ff92SAndroid Build Coastguard Worker InstanceNormalizationDescriptorBuilder builder_(_fbb);
4582*89c4ff92SAndroid Build Coastguard Worker builder_.add_eps(eps);
4583*89c4ff92SAndroid Build Coastguard Worker builder_.add_beta(beta);
4584*89c4ff92SAndroid Build Coastguard Worker builder_.add_gamma(gamma);
4585*89c4ff92SAndroid Build Coastguard Worker builder_.add_dataLayout(dataLayout);
4586*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
4587*89c4ff92SAndroid Build Coastguard Worker }
4588*89c4ff92SAndroid Build Coastguard Worker
4589*89c4ff92SAndroid Build Coastguard Worker struct LogSoftmaxLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4590*89c4ff92SAndroid Build Coastguard Worker typedef LogSoftmaxLayerBuilder Builder;
4591*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4592*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
4593*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
4594*89c4ff92SAndroid Build Coastguard Worker };
4595*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
4596*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
4597*89c4ff92SAndroid Build Coastguard Worker }
4598*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LogSoftmaxDescriptor *descriptor() const {
4599*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LogSoftmaxDescriptor *>(VT_DESCRIPTOR);
4600*89c4ff92SAndroid Build Coastguard Worker }
4601*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
4602*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
4603*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
4604*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
4605*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
4606*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
4607*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
4608*89c4ff92SAndroid Build Coastguard Worker }
4609*89c4ff92SAndroid Build Coastguard Worker };
4610*89c4ff92SAndroid Build Coastguard Worker
4611*89c4ff92SAndroid Build Coastguard Worker struct LogSoftmaxLayerBuilder {
4612*89c4ff92SAndroid Build Coastguard Worker typedef LogSoftmaxLayer Table;
4613*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
4614*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
4615*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4616*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(LogSoftmaxLayer::VT_BASE, base);
4617*89c4ff92SAndroid Build Coastguard Worker }
4618*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::LogSoftmaxDescriptor> descriptor) {
4619*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(LogSoftmaxLayer::VT_DESCRIPTOR, descriptor);
4620*89c4ff92SAndroid Build Coastguard Worker }
4621*89c4ff92SAndroid Build Coastguard Worker explicit LogSoftmaxLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4622*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
4623*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
4624*89c4ff92SAndroid Build Coastguard Worker }
4625*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<LogSoftmaxLayer> Finish() {
4626*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
4627*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<LogSoftmaxLayer>(end);
4628*89c4ff92SAndroid Build Coastguard Worker return o;
4629*89c4ff92SAndroid Build Coastguard Worker }
4630*89c4ff92SAndroid Build Coastguard Worker };
4631*89c4ff92SAndroid Build Coastguard Worker
4632*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<LogSoftmaxLayer> CreateLogSoftmaxLayer(
4633*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
4634*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
4635*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LogSoftmaxDescriptor> descriptor = 0) {
4636*89c4ff92SAndroid Build Coastguard Worker LogSoftmaxLayerBuilder builder_(_fbb);
4637*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
4638*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
4639*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
4640*89c4ff92SAndroid Build Coastguard Worker }
4641*89c4ff92SAndroid Build Coastguard Worker
4642*89c4ff92SAndroid Build Coastguard Worker struct LogSoftmaxDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4643*89c4ff92SAndroid Build Coastguard Worker typedef LogSoftmaxDescriptorBuilder Builder;
4644*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4645*89c4ff92SAndroid Build Coastguard Worker VT_BETA = 4,
4646*89c4ff92SAndroid Build Coastguard Worker VT_AXIS = 6
4647*89c4ff92SAndroid Build Coastguard Worker };
4648*89c4ff92SAndroid Build Coastguard Worker float beta() const {
4649*89c4ff92SAndroid Build Coastguard Worker return GetField<float>(VT_BETA, 1.0f);
4650*89c4ff92SAndroid Build Coastguard Worker }
4651*89c4ff92SAndroid Build Coastguard Worker int32_t axis() const {
4652*89c4ff92SAndroid Build Coastguard Worker return GetField<int32_t>(VT_AXIS, -1);
4653*89c4ff92SAndroid Build Coastguard Worker }
4654*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
4655*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
4656*89c4ff92SAndroid Build Coastguard Worker VerifyField<float>(verifier, VT_BETA, 4) &&
4657*89c4ff92SAndroid Build Coastguard Worker VerifyField<int32_t>(verifier, VT_AXIS, 4) &&
4658*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
4659*89c4ff92SAndroid Build Coastguard Worker }
4660*89c4ff92SAndroid Build Coastguard Worker };
4661*89c4ff92SAndroid Build Coastguard Worker
4662*89c4ff92SAndroid Build Coastguard Worker struct LogSoftmaxDescriptorBuilder {
4663*89c4ff92SAndroid Build Coastguard Worker typedef LogSoftmaxDescriptor Table;
4664*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
4665*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
4666*89c4ff92SAndroid Build Coastguard Worker void add_beta(float beta) {
4667*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<float>(LogSoftmaxDescriptor::VT_BETA, beta, 1.0f);
4668*89c4ff92SAndroid Build Coastguard Worker }
4669*89c4ff92SAndroid Build Coastguard Worker void add_axis(int32_t axis) {
4670*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int32_t>(LogSoftmaxDescriptor::VT_AXIS, axis, -1);
4671*89c4ff92SAndroid Build Coastguard Worker }
4672*89c4ff92SAndroid Build Coastguard Worker explicit LogSoftmaxDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4673*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
4674*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
4675*89c4ff92SAndroid Build Coastguard Worker }
4676*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<LogSoftmaxDescriptor> Finish() {
4677*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
4678*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<LogSoftmaxDescriptor>(end);
4679*89c4ff92SAndroid Build Coastguard Worker return o;
4680*89c4ff92SAndroid Build Coastguard Worker }
4681*89c4ff92SAndroid Build Coastguard Worker };
4682*89c4ff92SAndroid Build Coastguard Worker
4683*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<LogSoftmaxDescriptor> CreateLogSoftmaxDescriptor(
4684*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
4685*89c4ff92SAndroid Build Coastguard Worker float beta = 1.0f,
4686*89c4ff92SAndroid Build Coastguard Worker int32_t axis = -1) {
4687*89c4ff92SAndroid Build Coastguard Worker LogSoftmaxDescriptorBuilder builder_(_fbb);
4688*89c4ff92SAndroid Build Coastguard Worker builder_.add_axis(axis);
4689*89c4ff92SAndroid Build Coastguard Worker builder_.add_beta(beta);
4690*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
4691*89c4ff92SAndroid Build Coastguard Worker }
4692*89c4ff92SAndroid Build Coastguard Worker
4693*89c4ff92SAndroid Build Coastguard Worker struct L2NormalizationLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4694*89c4ff92SAndroid Build Coastguard Worker typedef L2NormalizationLayerBuilder Builder;
4695*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4696*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
4697*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
4698*89c4ff92SAndroid Build Coastguard Worker };
4699*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
4700*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
4701*89c4ff92SAndroid Build Coastguard Worker }
4702*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::L2NormalizationDescriptor *descriptor() const {
4703*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::L2NormalizationDescriptor *>(VT_DESCRIPTOR);
4704*89c4ff92SAndroid Build Coastguard Worker }
4705*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
4706*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
4707*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
4708*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
4709*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
4710*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
4711*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
4712*89c4ff92SAndroid Build Coastguard Worker }
4713*89c4ff92SAndroid Build Coastguard Worker };
4714*89c4ff92SAndroid Build Coastguard Worker
4715*89c4ff92SAndroid Build Coastguard Worker struct L2NormalizationLayerBuilder {
4716*89c4ff92SAndroid Build Coastguard Worker typedef L2NormalizationLayer Table;
4717*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
4718*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
4719*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4720*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(L2NormalizationLayer::VT_BASE, base);
4721*89c4ff92SAndroid Build Coastguard Worker }
4722*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::L2NormalizationDescriptor> descriptor) {
4723*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(L2NormalizationLayer::VT_DESCRIPTOR, descriptor);
4724*89c4ff92SAndroid Build Coastguard Worker }
4725*89c4ff92SAndroid Build Coastguard Worker explicit L2NormalizationLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4726*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
4727*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
4728*89c4ff92SAndroid Build Coastguard Worker }
4729*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<L2NormalizationLayer> Finish() {
4730*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
4731*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<L2NormalizationLayer>(end);
4732*89c4ff92SAndroid Build Coastguard Worker return o;
4733*89c4ff92SAndroid Build Coastguard Worker }
4734*89c4ff92SAndroid Build Coastguard Worker };
4735*89c4ff92SAndroid Build Coastguard Worker
4736*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<L2NormalizationLayer> CreateL2NormalizationLayer(
4737*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
4738*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
4739*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::L2NormalizationDescriptor> descriptor = 0) {
4740*89c4ff92SAndroid Build Coastguard Worker L2NormalizationLayerBuilder builder_(_fbb);
4741*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
4742*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
4743*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
4744*89c4ff92SAndroid Build Coastguard Worker }
4745*89c4ff92SAndroid Build Coastguard Worker
4746*89c4ff92SAndroid Build Coastguard Worker struct L2NormalizationDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4747*89c4ff92SAndroid Build Coastguard Worker typedef L2NormalizationDescriptorBuilder Builder;
4748*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4749*89c4ff92SAndroid Build Coastguard Worker VT_DATALAYOUT = 4,
4750*89c4ff92SAndroid Build Coastguard Worker VT_EPS = 6
4751*89c4ff92SAndroid Build Coastguard Worker };
4752*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout() const {
4753*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 1));
4754*89c4ff92SAndroid Build Coastguard Worker }
4755*89c4ff92SAndroid Build Coastguard Worker float eps() const {
4756*89c4ff92SAndroid Build Coastguard Worker return GetField<float>(VT_EPS, 1e-12f);
4757*89c4ff92SAndroid Build Coastguard Worker }
4758*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
4759*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
4760*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_DATALAYOUT, 1) &&
4761*89c4ff92SAndroid Build Coastguard Worker VerifyField<float>(verifier, VT_EPS, 4) &&
4762*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
4763*89c4ff92SAndroid Build Coastguard Worker }
4764*89c4ff92SAndroid Build Coastguard Worker };
4765*89c4ff92SAndroid Build Coastguard Worker
4766*89c4ff92SAndroid Build Coastguard Worker struct L2NormalizationDescriptorBuilder {
4767*89c4ff92SAndroid Build Coastguard Worker typedef L2NormalizationDescriptor Table;
4768*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
4769*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
4770*89c4ff92SAndroid Build Coastguard Worker void add_dataLayout(armnnSerializer::DataLayout dataLayout) {
4771*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(L2NormalizationDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 1);
4772*89c4ff92SAndroid Build Coastguard Worker }
4773*89c4ff92SAndroid Build Coastguard Worker void add_eps(float eps) {
4774*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<float>(L2NormalizationDescriptor::VT_EPS, eps, 1e-12f);
4775*89c4ff92SAndroid Build Coastguard Worker }
4776*89c4ff92SAndroid Build Coastguard Worker explicit L2NormalizationDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4777*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
4778*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
4779*89c4ff92SAndroid Build Coastguard Worker }
4780*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<L2NormalizationDescriptor> Finish() {
4781*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
4782*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<L2NormalizationDescriptor>(end);
4783*89c4ff92SAndroid Build Coastguard Worker return o;
4784*89c4ff92SAndroid Build Coastguard Worker }
4785*89c4ff92SAndroid Build Coastguard Worker };
4786*89c4ff92SAndroid Build Coastguard Worker
4787*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<L2NormalizationDescriptor> CreateL2NormalizationDescriptor(
4788*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
4789*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout = armnnSerializer::DataLayout_NCHW,
4790*89c4ff92SAndroid Build Coastguard Worker float eps = 1e-12f) {
4791*89c4ff92SAndroid Build Coastguard Worker L2NormalizationDescriptorBuilder builder_(_fbb);
4792*89c4ff92SAndroid Build Coastguard Worker builder_.add_eps(eps);
4793*89c4ff92SAndroid Build Coastguard Worker builder_.add_dataLayout(dataLayout);
4794*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
4795*89c4ff92SAndroid Build Coastguard Worker }
4796*89c4ff92SAndroid Build Coastguard Worker
4797*89c4ff92SAndroid Build Coastguard Worker struct LogicalBinaryDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4798*89c4ff92SAndroid Build Coastguard Worker typedef LogicalBinaryDescriptorBuilder Builder;
4799*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4800*89c4ff92SAndroid Build Coastguard Worker VT_OPERATION = 4
4801*89c4ff92SAndroid Build Coastguard Worker };
4802*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::LogicalBinaryOperation operation() const {
4803*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::LogicalBinaryOperation>(GetField<int8_t>(VT_OPERATION, 0));
4804*89c4ff92SAndroid Build Coastguard Worker }
4805*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
4806*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
4807*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_OPERATION, 1) &&
4808*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
4809*89c4ff92SAndroid Build Coastguard Worker }
4810*89c4ff92SAndroid Build Coastguard Worker };
4811*89c4ff92SAndroid Build Coastguard Worker
4812*89c4ff92SAndroid Build Coastguard Worker struct LogicalBinaryDescriptorBuilder {
4813*89c4ff92SAndroid Build Coastguard Worker typedef LogicalBinaryDescriptor Table;
4814*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
4815*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
4816*89c4ff92SAndroid Build Coastguard Worker void add_operation(armnnSerializer::LogicalBinaryOperation operation) {
4817*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(LogicalBinaryDescriptor::VT_OPERATION, static_cast<int8_t>(operation), 0);
4818*89c4ff92SAndroid Build Coastguard Worker }
4819*89c4ff92SAndroid Build Coastguard Worker explicit LogicalBinaryDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4820*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
4821*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
4822*89c4ff92SAndroid Build Coastguard Worker }
4823*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<LogicalBinaryDescriptor> Finish() {
4824*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
4825*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<LogicalBinaryDescriptor>(end);
4826*89c4ff92SAndroid Build Coastguard Worker return o;
4827*89c4ff92SAndroid Build Coastguard Worker }
4828*89c4ff92SAndroid Build Coastguard Worker };
4829*89c4ff92SAndroid Build Coastguard Worker
4830*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<LogicalBinaryDescriptor> CreateLogicalBinaryDescriptor(
4831*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
4832*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::LogicalBinaryOperation operation = armnnSerializer::LogicalBinaryOperation_LogicalAnd) {
4833*89c4ff92SAndroid Build Coastguard Worker LogicalBinaryDescriptorBuilder builder_(_fbb);
4834*89c4ff92SAndroid Build Coastguard Worker builder_.add_operation(operation);
4835*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
4836*89c4ff92SAndroid Build Coastguard Worker }
4837*89c4ff92SAndroid Build Coastguard Worker
4838*89c4ff92SAndroid Build Coastguard Worker struct LogicalBinaryLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4839*89c4ff92SAndroid Build Coastguard Worker typedef LogicalBinaryLayerBuilder Builder;
4840*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4841*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
4842*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
4843*89c4ff92SAndroid Build Coastguard Worker };
4844*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
4845*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
4846*89c4ff92SAndroid Build Coastguard Worker }
4847*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LogicalBinaryDescriptor *descriptor() const {
4848*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LogicalBinaryDescriptor *>(VT_DESCRIPTOR);
4849*89c4ff92SAndroid Build Coastguard Worker }
4850*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
4851*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
4852*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
4853*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
4854*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
4855*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
4856*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
4857*89c4ff92SAndroid Build Coastguard Worker }
4858*89c4ff92SAndroid Build Coastguard Worker };
4859*89c4ff92SAndroid Build Coastguard Worker
4860*89c4ff92SAndroid Build Coastguard Worker struct LogicalBinaryLayerBuilder {
4861*89c4ff92SAndroid Build Coastguard Worker typedef LogicalBinaryLayer Table;
4862*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
4863*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
4864*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4865*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(LogicalBinaryLayer::VT_BASE, base);
4866*89c4ff92SAndroid Build Coastguard Worker }
4867*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::LogicalBinaryDescriptor> descriptor) {
4868*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(LogicalBinaryLayer::VT_DESCRIPTOR, descriptor);
4869*89c4ff92SAndroid Build Coastguard Worker }
4870*89c4ff92SAndroid Build Coastguard Worker explicit LogicalBinaryLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4871*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
4872*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
4873*89c4ff92SAndroid Build Coastguard Worker }
4874*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<LogicalBinaryLayer> Finish() {
4875*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
4876*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<LogicalBinaryLayer>(end);
4877*89c4ff92SAndroid Build Coastguard Worker return o;
4878*89c4ff92SAndroid Build Coastguard Worker }
4879*89c4ff92SAndroid Build Coastguard Worker };
4880*89c4ff92SAndroid Build Coastguard Worker
4881*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<LogicalBinaryLayer> CreateLogicalBinaryLayer(
4882*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
4883*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
4884*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LogicalBinaryDescriptor> descriptor = 0) {
4885*89c4ff92SAndroid Build Coastguard Worker LogicalBinaryLayerBuilder builder_(_fbb);
4886*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
4887*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
4888*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
4889*89c4ff92SAndroid Build Coastguard Worker }
4890*89c4ff92SAndroid Build Coastguard Worker
4891*89c4ff92SAndroid Build Coastguard Worker struct MinimumLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4892*89c4ff92SAndroid Build Coastguard Worker typedef MinimumLayerBuilder Builder;
4893*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4894*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4
4895*89c4ff92SAndroid Build Coastguard Worker };
4896*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
4897*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
4898*89c4ff92SAndroid Build Coastguard Worker }
4899*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
4900*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
4901*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
4902*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
4903*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
4904*89c4ff92SAndroid Build Coastguard Worker }
4905*89c4ff92SAndroid Build Coastguard Worker };
4906*89c4ff92SAndroid Build Coastguard Worker
4907*89c4ff92SAndroid Build Coastguard Worker struct MinimumLayerBuilder {
4908*89c4ff92SAndroid Build Coastguard Worker typedef MinimumLayer Table;
4909*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
4910*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
4911*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4912*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(MinimumLayer::VT_BASE, base);
4913*89c4ff92SAndroid Build Coastguard Worker }
4914*89c4ff92SAndroid Build Coastguard Worker explicit MinimumLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4915*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
4916*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
4917*89c4ff92SAndroid Build Coastguard Worker }
4918*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<MinimumLayer> Finish() {
4919*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
4920*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<MinimumLayer>(end);
4921*89c4ff92SAndroid Build Coastguard Worker return o;
4922*89c4ff92SAndroid Build Coastguard Worker }
4923*89c4ff92SAndroid Build Coastguard Worker };
4924*89c4ff92SAndroid Build Coastguard Worker
4925*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<MinimumLayer> CreateMinimumLayer(
4926*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
4927*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
4928*89c4ff92SAndroid Build Coastguard Worker MinimumLayerBuilder builder_(_fbb);
4929*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
4930*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
4931*89c4ff92SAndroid Build Coastguard Worker }
4932*89c4ff92SAndroid Build Coastguard Worker
4933*89c4ff92SAndroid Build Coastguard Worker struct MaximumLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4934*89c4ff92SAndroid Build Coastguard Worker typedef MaximumLayerBuilder Builder;
4935*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4936*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4
4937*89c4ff92SAndroid Build Coastguard Worker };
4938*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
4939*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
4940*89c4ff92SAndroid Build Coastguard Worker }
4941*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
4942*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
4943*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
4944*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
4945*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
4946*89c4ff92SAndroid Build Coastguard Worker }
4947*89c4ff92SAndroid Build Coastguard Worker };
4948*89c4ff92SAndroid Build Coastguard Worker
4949*89c4ff92SAndroid Build Coastguard Worker struct MaximumLayerBuilder {
4950*89c4ff92SAndroid Build Coastguard Worker typedef MaximumLayer Table;
4951*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
4952*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
4953*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4954*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(MaximumLayer::VT_BASE, base);
4955*89c4ff92SAndroid Build Coastguard Worker }
4956*89c4ff92SAndroid Build Coastguard Worker explicit MaximumLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4957*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
4958*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
4959*89c4ff92SAndroid Build Coastguard Worker }
4960*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<MaximumLayer> Finish() {
4961*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
4962*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<MaximumLayer>(end);
4963*89c4ff92SAndroid Build Coastguard Worker return o;
4964*89c4ff92SAndroid Build Coastguard Worker }
4965*89c4ff92SAndroid Build Coastguard Worker };
4966*89c4ff92SAndroid Build Coastguard Worker
4967*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<MaximumLayer> CreateMaximumLayer(
4968*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
4969*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
4970*89c4ff92SAndroid Build Coastguard Worker MaximumLayerBuilder builder_(_fbb);
4971*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
4972*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
4973*89c4ff92SAndroid Build Coastguard Worker }
4974*89c4ff92SAndroid Build Coastguard Worker
4975*89c4ff92SAndroid Build Coastguard Worker struct MultiplicationLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
4976*89c4ff92SAndroid Build Coastguard Worker typedef MultiplicationLayerBuilder Builder;
4977*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
4978*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4
4979*89c4ff92SAndroid Build Coastguard Worker };
4980*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
4981*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
4982*89c4ff92SAndroid Build Coastguard Worker }
4983*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
4984*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
4985*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
4986*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
4987*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
4988*89c4ff92SAndroid Build Coastguard Worker }
4989*89c4ff92SAndroid Build Coastguard Worker };
4990*89c4ff92SAndroid Build Coastguard Worker
4991*89c4ff92SAndroid Build Coastguard Worker struct MultiplicationLayerBuilder {
4992*89c4ff92SAndroid Build Coastguard Worker typedef MultiplicationLayer Table;
4993*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
4994*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
4995*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
4996*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(MultiplicationLayer::VT_BASE, base);
4997*89c4ff92SAndroid Build Coastguard Worker }
4998*89c4ff92SAndroid Build Coastguard Worker explicit MultiplicationLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
4999*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
5000*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
5001*89c4ff92SAndroid Build Coastguard Worker }
5002*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<MultiplicationLayer> Finish() {
5003*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
5004*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<MultiplicationLayer>(end);
5005*89c4ff92SAndroid Build Coastguard Worker return o;
5006*89c4ff92SAndroid Build Coastguard Worker }
5007*89c4ff92SAndroid Build Coastguard Worker };
5008*89c4ff92SAndroid Build Coastguard Worker
5009*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<MultiplicationLayer> CreateMultiplicationLayer(
5010*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
5011*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
5012*89c4ff92SAndroid Build Coastguard Worker MultiplicationLayerBuilder builder_(_fbb);
5013*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
5014*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
5015*89c4ff92SAndroid Build Coastguard Worker }
5016*89c4ff92SAndroid Build Coastguard Worker
5017*89c4ff92SAndroid Build Coastguard Worker struct Pooling2dLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5018*89c4ff92SAndroid Build Coastguard Worker typedef Pooling2dLayerBuilder Builder;
5019*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5020*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
5021*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
5022*89c4ff92SAndroid Build Coastguard Worker };
5023*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
5024*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
5025*89c4ff92SAndroid Build Coastguard Worker }
5026*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::Pooling2dDescriptor *descriptor() const {
5027*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::Pooling2dDescriptor *>(VT_DESCRIPTOR);
5028*89c4ff92SAndroid Build Coastguard Worker }
5029*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
5030*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
5031*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
5032*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
5033*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
5034*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
5035*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
5036*89c4ff92SAndroid Build Coastguard Worker }
5037*89c4ff92SAndroid Build Coastguard Worker };
5038*89c4ff92SAndroid Build Coastguard Worker
5039*89c4ff92SAndroid Build Coastguard Worker struct Pooling2dLayerBuilder {
5040*89c4ff92SAndroid Build Coastguard Worker typedef Pooling2dLayer Table;
5041*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
5042*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
5043*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
5044*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(Pooling2dLayer::VT_BASE, base);
5045*89c4ff92SAndroid Build Coastguard Worker }
5046*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::Pooling2dDescriptor> descriptor) {
5047*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(Pooling2dLayer::VT_DESCRIPTOR, descriptor);
5048*89c4ff92SAndroid Build Coastguard Worker }
5049*89c4ff92SAndroid Build Coastguard Worker explicit Pooling2dLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5050*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
5051*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
5052*89c4ff92SAndroid Build Coastguard Worker }
5053*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<Pooling2dLayer> Finish() {
5054*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
5055*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<Pooling2dLayer>(end);
5056*89c4ff92SAndroid Build Coastguard Worker return o;
5057*89c4ff92SAndroid Build Coastguard Worker }
5058*89c4ff92SAndroid Build Coastguard Worker };
5059*89c4ff92SAndroid Build Coastguard Worker
5060*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<Pooling2dLayer> CreatePooling2dLayer(
5061*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
5062*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
5063*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::Pooling2dDescriptor> descriptor = 0) {
5064*89c4ff92SAndroid Build Coastguard Worker Pooling2dLayerBuilder builder_(_fbb);
5065*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
5066*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
5067*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
5068*89c4ff92SAndroid Build Coastguard Worker }
5069*89c4ff92SAndroid Build Coastguard Worker
5070*89c4ff92SAndroid Build Coastguard Worker struct Pooling3dLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5071*89c4ff92SAndroid Build Coastguard Worker typedef Pooling3dLayerBuilder Builder;
5072*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5073*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
5074*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
5075*89c4ff92SAndroid Build Coastguard Worker };
5076*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
5077*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
5078*89c4ff92SAndroid Build Coastguard Worker }
5079*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::Pooling3dDescriptor *descriptor() const {
5080*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::Pooling3dDescriptor *>(VT_DESCRIPTOR);
5081*89c4ff92SAndroid Build Coastguard Worker }
5082*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
5083*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
5084*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
5085*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
5086*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
5087*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
5088*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
5089*89c4ff92SAndroid Build Coastguard Worker }
5090*89c4ff92SAndroid Build Coastguard Worker };
5091*89c4ff92SAndroid Build Coastguard Worker
5092*89c4ff92SAndroid Build Coastguard Worker struct Pooling3dLayerBuilder {
5093*89c4ff92SAndroid Build Coastguard Worker typedef Pooling3dLayer Table;
5094*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
5095*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
5096*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
5097*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(Pooling3dLayer::VT_BASE, base);
5098*89c4ff92SAndroid Build Coastguard Worker }
5099*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::Pooling3dDescriptor> descriptor) {
5100*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(Pooling3dLayer::VT_DESCRIPTOR, descriptor);
5101*89c4ff92SAndroid Build Coastguard Worker }
5102*89c4ff92SAndroid Build Coastguard Worker explicit Pooling3dLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5103*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
5104*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
5105*89c4ff92SAndroid Build Coastguard Worker }
5106*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<Pooling3dLayer> Finish() {
5107*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
5108*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<Pooling3dLayer>(end);
5109*89c4ff92SAndroid Build Coastguard Worker return o;
5110*89c4ff92SAndroid Build Coastguard Worker }
5111*89c4ff92SAndroid Build Coastguard Worker };
5112*89c4ff92SAndroid Build Coastguard Worker
5113*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<Pooling3dLayer> CreatePooling3dLayer(
5114*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
5115*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
5116*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::Pooling3dDescriptor> descriptor = 0) {
5117*89c4ff92SAndroid Build Coastguard Worker Pooling3dLayerBuilder builder_(_fbb);
5118*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
5119*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
5120*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
5121*89c4ff92SAndroid Build Coastguard Worker }
5122*89c4ff92SAndroid Build Coastguard Worker
5123*89c4ff92SAndroid Build Coastguard Worker struct Pooling2dDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5124*89c4ff92SAndroid Build Coastguard Worker typedef Pooling2dDescriptorBuilder Builder;
5125*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5126*89c4ff92SAndroid Build Coastguard Worker VT_POOLTYPE = 4,
5127*89c4ff92SAndroid Build Coastguard Worker VT_PADLEFT = 6,
5128*89c4ff92SAndroid Build Coastguard Worker VT_PADRIGHT = 8,
5129*89c4ff92SAndroid Build Coastguard Worker VT_PADTOP = 10,
5130*89c4ff92SAndroid Build Coastguard Worker VT_PADBOTTOM = 12,
5131*89c4ff92SAndroid Build Coastguard Worker VT_POOLWIDTH = 14,
5132*89c4ff92SAndroid Build Coastguard Worker VT_POOLHEIGHT = 16,
5133*89c4ff92SAndroid Build Coastguard Worker VT_STRIDEX = 18,
5134*89c4ff92SAndroid Build Coastguard Worker VT_STRIDEY = 20,
5135*89c4ff92SAndroid Build Coastguard Worker VT_OUTPUTSHAPEROUNDING = 22,
5136*89c4ff92SAndroid Build Coastguard Worker VT_PADDINGMETHOD = 24,
5137*89c4ff92SAndroid Build Coastguard Worker VT_DATALAYOUT = 26
5138*89c4ff92SAndroid Build Coastguard Worker };
5139*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::PoolingAlgorithm poolType() const {
5140*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::PoolingAlgorithm>(GetField<int8_t>(VT_POOLTYPE, 0));
5141*89c4ff92SAndroid Build Coastguard Worker }
5142*89c4ff92SAndroid Build Coastguard Worker uint32_t padLeft() const {
5143*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_PADLEFT, 0);
5144*89c4ff92SAndroid Build Coastguard Worker }
5145*89c4ff92SAndroid Build Coastguard Worker uint32_t padRight() const {
5146*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_PADRIGHT, 0);
5147*89c4ff92SAndroid Build Coastguard Worker }
5148*89c4ff92SAndroid Build Coastguard Worker uint32_t padTop() const {
5149*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_PADTOP, 0);
5150*89c4ff92SAndroid Build Coastguard Worker }
5151*89c4ff92SAndroid Build Coastguard Worker uint32_t padBottom() const {
5152*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_PADBOTTOM, 0);
5153*89c4ff92SAndroid Build Coastguard Worker }
5154*89c4ff92SAndroid Build Coastguard Worker uint32_t poolWidth() const {
5155*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_POOLWIDTH, 0);
5156*89c4ff92SAndroid Build Coastguard Worker }
5157*89c4ff92SAndroid Build Coastguard Worker uint32_t poolHeight() const {
5158*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_POOLHEIGHT, 0);
5159*89c4ff92SAndroid Build Coastguard Worker }
5160*89c4ff92SAndroid Build Coastguard Worker uint32_t strideX() const {
5161*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_STRIDEX, 0);
5162*89c4ff92SAndroid Build Coastguard Worker }
5163*89c4ff92SAndroid Build Coastguard Worker uint32_t strideY() const {
5164*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_STRIDEY, 0);
5165*89c4ff92SAndroid Build Coastguard Worker }
5166*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::OutputShapeRounding outputShapeRounding() const {
5167*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::OutputShapeRounding>(GetField<int8_t>(VT_OUTPUTSHAPEROUNDING, 0));
5168*89c4ff92SAndroid Build Coastguard Worker }
5169*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::PaddingMethod paddingMethod() const {
5170*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::PaddingMethod>(GetField<int8_t>(VT_PADDINGMETHOD, 0));
5171*89c4ff92SAndroid Build Coastguard Worker }
5172*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout() const {
5173*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 0));
5174*89c4ff92SAndroid Build Coastguard Worker }
5175*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
5176*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
5177*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_POOLTYPE, 1) &&
5178*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_PADLEFT, 4) &&
5179*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_PADRIGHT, 4) &&
5180*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_PADTOP, 4) &&
5181*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_PADBOTTOM, 4) &&
5182*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_POOLWIDTH, 4) &&
5183*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_POOLHEIGHT, 4) &&
5184*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_STRIDEX, 4) &&
5185*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_STRIDEY, 4) &&
5186*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_OUTPUTSHAPEROUNDING, 1) &&
5187*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_PADDINGMETHOD, 1) &&
5188*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_DATALAYOUT, 1) &&
5189*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
5190*89c4ff92SAndroid Build Coastguard Worker }
5191*89c4ff92SAndroid Build Coastguard Worker };
5192*89c4ff92SAndroid Build Coastguard Worker
5193*89c4ff92SAndroid Build Coastguard Worker struct Pooling2dDescriptorBuilder {
5194*89c4ff92SAndroid Build Coastguard Worker typedef Pooling2dDescriptor Table;
5195*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
5196*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
5197*89c4ff92SAndroid Build Coastguard Worker void add_poolType(armnnSerializer::PoolingAlgorithm poolType) {
5198*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(Pooling2dDescriptor::VT_POOLTYPE, static_cast<int8_t>(poolType), 0);
5199*89c4ff92SAndroid Build Coastguard Worker }
5200*89c4ff92SAndroid Build Coastguard Worker void add_padLeft(uint32_t padLeft) {
5201*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Pooling2dDescriptor::VT_PADLEFT, padLeft, 0);
5202*89c4ff92SAndroid Build Coastguard Worker }
5203*89c4ff92SAndroid Build Coastguard Worker void add_padRight(uint32_t padRight) {
5204*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Pooling2dDescriptor::VT_PADRIGHT, padRight, 0);
5205*89c4ff92SAndroid Build Coastguard Worker }
5206*89c4ff92SAndroid Build Coastguard Worker void add_padTop(uint32_t padTop) {
5207*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Pooling2dDescriptor::VT_PADTOP, padTop, 0);
5208*89c4ff92SAndroid Build Coastguard Worker }
5209*89c4ff92SAndroid Build Coastguard Worker void add_padBottom(uint32_t padBottom) {
5210*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Pooling2dDescriptor::VT_PADBOTTOM, padBottom, 0);
5211*89c4ff92SAndroid Build Coastguard Worker }
5212*89c4ff92SAndroid Build Coastguard Worker void add_poolWidth(uint32_t poolWidth) {
5213*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Pooling2dDescriptor::VT_POOLWIDTH, poolWidth, 0);
5214*89c4ff92SAndroid Build Coastguard Worker }
5215*89c4ff92SAndroid Build Coastguard Worker void add_poolHeight(uint32_t poolHeight) {
5216*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Pooling2dDescriptor::VT_POOLHEIGHT, poolHeight, 0);
5217*89c4ff92SAndroid Build Coastguard Worker }
5218*89c4ff92SAndroid Build Coastguard Worker void add_strideX(uint32_t strideX) {
5219*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Pooling2dDescriptor::VT_STRIDEX, strideX, 0);
5220*89c4ff92SAndroid Build Coastguard Worker }
5221*89c4ff92SAndroid Build Coastguard Worker void add_strideY(uint32_t strideY) {
5222*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Pooling2dDescriptor::VT_STRIDEY, strideY, 0);
5223*89c4ff92SAndroid Build Coastguard Worker }
5224*89c4ff92SAndroid Build Coastguard Worker void add_outputShapeRounding(armnnSerializer::OutputShapeRounding outputShapeRounding) {
5225*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(Pooling2dDescriptor::VT_OUTPUTSHAPEROUNDING, static_cast<int8_t>(outputShapeRounding), 0);
5226*89c4ff92SAndroid Build Coastguard Worker }
5227*89c4ff92SAndroid Build Coastguard Worker void add_paddingMethod(armnnSerializer::PaddingMethod paddingMethod) {
5228*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(Pooling2dDescriptor::VT_PADDINGMETHOD, static_cast<int8_t>(paddingMethod), 0);
5229*89c4ff92SAndroid Build Coastguard Worker }
5230*89c4ff92SAndroid Build Coastguard Worker void add_dataLayout(armnnSerializer::DataLayout dataLayout) {
5231*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(Pooling2dDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 0);
5232*89c4ff92SAndroid Build Coastguard Worker }
5233*89c4ff92SAndroid Build Coastguard Worker explicit Pooling2dDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5234*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
5235*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
5236*89c4ff92SAndroid Build Coastguard Worker }
5237*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<Pooling2dDescriptor> Finish() {
5238*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
5239*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<Pooling2dDescriptor>(end);
5240*89c4ff92SAndroid Build Coastguard Worker return o;
5241*89c4ff92SAndroid Build Coastguard Worker }
5242*89c4ff92SAndroid Build Coastguard Worker };
5243*89c4ff92SAndroid Build Coastguard Worker
5244*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<Pooling2dDescriptor> CreatePooling2dDescriptor(
5245*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
5246*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::PoolingAlgorithm poolType = armnnSerializer::PoolingAlgorithm_Max,
5247*89c4ff92SAndroid Build Coastguard Worker uint32_t padLeft = 0,
5248*89c4ff92SAndroid Build Coastguard Worker uint32_t padRight = 0,
5249*89c4ff92SAndroid Build Coastguard Worker uint32_t padTop = 0,
5250*89c4ff92SAndroid Build Coastguard Worker uint32_t padBottom = 0,
5251*89c4ff92SAndroid Build Coastguard Worker uint32_t poolWidth = 0,
5252*89c4ff92SAndroid Build Coastguard Worker uint32_t poolHeight = 0,
5253*89c4ff92SAndroid Build Coastguard Worker uint32_t strideX = 0,
5254*89c4ff92SAndroid Build Coastguard Worker uint32_t strideY = 0,
5255*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::OutputShapeRounding outputShapeRounding = armnnSerializer::OutputShapeRounding_Floor,
5256*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::PaddingMethod paddingMethod = armnnSerializer::PaddingMethod_IgnoreValue,
5257*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout = armnnSerializer::DataLayout_NHWC) {
5258*89c4ff92SAndroid Build Coastguard Worker Pooling2dDescriptorBuilder builder_(_fbb);
5259*89c4ff92SAndroid Build Coastguard Worker builder_.add_strideY(strideY);
5260*89c4ff92SAndroid Build Coastguard Worker builder_.add_strideX(strideX);
5261*89c4ff92SAndroid Build Coastguard Worker builder_.add_poolHeight(poolHeight);
5262*89c4ff92SAndroid Build Coastguard Worker builder_.add_poolWidth(poolWidth);
5263*89c4ff92SAndroid Build Coastguard Worker builder_.add_padBottom(padBottom);
5264*89c4ff92SAndroid Build Coastguard Worker builder_.add_padTop(padTop);
5265*89c4ff92SAndroid Build Coastguard Worker builder_.add_padRight(padRight);
5266*89c4ff92SAndroid Build Coastguard Worker builder_.add_padLeft(padLeft);
5267*89c4ff92SAndroid Build Coastguard Worker builder_.add_dataLayout(dataLayout);
5268*89c4ff92SAndroid Build Coastguard Worker builder_.add_paddingMethod(paddingMethod);
5269*89c4ff92SAndroid Build Coastguard Worker builder_.add_outputShapeRounding(outputShapeRounding);
5270*89c4ff92SAndroid Build Coastguard Worker builder_.add_poolType(poolType);
5271*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
5272*89c4ff92SAndroid Build Coastguard Worker }
5273*89c4ff92SAndroid Build Coastguard Worker
5274*89c4ff92SAndroid Build Coastguard Worker struct Pooling3dDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5275*89c4ff92SAndroid Build Coastguard Worker typedef Pooling3dDescriptorBuilder Builder;
5276*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5277*89c4ff92SAndroid Build Coastguard Worker VT_POOLTYPE = 4,
5278*89c4ff92SAndroid Build Coastguard Worker VT_PADLEFT = 6,
5279*89c4ff92SAndroid Build Coastguard Worker VT_PADRIGHT = 8,
5280*89c4ff92SAndroid Build Coastguard Worker VT_PADTOP = 10,
5281*89c4ff92SAndroid Build Coastguard Worker VT_PADBOTTOM = 12,
5282*89c4ff92SAndroid Build Coastguard Worker VT_PADFRONT = 14,
5283*89c4ff92SAndroid Build Coastguard Worker VT_PADBACK = 16,
5284*89c4ff92SAndroid Build Coastguard Worker VT_POOLWIDTH = 18,
5285*89c4ff92SAndroid Build Coastguard Worker VT_POOLHEIGHT = 20,
5286*89c4ff92SAndroid Build Coastguard Worker VT_POOLDEPTH = 22,
5287*89c4ff92SAndroid Build Coastguard Worker VT_STRIDEX = 24,
5288*89c4ff92SAndroid Build Coastguard Worker VT_STRIDEY = 26,
5289*89c4ff92SAndroid Build Coastguard Worker VT_STRIDEZ = 28,
5290*89c4ff92SAndroid Build Coastguard Worker VT_OUTPUTSHAPEROUNDING = 30,
5291*89c4ff92SAndroid Build Coastguard Worker VT_PADDINGMETHOD = 32,
5292*89c4ff92SAndroid Build Coastguard Worker VT_DATALAYOUT = 34
5293*89c4ff92SAndroid Build Coastguard Worker };
5294*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::PoolingAlgorithm poolType() const {
5295*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::PoolingAlgorithm>(GetField<int8_t>(VT_POOLTYPE, 0));
5296*89c4ff92SAndroid Build Coastguard Worker }
5297*89c4ff92SAndroid Build Coastguard Worker uint32_t padLeft() const {
5298*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_PADLEFT, 0);
5299*89c4ff92SAndroid Build Coastguard Worker }
5300*89c4ff92SAndroid Build Coastguard Worker uint32_t padRight() const {
5301*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_PADRIGHT, 0);
5302*89c4ff92SAndroid Build Coastguard Worker }
5303*89c4ff92SAndroid Build Coastguard Worker uint32_t padTop() const {
5304*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_PADTOP, 0);
5305*89c4ff92SAndroid Build Coastguard Worker }
5306*89c4ff92SAndroid Build Coastguard Worker uint32_t padBottom() const {
5307*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_PADBOTTOM, 0);
5308*89c4ff92SAndroid Build Coastguard Worker }
5309*89c4ff92SAndroid Build Coastguard Worker uint32_t padFront() const {
5310*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_PADFRONT, 0);
5311*89c4ff92SAndroid Build Coastguard Worker }
5312*89c4ff92SAndroid Build Coastguard Worker uint32_t padBack() const {
5313*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_PADBACK, 0);
5314*89c4ff92SAndroid Build Coastguard Worker }
5315*89c4ff92SAndroid Build Coastguard Worker uint32_t poolWidth() const {
5316*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_POOLWIDTH, 0);
5317*89c4ff92SAndroid Build Coastguard Worker }
5318*89c4ff92SAndroid Build Coastguard Worker uint32_t poolHeight() const {
5319*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_POOLHEIGHT, 0);
5320*89c4ff92SAndroid Build Coastguard Worker }
5321*89c4ff92SAndroid Build Coastguard Worker uint32_t poolDepth() const {
5322*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_POOLDEPTH, 0);
5323*89c4ff92SAndroid Build Coastguard Worker }
5324*89c4ff92SAndroid Build Coastguard Worker uint32_t strideX() const {
5325*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_STRIDEX, 0);
5326*89c4ff92SAndroid Build Coastguard Worker }
5327*89c4ff92SAndroid Build Coastguard Worker uint32_t strideY() const {
5328*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_STRIDEY, 0);
5329*89c4ff92SAndroid Build Coastguard Worker }
5330*89c4ff92SAndroid Build Coastguard Worker uint32_t strideZ() const {
5331*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_STRIDEZ, 0);
5332*89c4ff92SAndroid Build Coastguard Worker }
5333*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::OutputShapeRounding outputShapeRounding() const {
5334*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::OutputShapeRounding>(GetField<int8_t>(VT_OUTPUTSHAPEROUNDING, 0));
5335*89c4ff92SAndroid Build Coastguard Worker }
5336*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::PaddingMethod paddingMethod() const {
5337*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::PaddingMethod>(GetField<int8_t>(VT_PADDINGMETHOD, 0));
5338*89c4ff92SAndroid Build Coastguard Worker }
5339*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout() const {
5340*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 0));
5341*89c4ff92SAndroid Build Coastguard Worker }
5342*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
5343*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
5344*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_POOLTYPE, 1) &&
5345*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_PADLEFT, 4) &&
5346*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_PADRIGHT, 4) &&
5347*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_PADTOP, 4) &&
5348*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_PADBOTTOM, 4) &&
5349*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_PADFRONT, 4) &&
5350*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_PADBACK, 4) &&
5351*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_POOLWIDTH, 4) &&
5352*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_POOLHEIGHT, 4) &&
5353*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_POOLDEPTH, 4) &&
5354*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_STRIDEX, 4) &&
5355*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_STRIDEY, 4) &&
5356*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_STRIDEZ, 4) &&
5357*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_OUTPUTSHAPEROUNDING, 1) &&
5358*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_PADDINGMETHOD, 1) &&
5359*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_DATALAYOUT, 1) &&
5360*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
5361*89c4ff92SAndroid Build Coastguard Worker }
5362*89c4ff92SAndroid Build Coastguard Worker };
5363*89c4ff92SAndroid Build Coastguard Worker
5364*89c4ff92SAndroid Build Coastguard Worker struct Pooling3dDescriptorBuilder {
5365*89c4ff92SAndroid Build Coastguard Worker typedef Pooling3dDescriptor Table;
5366*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
5367*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
5368*89c4ff92SAndroid Build Coastguard Worker void add_poolType(armnnSerializer::PoolingAlgorithm poolType) {
5369*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(Pooling3dDescriptor::VT_POOLTYPE, static_cast<int8_t>(poolType), 0);
5370*89c4ff92SAndroid Build Coastguard Worker }
5371*89c4ff92SAndroid Build Coastguard Worker void add_padLeft(uint32_t padLeft) {
5372*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Pooling3dDescriptor::VT_PADLEFT, padLeft, 0);
5373*89c4ff92SAndroid Build Coastguard Worker }
5374*89c4ff92SAndroid Build Coastguard Worker void add_padRight(uint32_t padRight) {
5375*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Pooling3dDescriptor::VT_PADRIGHT, padRight, 0);
5376*89c4ff92SAndroid Build Coastguard Worker }
5377*89c4ff92SAndroid Build Coastguard Worker void add_padTop(uint32_t padTop) {
5378*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Pooling3dDescriptor::VT_PADTOP, padTop, 0);
5379*89c4ff92SAndroid Build Coastguard Worker }
5380*89c4ff92SAndroid Build Coastguard Worker void add_padBottom(uint32_t padBottom) {
5381*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Pooling3dDescriptor::VT_PADBOTTOM, padBottom, 0);
5382*89c4ff92SAndroid Build Coastguard Worker }
5383*89c4ff92SAndroid Build Coastguard Worker void add_padFront(uint32_t padFront) {
5384*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Pooling3dDescriptor::VT_PADFRONT, padFront, 0);
5385*89c4ff92SAndroid Build Coastguard Worker }
5386*89c4ff92SAndroid Build Coastguard Worker void add_padBack(uint32_t padBack) {
5387*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Pooling3dDescriptor::VT_PADBACK, padBack, 0);
5388*89c4ff92SAndroid Build Coastguard Worker }
5389*89c4ff92SAndroid Build Coastguard Worker void add_poolWidth(uint32_t poolWidth) {
5390*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Pooling3dDescriptor::VT_POOLWIDTH, poolWidth, 0);
5391*89c4ff92SAndroid Build Coastguard Worker }
5392*89c4ff92SAndroid Build Coastguard Worker void add_poolHeight(uint32_t poolHeight) {
5393*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Pooling3dDescriptor::VT_POOLHEIGHT, poolHeight, 0);
5394*89c4ff92SAndroid Build Coastguard Worker }
5395*89c4ff92SAndroid Build Coastguard Worker void add_poolDepth(uint32_t poolDepth) {
5396*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Pooling3dDescriptor::VT_POOLDEPTH, poolDepth, 0);
5397*89c4ff92SAndroid Build Coastguard Worker }
5398*89c4ff92SAndroid Build Coastguard Worker void add_strideX(uint32_t strideX) {
5399*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Pooling3dDescriptor::VT_STRIDEX, strideX, 0);
5400*89c4ff92SAndroid Build Coastguard Worker }
5401*89c4ff92SAndroid Build Coastguard Worker void add_strideY(uint32_t strideY) {
5402*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Pooling3dDescriptor::VT_STRIDEY, strideY, 0);
5403*89c4ff92SAndroid Build Coastguard Worker }
5404*89c4ff92SAndroid Build Coastguard Worker void add_strideZ(uint32_t strideZ) {
5405*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(Pooling3dDescriptor::VT_STRIDEZ, strideZ, 0);
5406*89c4ff92SAndroid Build Coastguard Worker }
5407*89c4ff92SAndroid Build Coastguard Worker void add_outputShapeRounding(armnnSerializer::OutputShapeRounding outputShapeRounding) {
5408*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(Pooling3dDescriptor::VT_OUTPUTSHAPEROUNDING, static_cast<int8_t>(outputShapeRounding), 0);
5409*89c4ff92SAndroid Build Coastguard Worker }
5410*89c4ff92SAndroid Build Coastguard Worker void add_paddingMethod(armnnSerializer::PaddingMethod paddingMethod) {
5411*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(Pooling3dDescriptor::VT_PADDINGMETHOD, static_cast<int8_t>(paddingMethod), 0);
5412*89c4ff92SAndroid Build Coastguard Worker }
5413*89c4ff92SAndroid Build Coastguard Worker void add_dataLayout(armnnSerializer::DataLayout dataLayout) {
5414*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(Pooling3dDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 0);
5415*89c4ff92SAndroid Build Coastguard Worker }
5416*89c4ff92SAndroid Build Coastguard Worker explicit Pooling3dDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5417*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
5418*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
5419*89c4ff92SAndroid Build Coastguard Worker }
5420*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<Pooling3dDescriptor> Finish() {
5421*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
5422*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<Pooling3dDescriptor>(end);
5423*89c4ff92SAndroid Build Coastguard Worker return o;
5424*89c4ff92SAndroid Build Coastguard Worker }
5425*89c4ff92SAndroid Build Coastguard Worker };
5426*89c4ff92SAndroid Build Coastguard Worker
5427*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<Pooling3dDescriptor> CreatePooling3dDescriptor(
5428*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
5429*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::PoolingAlgorithm poolType = armnnSerializer::PoolingAlgorithm_Max,
5430*89c4ff92SAndroid Build Coastguard Worker uint32_t padLeft = 0,
5431*89c4ff92SAndroid Build Coastguard Worker uint32_t padRight = 0,
5432*89c4ff92SAndroid Build Coastguard Worker uint32_t padTop = 0,
5433*89c4ff92SAndroid Build Coastguard Worker uint32_t padBottom = 0,
5434*89c4ff92SAndroid Build Coastguard Worker uint32_t padFront = 0,
5435*89c4ff92SAndroid Build Coastguard Worker uint32_t padBack = 0,
5436*89c4ff92SAndroid Build Coastguard Worker uint32_t poolWidth = 0,
5437*89c4ff92SAndroid Build Coastguard Worker uint32_t poolHeight = 0,
5438*89c4ff92SAndroid Build Coastguard Worker uint32_t poolDepth = 0,
5439*89c4ff92SAndroid Build Coastguard Worker uint32_t strideX = 0,
5440*89c4ff92SAndroid Build Coastguard Worker uint32_t strideY = 0,
5441*89c4ff92SAndroid Build Coastguard Worker uint32_t strideZ = 0,
5442*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::OutputShapeRounding outputShapeRounding = armnnSerializer::OutputShapeRounding_Floor,
5443*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::PaddingMethod paddingMethod = armnnSerializer::PaddingMethod_IgnoreValue,
5444*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout = armnnSerializer::DataLayout_NHWC) {
5445*89c4ff92SAndroid Build Coastguard Worker Pooling3dDescriptorBuilder builder_(_fbb);
5446*89c4ff92SAndroid Build Coastguard Worker builder_.add_strideZ(strideZ);
5447*89c4ff92SAndroid Build Coastguard Worker builder_.add_strideY(strideY);
5448*89c4ff92SAndroid Build Coastguard Worker builder_.add_strideX(strideX);
5449*89c4ff92SAndroid Build Coastguard Worker builder_.add_poolDepth(poolDepth);
5450*89c4ff92SAndroid Build Coastguard Worker builder_.add_poolHeight(poolHeight);
5451*89c4ff92SAndroid Build Coastguard Worker builder_.add_poolWidth(poolWidth);
5452*89c4ff92SAndroid Build Coastguard Worker builder_.add_padBack(padBack);
5453*89c4ff92SAndroid Build Coastguard Worker builder_.add_padFront(padFront);
5454*89c4ff92SAndroid Build Coastguard Worker builder_.add_padBottom(padBottom);
5455*89c4ff92SAndroid Build Coastguard Worker builder_.add_padTop(padTop);
5456*89c4ff92SAndroid Build Coastguard Worker builder_.add_padRight(padRight);
5457*89c4ff92SAndroid Build Coastguard Worker builder_.add_padLeft(padLeft);
5458*89c4ff92SAndroid Build Coastguard Worker builder_.add_dataLayout(dataLayout);
5459*89c4ff92SAndroid Build Coastguard Worker builder_.add_paddingMethod(paddingMethod);
5460*89c4ff92SAndroid Build Coastguard Worker builder_.add_outputShapeRounding(outputShapeRounding);
5461*89c4ff92SAndroid Build Coastguard Worker builder_.add_poolType(poolType);
5462*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
5463*89c4ff92SAndroid Build Coastguard Worker }
5464*89c4ff92SAndroid Build Coastguard Worker
5465*89c4ff92SAndroid Build Coastguard Worker struct QuantizeLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5466*89c4ff92SAndroid Build Coastguard Worker typedef QuantizeLayerBuilder Builder;
5467*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5468*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4
5469*89c4ff92SAndroid Build Coastguard Worker };
5470*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
5471*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
5472*89c4ff92SAndroid Build Coastguard Worker }
5473*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
5474*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
5475*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
5476*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
5477*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
5478*89c4ff92SAndroid Build Coastguard Worker }
5479*89c4ff92SAndroid Build Coastguard Worker };
5480*89c4ff92SAndroid Build Coastguard Worker
5481*89c4ff92SAndroid Build Coastguard Worker struct QuantizeLayerBuilder {
5482*89c4ff92SAndroid Build Coastguard Worker typedef QuantizeLayer Table;
5483*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
5484*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
5485*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
5486*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QuantizeLayer::VT_BASE, base);
5487*89c4ff92SAndroid Build Coastguard Worker }
5488*89c4ff92SAndroid Build Coastguard Worker explicit QuantizeLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5489*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
5490*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
5491*89c4ff92SAndroid Build Coastguard Worker }
5492*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<QuantizeLayer> Finish() {
5493*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
5494*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<QuantizeLayer>(end);
5495*89c4ff92SAndroid Build Coastguard Worker return o;
5496*89c4ff92SAndroid Build Coastguard Worker }
5497*89c4ff92SAndroid Build Coastguard Worker };
5498*89c4ff92SAndroid Build Coastguard Worker
5499*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<QuantizeLayer> CreateQuantizeLayer(
5500*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
5501*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
5502*89c4ff92SAndroid Build Coastguard Worker QuantizeLayerBuilder builder_(_fbb);
5503*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
5504*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
5505*89c4ff92SAndroid Build Coastguard Worker }
5506*89c4ff92SAndroid Build Coastguard Worker
5507*89c4ff92SAndroid Build Coastguard Worker struct SoftmaxLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5508*89c4ff92SAndroid Build Coastguard Worker typedef SoftmaxLayerBuilder Builder;
5509*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5510*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
5511*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
5512*89c4ff92SAndroid Build Coastguard Worker };
5513*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
5514*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
5515*89c4ff92SAndroid Build Coastguard Worker }
5516*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::SoftmaxDescriptor *descriptor() const {
5517*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::SoftmaxDescriptor *>(VT_DESCRIPTOR);
5518*89c4ff92SAndroid Build Coastguard Worker }
5519*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
5520*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
5521*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
5522*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
5523*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
5524*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
5525*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
5526*89c4ff92SAndroid Build Coastguard Worker }
5527*89c4ff92SAndroid Build Coastguard Worker };
5528*89c4ff92SAndroid Build Coastguard Worker
5529*89c4ff92SAndroid Build Coastguard Worker struct SoftmaxLayerBuilder {
5530*89c4ff92SAndroid Build Coastguard Worker typedef SoftmaxLayer Table;
5531*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
5532*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
5533*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
5534*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(SoftmaxLayer::VT_BASE, base);
5535*89c4ff92SAndroid Build Coastguard Worker }
5536*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::SoftmaxDescriptor> descriptor) {
5537*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(SoftmaxLayer::VT_DESCRIPTOR, descriptor);
5538*89c4ff92SAndroid Build Coastguard Worker }
5539*89c4ff92SAndroid Build Coastguard Worker explicit SoftmaxLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5540*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
5541*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
5542*89c4ff92SAndroid Build Coastguard Worker }
5543*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<SoftmaxLayer> Finish() {
5544*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
5545*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<SoftmaxLayer>(end);
5546*89c4ff92SAndroid Build Coastguard Worker return o;
5547*89c4ff92SAndroid Build Coastguard Worker }
5548*89c4ff92SAndroid Build Coastguard Worker };
5549*89c4ff92SAndroid Build Coastguard Worker
5550*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<SoftmaxLayer> CreateSoftmaxLayer(
5551*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
5552*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
5553*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::SoftmaxDescriptor> descriptor = 0) {
5554*89c4ff92SAndroid Build Coastguard Worker SoftmaxLayerBuilder builder_(_fbb);
5555*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
5556*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
5557*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
5558*89c4ff92SAndroid Build Coastguard Worker }
5559*89c4ff92SAndroid Build Coastguard Worker
5560*89c4ff92SAndroid Build Coastguard Worker struct SoftmaxDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5561*89c4ff92SAndroid Build Coastguard Worker typedef SoftmaxDescriptorBuilder Builder;
5562*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5563*89c4ff92SAndroid Build Coastguard Worker VT_BETA = 4,
5564*89c4ff92SAndroid Build Coastguard Worker VT_AXIS = 6
5565*89c4ff92SAndroid Build Coastguard Worker };
5566*89c4ff92SAndroid Build Coastguard Worker float beta() const {
5567*89c4ff92SAndroid Build Coastguard Worker return GetField<float>(VT_BETA, 0.0f);
5568*89c4ff92SAndroid Build Coastguard Worker }
5569*89c4ff92SAndroid Build Coastguard Worker int32_t axis() const {
5570*89c4ff92SAndroid Build Coastguard Worker return GetField<int32_t>(VT_AXIS, -1);
5571*89c4ff92SAndroid Build Coastguard Worker }
5572*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
5573*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
5574*89c4ff92SAndroid Build Coastguard Worker VerifyField<float>(verifier, VT_BETA, 4) &&
5575*89c4ff92SAndroid Build Coastguard Worker VerifyField<int32_t>(verifier, VT_AXIS, 4) &&
5576*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
5577*89c4ff92SAndroid Build Coastguard Worker }
5578*89c4ff92SAndroid Build Coastguard Worker };
5579*89c4ff92SAndroid Build Coastguard Worker
5580*89c4ff92SAndroid Build Coastguard Worker struct SoftmaxDescriptorBuilder {
5581*89c4ff92SAndroid Build Coastguard Worker typedef SoftmaxDescriptor Table;
5582*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
5583*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
5584*89c4ff92SAndroid Build Coastguard Worker void add_beta(float beta) {
5585*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<float>(SoftmaxDescriptor::VT_BETA, beta, 0.0f);
5586*89c4ff92SAndroid Build Coastguard Worker }
5587*89c4ff92SAndroid Build Coastguard Worker void add_axis(int32_t axis) {
5588*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int32_t>(SoftmaxDescriptor::VT_AXIS, axis, -1);
5589*89c4ff92SAndroid Build Coastguard Worker }
5590*89c4ff92SAndroid Build Coastguard Worker explicit SoftmaxDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5591*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
5592*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
5593*89c4ff92SAndroid Build Coastguard Worker }
5594*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<SoftmaxDescriptor> Finish() {
5595*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
5596*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<SoftmaxDescriptor>(end);
5597*89c4ff92SAndroid Build Coastguard Worker return o;
5598*89c4ff92SAndroid Build Coastguard Worker }
5599*89c4ff92SAndroid Build Coastguard Worker };
5600*89c4ff92SAndroid Build Coastguard Worker
5601*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<SoftmaxDescriptor> CreateSoftmaxDescriptor(
5602*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
5603*89c4ff92SAndroid Build Coastguard Worker float beta = 0.0f,
5604*89c4ff92SAndroid Build Coastguard Worker int32_t axis = -1) {
5605*89c4ff92SAndroid Build Coastguard Worker SoftmaxDescriptorBuilder builder_(_fbb);
5606*89c4ff92SAndroid Build Coastguard Worker builder_.add_axis(axis);
5607*89c4ff92SAndroid Build Coastguard Worker builder_.add_beta(beta);
5608*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
5609*89c4ff92SAndroid Build Coastguard Worker }
5610*89c4ff92SAndroid Build Coastguard Worker
5611*89c4ff92SAndroid Build Coastguard Worker struct DepthwiseConvolution2dLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5612*89c4ff92SAndroid Build Coastguard Worker typedef DepthwiseConvolution2dLayerBuilder Builder;
5613*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5614*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
5615*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6,
5616*89c4ff92SAndroid Build Coastguard Worker VT_WEIGHTS = 8,
5617*89c4ff92SAndroid Build Coastguard Worker VT_BIASES = 10
5618*89c4ff92SAndroid Build Coastguard Worker };
5619*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
5620*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
5621*89c4ff92SAndroid Build Coastguard Worker }
5622*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::DepthwiseConvolution2dDescriptor *descriptor() const {
5623*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::DepthwiseConvolution2dDescriptor *>(VT_DESCRIPTOR);
5624*89c4ff92SAndroid Build Coastguard Worker }
5625*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *weights() const {
5626*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_WEIGHTS);
5627*89c4ff92SAndroid Build Coastguard Worker }
5628*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *biases() const {
5629*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_BIASES);
5630*89c4ff92SAndroid Build Coastguard Worker }
5631*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
5632*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
5633*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
5634*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
5635*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
5636*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
5637*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_WEIGHTS) &&
5638*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(weights()) &&
5639*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BIASES) &&
5640*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(biases()) &&
5641*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
5642*89c4ff92SAndroid Build Coastguard Worker }
5643*89c4ff92SAndroid Build Coastguard Worker };
5644*89c4ff92SAndroid Build Coastguard Worker
5645*89c4ff92SAndroid Build Coastguard Worker struct DepthwiseConvolution2dLayerBuilder {
5646*89c4ff92SAndroid Build Coastguard Worker typedef DepthwiseConvolution2dLayer Table;
5647*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
5648*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
5649*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
5650*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(DepthwiseConvolution2dLayer::VT_BASE, base);
5651*89c4ff92SAndroid Build Coastguard Worker }
5652*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::DepthwiseConvolution2dDescriptor> descriptor) {
5653*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(DepthwiseConvolution2dLayer::VT_DESCRIPTOR, descriptor);
5654*89c4ff92SAndroid Build Coastguard Worker }
5655*89c4ff92SAndroid Build Coastguard Worker void add_weights(flatbuffers::Offset<armnnSerializer::ConstTensor> weights) {
5656*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(DepthwiseConvolution2dLayer::VT_WEIGHTS, weights);
5657*89c4ff92SAndroid Build Coastguard Worker }
5658*89c4ff92SAndroid Build Coastguard Worker void add_biases(flatbuffers::Offset<armnnSerializer::ConstTensor> biases) {
5659*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(DepthwiseConvolution2dLayer::VT_BIASES, biases);
5660*89c4ff92SAndroid Build Coastguard Worker }
5661*89c4ff92SAndroid Build Coastguard Worker explicit DepthwiseConvolution2dLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5662*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
5663*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
5664*89c4ff92SAndroid Build Coastguard Worker }
5665*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<DepthwiseConvolution2dLayer> Finish() {
5666*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
5667*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<DepthwiseConvolution2dLayer>(end);
5668*89c4ff92SAndroid Build Coastguard Worker return o;
5669*89c4ff92SAndroid Build Coastguard Worker }
5670*89c4ff92SAndroid Build Coastguard Worker };
5671*89c4ff92SAndroid Build Coastguard Worker
5672*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<DepthwiseConvolution2dLayer> CreateDepthwiseConvolution2dLayer(
5673*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
5674*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
5675*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::DepthwiseConvolution2dDescriptor> descriptor = 0,
5676*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> weights = 0,
5677*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> biases = 0) {
5678*89c4ff92SAndroid Build Coastguard Worker DepthwiseConvolution2dLayerBuilder builder_(_fbb);
5679*89c4ff92SAndroid Build Coastguard Worker builder_.add_biases(biases);
5680*89c4ff92SAndroid Build Coastguard Worker builder_.add_weights(weights);
5681*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
5682*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
5683*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
5684*89c4ff92SAndroid Build Coastguard Worker }
5685*89c4ff92SAndroid Build Coastguard Worker
5686*89c4ff92SAndroid Build Coastguard Worker struct DepthwiseConvolution2dDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5687*89c4ff92SAndroid Build Coastguard Worker typedef DepthwiseConvolution2dDescriptorBuilder Builder;
5688*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5689*89c4ff92SAndroid Build Coastguard Worker VT_PADLEFT = 4,
5690*89c4ff92SAndroid Build Coastguard Worker VT_PADRIGHT = 6,
5691*89c4ff92SAndroid Build Coastguard Worker VT_PADTOP = 8,
5692*89c4ff92SAndroid Build Coastguard Worker VT_PADBOTTOM = 10,
5693*89c4ff92SAndroid Build Coastguard Worker VT_STRIDEX = 12,
5694*89c4ff92SAndroid Build Coastguard Worker VT_STRIDEY = 14,
5695*89c4ff92SAndroid Build Coastguard Worker VT_DILATIONX = 16,
5696*89c4ff92SAndroid Build Coastguard Worker VT_DILATIONY = 18,
5697*89c4ff92SAndroid Build Coastguard Worker VT_BIASENABLED = 20,
5698*89c4ff92SAndroid Build Coastguard Worker VT_DATALAYOUT = 22
5699*89c4ff92SAndroid Build Coastguard Worker };
5700*89c4ff92SAndroid Build Coastguard Worker uint32_t padLeft() const {
5701*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_PADLEFT, 0);
5702*89c4ff92SAndroid Build Coastguard Worker }
5703*89c4ff92SAndroid Build Coastguard Worker uint32_t padRight() const {
5704*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_PADRIGHT, 0);
5705*89c4ff92SAndroid Build Coastguard Worker }
5706*89c4ff92SAndroid Build Coastguard Worker uint32_t padTop() const {
5707*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_PADTOP, 0);
5708*89c4ff92SAndroid Build Coastguard Worker }
5709*89c4ff92SAndroid Build Coastguard Worker uint32_t padBottom() const {
5710*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_PADBOTTOM, 0);
5711*89c4ff92SAndroid Build Coastguard Worker }
5712*89c4ff92SAndroid Build Coastguard Worker uint32_t strideX() const {
5713*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_STRIDEX, 0);
5714*89c4ff92SAndroid Build Coastguard Worker }
5715*89c4ff92SAndroid Build Coastguard Worker uint32_t strideY() const {
5716*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_STRIDEY, 0);
5717*89c4ff92SAndroid Build Coastguard Worker }
5718*89c4ff92SAndroid Build Coastguard Worker uint32_t dilationX() const {
5719*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_DILATIONX, 1);
5720*89c4ff92SAndroid Build Coastguard Worker }
5721*89c4ff92SAndroid Build Coastguard Worker uint32_t dilationY() const {
5722*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_DILATIONY, 1);
5723*89c4ff92SAndroid Build Coastguard Worker }
5724*89c4ff92SAndroid Build Coastguard Worker bool biasEnabled() const {
5725*89c4ff92SAndroid Build Coastguard Worker return GetField<uint8_t>(VT_BIASENABLED, 0) != 0;
5726*89c4ff92SAndroid Build Coastguard Worker }
5727*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout() const {
5728*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 1));
5729*89c4ff92SAndroid Build Coastguard Worker }
5730*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
5731*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
5732*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_PADLEFT, 4) &&
5733*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_PADRIGHT, 4) &&
5734*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_PADTOP, 4) &&
5735*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_PADBOTTOM, 4) &&
5736*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_STRIDEX, 4) &&
5737*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_STRIDEY, 4) &&
5738*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_DILATIONX, 4) &&
5739*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_DILATIONY, 4) &&
5740*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_BIASENABLED, 1) &&
5741*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_DATALAYOUT, 1) &&
5742*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
5743*89c4ff92SAndroid Build Coastguard Worker }
5744*89c4ff92SAndroid Build Coastguard Worker };
5745*89c4ff92SAndroid Build Coastguard Worker
5746*89c4ff92SAndroid Build Coastguard Worker struct DepthwiseConvolution2dDescriptorBuilder {
5747*89c4ff92SAndroid Build Coastguard Worker typedef DepthwiseConvolution2dDescriptor Table;
5748*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
5749*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
5750*89c4ff92SAndroid Build Coastguard Worker void add_padLeft(uint32_t padLeft) {
5751*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(DepthwiseConvolution2dDescriptor::VT_PADLEFT, padLeft, 0);
5752*89c4ff92SAndroid Build Coastguard Worker }
5753*89c4ff92SAndroid Build Coastguard Worker void add_padRight(uint32_t padRight) {
5754*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(DepthwiseConvolution2dDescriptor::VT_PADRIGHT, padRight, 0);
5755*89c4ff92SAndroid Build Coastguard Worker }
5756*89c4ff92SAndroid Build Coastguard Worker void add_padTop(uint32_t padTop) {
5757*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(DepthwiseConvolution2dDescriptor::VT_PADTOP, padTop, 0);
5758*89c4ff92SAndroid Build Coastguard Worker }
5759*89c4ff92SAndroid Build Coastguard Worker void add_padBottom(uint32_t padBottom) {
5760*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(DepthwiseConvolution2dDescriptor::VT_PADBOTTOM, padBottom, 0);
5761*89c4ff92SAndroid Build Coastguard Worker }
5762*89c4ff92SAndroid Build Coastguard Worker void add_strideX(uint32_t strideX) {
5763*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(DepthwiseConvolution2dDescriptor::VT_STRIDEX, strideX, 0);
5764*89c4ff92SAndroid Build Coastguard Worker }
5765*89c4ff92SAndroid Build Coastguard Worker void add_strideY(uint32_t strideY) {
5766*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(DepthwiseConvolution2dDescriptor::VT_STRIDEY, strideY, 0);
5767*89c4ff92SAndroid Build Coastguard Worker }
5768*89c4ff92SAndroid Build Coastguard Worker void add_dilationX(uint32_t dilationX) {
5769*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(DepthwiseConvolution2dDescriptor::VT_DILATIONX, dilationX, 1);
5770*89c4ff92SAndroid Build Coastguard Worker }
5771*89c4ff92SAndroid Build Coastguard Worker void add_dilationY(uint32_t dilationY) {
5772*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(DepthwiseConvolution2dDescriptor::VT_DILATIONY, dilationY, 1);
5773*89c4ff92SAndroid Build Coastguard Worker }
5774*89c4ff92SAndroid Build Coastguard Worker void add_biasEnabled(bool biasEnabled) {
5775*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(DepthwiseConvolution2dDescriptor::VT_BIASENABLED, static_cast<uint8_t>(biasEnabled), 0);
5776*89c4ff92SAndroid Build Coastguard Worker }
5777*89c4ff92SAndroid Build Coastguard Worker void add_dataLayout(armnnSerializer::DataLayout dataLayout) {
5778*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(DepthwiseConvolution2dDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 1);
5779*89c4ff92SAndroid Build Coastguard Worker }
5780*89c4ff92SAndroid Build Coastguard Worker explicit DepthwiseConvolution2dDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5781*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
5782*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
5783*89c4ff92SAndroid Build Coastguard Worker }
5784*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<DepthwiseConvolution2dDescriptor> Finish() {
5785*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
5786*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<DepthwiseConvolution2dDescriptor>(end);
5787*89c4ff92SAndroid Build Coastguard Worker return o;
5788*89c4ff92SAndroid Build Coastguard Worker }
5789*89c4ff92SAndroid Build Coastguard Worker };
5790*89c4ff92SAndroid Build Coastguard Worker
5791*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<DepthwiseConvolution2dDescriptor> CreateDepthwiseConvolution2dDescriptor(
5792*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
5793*89c4ff92SAndroid Build Coastguard Worker uint32_t padLeft = 0,
5794*89c4ff92SAndroid Build Coastguard Worker uint32_t padRight = 0,
5795*89c4ff92SAndroid Build Coastguard Worker uint32_t padTop = 0,
5796*89c4ff92SAndroid Build Coastguard Worker uint32_t padBottom = 0,
5797*89c4ff92SAndroid Build Coastguard Worker uint32_t strideX = 0,
5798*89c4ff92SAndroid Build Coastguard Worker uint32_t strideY = 0,
5799*89c4ff92SAndroid Build Coastguard Worker uint32_t dilationX = 1,
5800*89c4ff92SAndroid Build Coastguard Worker uint32_t dilationY = 1,
5801*89c4ff92SAndroid Build Coastguard Worker bool biasEnabled = false,
5802*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout = armnnSerializer::DataLayout_NCHW) {
5803*89c4ff92SAndroid Build Coastguard Worker DepthwiseConvolution2dDescriptorBuilder builder_(_fbb);
5804*89c4ff92SAndroid Build Coastguard Worker builder_.add_dilationY(dilationY);
5805*89c4ff92SAndroid Build Coastguard Worker builder_.add_dilationX(dilationX);
5806*89c4ff92SAndroid Build Coastguard Worker builder_.add_strideY(strideY);
5807*89c4ff92SAndroid Build Coastguard Worker builder_.add_strideX(strideX);
5808*89c4ff92SAndroid Build Coastguard Worker builder_.add_padBottom(padBottom);
5809*89c4ff92SAndroid Build Coastguard Worker builder_.add_padTop(padTop);
5810*89c4ff92SAndroid Build Coastguard Worker builder_.add_padRight(padRight);
5811*89c4ff92SAndroid Build Coastguard Worker builder_.add_padLeft(padLeft);
5812*89c4ff92SAndroid Build Coastguard Worker builder_.add_dataLayout(dataLayout);
5813*89c4ff92SAndroid Build Coastguard Worker builder_.add_biasEnabled(biasEnabled);
5814*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
5815*89c4ff92SAndroid Build Coastguard Worker }
5816*89c4ff92SAndroid Build Coastguard Worker
5817*89c4ff92SAndroid Build Coastguard Worker struct OutputLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5818*89c4ff92SAndroid Build Coastguard Worker typedef OutputLayerBuilder Builder;
5819*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5820*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4
5821*89c4ff92SAndroid Build Coastguard Worker };
5822*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::BindableLayerBase *base() const {
5823*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::BindableLayerBase *>(VT_BASE);
5824*89c4ff92SAndroid Build Coastguard Worker }
5825*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
5826*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
5827*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
5828*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
5829*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
5830*89c4ff92SAndroid Build Coastguard Worker }
5831*89c4ff92SAndroid Build Coastguard Worker };
5832*89c4ff92SAndroid Build Coastguard Worker
5833*89c4ff92SAndroid Build Coastguard Worker struct OutputLayerBuilder {
5834*89c4ff92SAndroid Build Coastguard Worker typedef OutputLayer Table;
5835*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
5836*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
5837*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::BindableLayerBase> base) {
5838*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(OutputLayer::VT_BASE, base);
5839*89c4ff92SAndroid Build Coastguard Worker }
5840*89c4ff92SAndroid Build Coastguard Worker explicit OutputLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5841*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
5842*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
5843*89c4ff92SAndroid Build Coastguard Worker }
5844*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<OutputLayer> Finish() {
5845*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
5846*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<OutputLayer>(end);
5847*89c4ff92SAndroid Build Coastguard Worker return o;
5848*89c4ff92SAndroid Build Coastguard Worker }
5849*89c4ff92SAndroid Build Coastguard Worker };
5850*89c4ff92SAndroid Build Coastguard Worker
5851*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<OutputLayer> CreateOutputLayer(
5852*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
5853*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::BindableLayerBase> base = 0) {
5854*89c4ff92SAndroid Build Coastguard Worker OutputLayerBuilder builder_(_fbb);
5855*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
5856*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
5857*89c4ff92SAndroid Build Coastguard Worker }
5858*89c4ff92SAndroid Build Coastguard Worker
5859*89c4ff92SAndroid Build Coastguard Worker struct ReshapeLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5860*89c4ff92SAndroid Build Coastguard Worker typedef ReshapeLayerBuilder Builder;
5861*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5862*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
5863*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
5864*89c4ff92SAndroid Build Coastguard Worker };
5865*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
5866*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
5867*89c4ff92SAndroid Build Coastguard Worker }
5868*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ReshapeDescriptor *descriptor() const {
5869*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ReshapeDescriptor *>(VT_DESCRIPTOR);
5870*89c4ff92SAndroid Build Coastguard Worker }
5871*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
5872*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
5873*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
5874*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
5875*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
5876*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
5877*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
5878*89c4ff92SAndroid Build Coastguard Worker }
5879*89c4ff92SAndroid Build Coastguard Worker };
5880*89c4ff92SAndroid Build Coastguard Worker
5881*89c4ff92SAndroid Build Coastguard Worker struct ReshapeLayerBuilder {
5882*89c4ff92SAndroid Build Coastguard Worker typedef ReshapeLayer Table;
5883*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
5884*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
5885*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
5886*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ReshapeLayer::VT_BASE, base);
5887*89c4ff92SAndroid Build Coastguard Worker }
5888*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::ReshapeDescriptor> descriptor) {
5889*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ReshapeLayer::VT_DESCRIPTOR, descriptor);
5890*89c4ff92SAndroid Build Coastguard Worker }
5891*89c4ff92SAndroid Build Coastguard Worker explicit ReshapeLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5892*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
5893*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
5894*89c4ff92SAndroid Build Coastguard Worker }
5895*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<ReshapeLayer> Finish() {
5896*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
5897*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<ReshapeLayer>(end);
5898*89c4ff92SAndroid Build Coastguard Worker return o;
5899*89c4ff92SAndroid Build Coastguard Worker }
5900*89c4ff92SAndroid Build Coastguard Worker };
5901*89c4ff92SAndroid Build Coastguard Worker
5902*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<ReshapeLayer> CreateReshapeLayer(
5903*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
5904*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
5905*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ReshapeDescriptor> descriptor = 0) {
5906*89c4ff92SAndroid Build Coastguard Worker ReshapeLayerBuilder builder_(_fbb);
5907*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
5908*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
5909*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
5910*89c4ff92SAndroid Build Coastguard Worker }
5911*89c4ff92SAndroid Build Coastguard Worker
5912*89c4ff92SAndroid Build Coastguard Worker struct ReshapeDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5913*89c4ff92SAndroid Build Coastguard Worker typedef ReshapeDescriptorBuilder Builder;
5914*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5915*89c4ff92SAndroid Build Coastguard Worker VT_TARGETSHAPE = 4
5916*89c4ff92SAndroid Build Coastguard Worker };
5917*89c4ff92SAndroid Build Coastguard Worker const flatbuffers::Vector<uint32_t> *targetShape() const {
5918*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_TARGETSHAPE);
5919*89c4ff92SAndroid Build Coastguard Worker }
5920*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
5921*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
5922*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_TARGETSHAPE) &&
5923*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVector(targetShape()) &&
5924*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
5925*89c4ff92SAndroid Build Coastguard Worker }
5926*89c4ff92SAndroid Build Coastguard Worker };
5927*89c4ff92SAndroid Build Coastguard Worker
5928*89c4ff92SAndroid Build Coastguard Worker struct ReshapeDescriptorBuilder {
5929*89c4ff92SAndroid Build Coastguard Worker typedef ReshapeDescriptor Table;
5930*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
5931*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
5932*89c4ff92SAndroid Build Coastguard Worker void add_targetShape(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> targetShape) {
5933*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ReshapeDescriptor::VT_TARGETSHAPE, targetShape);
5934*89c4ff92SAndroid Build Coastguard Worker }
5935*89c4ff92SAndroid Build Coastguard Worker explicit ReshapeDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5936*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
5937*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
5938*89c4ff92SAndroid Build Coastguard Worker }
5939*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<ReshapeDescriptor> Finish() {
5940*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
5941*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<ReshapeDescriptor>(end);
5942*89c4ff92SAndroid Build Coastguard Worker return o;
5943*89c4ff92SAndroid Build Coastguard Worker }
5944*89c4ff92SAndroid Build Coastguard Worker };
5945*89c4ff92SAndroid Build Coastguard Worker
5946*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<ReshapeDescriptor> CreateReshapeDescriptor(
5947*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
5948*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<flatbuffers::Vector<uint32_t>> targetShape = 0) {
5949*89c4ff92SAndroid Build Coastguard Worker ReshapeDescriptorBuilder builder_(_fbb);
5950*89c4ff92SAndroid Build Coastguard Worker builder_.add_targetShape(targetShape);
5951*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
5952*89c4ff92SAndroid Build Coastguard Worker }
5953*89c4ff92SAndroid Build Coastguard Worker
5954*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<ReshapeDescriptor> CreateReshapeDescriptorDirect(
5955*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
5956*89c4ff92SAndroid Build Coastguard Worker const std::vector<uint32_t> *targetShape = nullptr) {
5957*89c4ff92SAndroid Build Coastguard Worker auto targetShape__ = targetShape ? _fbb.CreateVector<uint32_t>(*targetShape) : 0;
5958*89c4ff92SAndroid Build Coastguard Worker return armnnSerializer::CreateReshapeDescriptor(
5959*89c4ff92SAndroid Build Coastguard Worker _fbb,
5960*89c4ff92SAndroid Build Coastguard Worker targetShape__);
5961*89c4ff92SAndroid Build Coastguard Worker }
5962*89c4ff92SAndroid Build Coastguard Worker
5963*89c4ff92SAndroid Build Coastguard Worker struct PermuteLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5964*89c4ff92SAndroid Build Coastguard Worker typedef PermuteLayerBuilder Builder;
5965*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
5966*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
5967*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
5968*89c4ff92SAndroid Build Coastguard Worker };
5969*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
5970*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
5971*89c4ff92SAndroid Build Coastguard Worker }
5972*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::PermuteDescriptor *descriptor() const {
5973*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::PermuteDescriptor *>(VT_DESCRIPTOR);
5974*89c4ff92SAndroid Build Coastguard Worker }
5975*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
5976*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
5977*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
5978*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
5979*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
5980*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
5981*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
5982*89c4ff92SAndroid Build Coastguard Worker }
5983*89c4ff92SAndroid Build Coastguard Worker };
5984*89c4ff92SAndroid Build Coastguard Worker
5985*89c4ff92SAndroid Build Coastguard Worker struct PermuteLayerBuilder {
5986*89c4ff92SAndroid Build Coastguard Worker typedef PermuteLayer Table;
5987*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
5988*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
5989*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
5990*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(PermuteLayer::VT_BASE, base);
5991*89c4ff92SAndroid Build Coastguard Worker }
5992*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::PermuteDescriptor> descriptor) {
5993*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(PermuteLayer::VT_DESCRIPTOR, descriptor);
5994*89c4ff92SAndroid Build Coastguard Worker }
5995*89c4ff92SAndroid Build Coastguard Worker explicit PermuteLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
5996*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
5997*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
5998*89c4ff92SAndroid Build Coastguard Worker }
5999*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<PermuteLayer> Finish() {
6000*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
6001*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<PermuteLayer>(end);
6002*89c4ff92SAndroid Build Coastguard Worker return o;
6003*89c4ff92SAndroid Build Coastguard Worker }
6004*89c4ff92SAndroid Build Coastguard Worker };
6005*89c4ff92SAndroid Build Coastguard Worker
6006*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<PermuteLayer> CreatePermuteLayer(
6007*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
6008*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
6009*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::PermuteDescriptor> descriptor = 0) {
6010*89c4ff92SAndroid Build Coastguard Worker PermuteLayerBuilder builder_(_fbb);
6011*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
6012*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
6013*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
6014*89c4ff92SAndroid Build Coastguard Worker }
6015*89c4ff92SAndroid Build Coastguard Worker
6016*89c4ff92SAndroid Build Coastguard Worker struct PermuteDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6017*89c4ff92SAndroid Build Coastguard Worker typedef PermuteDescriptorBuilder Builder;
6018*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6019*89c4ff92SAndroid Build Coastguard Worker VT_DIMMAPPINGS = 4
6020*89c4ff92SAndroid Build Coastguard Worker };
6021*89c4ff92SAndroid Build Coastguard Worker const flatbuffers::Vector<uint32_t> *dimMappings() const {
6022*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_DIMMAPPINGS);
6023*89c4ff92SAndroid Build Coastguard Worker }
6024*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
6025*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
6026*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DIMMAPPINGS) &&
6027*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVector(dimMappings()) &&
6028*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
6029*89c4ff92SAndroid Build Coastguard Worker }
6030*89c4ff92SAndroid Build Coastguard Worker };
6031*89c4ff92SAndroid Build Coastguard Worker
6032*89c4ff92SAndroid Build Coastguard Worker struct PermuteDescriptorBuilder {
6033*89c4ff92SAndroid Build Coastguard Worker typedef PermuteDescriptor Table;
6034*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
6035*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
6036*89c4ff92SAndroid Build Coastguard Worker void add_dimMappings(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> dimMappings) {
6037*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(PermuteDescriptor::VT_DIMMAPPINGS, dimMappings);
6038*89c4ff92SAndroid Build Coastguard Worker }
6039*89c4ff92SAndroid Build Coastguard Worker explicit PermuteDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6040*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
6041*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
6042*89c4ff92SAndroid Build Coastguard Worker }
6043*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<PermuteDescriptor> Finish() {
6044*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
6045*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<PermuteDescriptor>(end);
6046*89c4ff92SAndroid Build Coastguard Worker return o;
6047*89c4ff92SAndroid Build Coastguard Worker }
6048*89c4ff92SAndroid Build Coastguard Worker };
6049*89c4ff92SAndroid Build Coastguard Worker
6050*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<PermuteDescriptor> CreatePermuteDescriptor(
6051*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
6052*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<flatbuffers::Vector<uint32_t>> dimMappings = 0) {
6053*89c4ff92SAndroid Build Coastguard Worker PermuteDescriptorBuilder builder_(_fbb);
6054*89c4ff92SAndroid Build Coastguard Worker builder_.add_dimMappings(dimMappings);
6055*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
6056*89c4ff92SAndroid Build Coastguard Worker }
6057*89c4ff92SAndroid Build Coastguard Worker
6058*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<PermuteDescriptor> CreatePermuteDescriptorDirect(
6059*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
6060*89c4ff92SAndroid Build Coastguard Worker const std::vector<uint32_t> *dimMappings = nullptr) {
6061*89c4ff92SAndroid Build Coastguard Worker auto dimMappings__ = dimMappings ? _fbb.CreateVector<uint32_t>(*dimMappings) : 0;
6062*89c4ff92SAndroid Build Coastguard Worker return armnnSerializer::CreatePermuteDescriptor(
6063*89c4ff92SAndroid Build Coastguard Worker _fbb,
6064*89c4ff92SAndroid Build Coastguard Worker dimMappings__);
6065*89c4ff92SAndroid Build Coastguard Worker }
6066*89c4ff92SAndroid Build Coastguard Worker
6067*89c4ff92SAndroid Build Coastguard Worker struct ShapeLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6068*89c4ff92SAndroid Build Coastguard Worker typedef ShapeLayerBuilder Builder;
6069*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6070*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4
6071*89c4ff92SAndroid Build Coastguard Worker };
6072*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
6073*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
6074*89c4ff92SAndroid Build Coastguard Worker }
6075*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
6076*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
6077*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
6078*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
6079*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
6080*89c4ff92SAndroid Build Coastguard Worker }
6081*89c4ff92SAndroid Build Coastguard Worker };
6082*89c4ff92SAndroid Build Coastguard Worker
6083*89c4ff92SAndroid Build Coastguard Worker struct ShapeLayerBuilder {
6084*89c4ff92SAndroid Build Coastguard Worker typedef ShapeLayer Table;
6085*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
6086*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
6087*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
6088*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ShapeLayer::VT_BASE, base);
6089*89c4ff92SAndroid Build Coastguard Worker }
6090*89c4ff92SAndroid Build Coastguard Worker explicit ShapeLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6091*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
6092*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
6093*89c4ff92SAndroid Build Coastguard Worker }
6094*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<ShapeLayer> Finish() {
6095*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
6096*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<ShapeLayer>(end);
6097*89c4ff92SAndroid Build Coastguard Worker return o;
6098*89c4ff92SAndroid Build Coastguard Worker }
6099*89c4ff92SAndroid Build Coastguard Worker };
6100*89c4ff92SAndroid Build Coastguard Worker
6101*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<ShapeLayer> CreateShapeLayer(
6102*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
6103*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
6104*89c4ff92SAndroid Build Coastguard Worker ShapeLayerBuilder builder_(_fbb);
6105*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
6106*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
6107*89c4ff92SAndroid Build Coastguard Worker }
6108*89c4ff92SAndroid Build Coastguard Worker
6109*89c4ff92SAndroid Build Coastguard Worker struct SpaceToBatchNdLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6110*89c4ff92SAndroid Build Coastguard Worker typedef SpaceToBatchNdLayerBuilder Builder;
6111*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6112*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
6113*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
6114*89c4ff92SAndroid Build Coastguard Worker };
6115*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
6116*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
6117*89c4ff92SAndroid Build Coastguard Worker }
6118*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::SpaceToBatchNdDescriptor *descriptor() const {
6119*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::SpaceToBatchNdDescriptor *>(VT_DESCRIPTOR);
6120*89c4ff92SAndroid Build Coastguard Worker }
6121*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
6122*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
6123*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
6124*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
6125*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
6126*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
6127*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
6128*89c4ff92SAndroid Build Coastguard Worker }
6129*89c4ff92SAndroid Build Coastguard Worker };
6130*89c4ff92SAndroid Build Coastguard Worker
6131*89c4ff92SAndroid Build Coastguard Worker struct SpaceToBatchNdLayerBuilder {
6132*89c4ff92SAndroid Build Coastguard Worker typedef SpaceToBatchNdLayer Table;
6133*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
6134*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
6135*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
6136*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(SpaceToBatchNdLayer::VT_BASE, base);
6137*89c4ff92SAndroid Build Coastguard Worker }
6138*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::SpaceToBatchNdDescriptor> descriptor) {
6139*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(SpaceToBatchNdLayer::VT_DESCRIPTOR, descriptor);
6140*89c4ff92SAndroid Build Coastguard Worker }
6141*89c4ff92SAndroid Build Coastguard Worker explicit SpaceToBatchNdLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6142*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
6143*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
6144*89c4ff92SAndroid Build Coastguard Worker }
6145*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<SpaceToBatchNdLayer> Finish() {
6146*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
6147*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<SpaceToBatchNdLayer>(end);
6148*89c4ff92SAndroid Build Coastguard Worker return o;
6149*89c4ff92SAndroid Build Coastguard Worker }
6150*89c4ff92SAndroid Build Coastguard Worker };
6151*89c4ff92SAndroid Build Coastguard Worker
6152*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<SpaceToBatchNdLayer> CreateSpaceToBatchNdLayer(
6153*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
6154*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
6155*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::SpaceToBatchNdDescriptor> descriptor = 0) {
6156*89c4ff92SAndroid Build Coastguard Worker SpaceToBatchNdLayerBuilder builder_(_fbb);
6157*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
6158*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
6159*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
6160*89c4ff92SAndroid Build Coastguard Worker }
6161*89c4ff92SAndroid Build Coastguard Worker
6162*89c4ff92SAndroid Build Coastguard Worker struct SpaceToBatchNdDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6163*89c4ff92SAndroid Build Coastguard Worker typedef SpaceToBatchNdDescriptorBuilder Builder;
6164*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6165*89c4ff92SAndroid Build Coastguard Worker VT_BLOCKSHAPE = 4,
6166*89c4ff92SAndroid Build Coastguard Worker VT_PADLIST = 6,
6167*89c4ff92SAndroid Build Coastguard Worker VT_DATALAYOUT = 8
6168*89c4ff92SAndroid Build Coastguard Worker };
6169*89c4ff92SAndroid Build Coastguard Worker const flatbuffers::Vector<uint32_t> *blockShape() const {
6170*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_BLOCKSHAPE);
6171*89c4ff92SAndroid Build Coastguard Worker }
6172*89c4ff92SAndroid Build Coastguard Worker const flatbuffers::Vector<uint32_t> *padList() const {
6173*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_PADLIST);
6174*89c4ff92SAndroid Build Coastguard Worker }
6175*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout() const {
6176*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 0));
6177*89c4ff92SAndroid Build Coastguard Worker }
6178*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
6179*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
6180*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BLOCKSHAPE) &&
6181*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVector(blockShape()) &&
6182*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_PADLIST) &&
6183*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVector(padList()) &&
6184*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_DATALAYOUT, 1) &&
6185*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
6186*89c4ff92SAndroid Build Coastguard Worker }
6187*89c4ff92SAndroid Build Coastguard Worker };
6188*89c4ff92SAndroid Build Coastguard Worker
6189*89c4ff92SAndroid Build Coastguard Worker struct SpaceToBatchNdDescriptorBuilder {
6190*89c4ff92SAndroid Build Coastguard Worker typedef SpaceToBatchNdDescriptor Table;
6191*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
6192*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
6193*89c4ff92SAndroid Build Coastguard Worker void add_blockShape(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> blockShape) {
6194*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(SpaceToBatchNdDescriptor::VT_BLOCKSHAPE, blockShape);
6195*89c4ff92SAndroid Build Coastguard Worker }
6196*89c4ff92SAndroid Build Coastguard Worker void add_padList(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> padList) {
6197*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(SpaceToBatchNdDescriptor::VT_PADLIST, padList);
6198*89c4ff92SAndroid Build Coastguard Worker }
6199*89c4ff92SAndroid Build Coastguard Worker void add_dataLayout(armnnSerializer::DataLayout dataLayout) {
6200*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(SpaceToBatchNdDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 0);
6201*89c4ff92SAndroid Build Coastguard Worker }
6202*89c4ff92SAndroid Build Coastguard Worker explicit SpaceToBatchNdDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6203*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
6204*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
6205*89c4ff92SAndroid Build Coastguard Worker }
6206*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<SpaceToBatchNdDescriptor> Finish() {
6207*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
6208*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<SpaceToBatchNdDescriptor>(end);
6209*89c4ff92SAndroid Build Coastguard Worker return o;
6210*89c4ff92SAndroid Build Coastguard Worker }
6211*89c4ff92SAndroid Build Coastguard Worker };
6212*89c4ff92SAndroid Build Coastguard Worker
6213*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<SpaceToBatchNdDescriptor> CreateSpaceToBatchNdDescriptor(
6214*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
6215*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<flatbuffers::Vector<uint32_t>> blockShape = 0,
6216*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<flatbuffers::Vector<uint32_t>> padList = 0,
6217*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout = armnnSerializer::DataLayout_NHWC) {
6218*89c4ff92SAndroid Build Coastguard Worker SpaceToBatchNdDescriptorBuilder builder_(_fbb);
6219*89c4ff92SAndroid Build Coastguard Worker builder_.add_padList(padList);
6220*89c4ff92SAndroid Build Coastguard Worker builder_.add_blockShape(blockShape);
6221*89c4ff92SAndroid Build Coastguard Worker builder_.add_dataLayout(dataLayout);
6222*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
6223*89c4ff92SAndroid Build Coastguard Worker }
6224*89c4ff92SAndroid Build Coastguard Worker
6225*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<SpaceToBatchNdDescriptor> CreateSpaceToBatchNdDescriptorDirect(
6226*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
6227*89c4ff92SAndroid Build Coastguard Worker const std::vector<uint32_t> *blockShape = nullptr,
6228*89c4ff92SAndroid Build Coastguard Worker const std::vector<uint32_t> *padList = nullptr,
6229*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout = armnnSerializer::DataLayout_NHWC) {
6230*89c4ff92SAndroid Build Coastguard Worker auto blockShape__ = blockShape ? _fbb.CreateVector<uint32_t>(*blockShape) : 0;
6231*89c4ff92SAndroid Build Coastguard Worker auto padList__ = padList ? _fbb.CreateVector<uint32_t>(*padList) : 0;
6232*89c4ff92SAndroid Build Coastguard Worker return armnnSerializer::CreateSpaceToBatchNdDescriptor(
6233*89c4ff92SAndroid Build Coastguard Worker _fbb,
6234*89c4ff92SAndroid Build Coastguard Worker blockShape__,
6235*89c4ff92SAndroid Build Coastguard Worker padList__,
6236*89c4ff92SAndroid Build Coastguard Worker dataLayout);
6237*89c4ff92SAndroid Build Coastguard Worker }
6238*89c4ff92SAndroid Build Coastguard Worker
6239*89c4ff92SAndroid Build Coastguard Worker struct SpaceToDepthLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6240*89c4ff92SAndroid Build Coastguard Worker typedef SpaceToDepthLayerBuilder Builder;
6241*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6242*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
6243*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
6244*89c4ff92SAndroid Build Coastguard Worker };
6245*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
6246*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
6247*89c4ff92SAndroid Build Coastguard Worker }
6248*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::SpaceToDepthDescriptor *descriptor() const {
6249*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::SpaceToDepthDescriptor *>(VT_DESCRIPTOR);
6250*89c4ff92SAndroid Build Coastguard Worker }
6251*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
6252*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
6253*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
6254*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
6255*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
6256*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
6257*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
6258*89c4ff92SAndroid Build Coastguard Worker }
6259*89c4ff92SAndroid Build Coastguard Worker };
6260*89c4ff92SAndroid Build Coastguard Worker
6261*89c4ff92SAndroid Build Coastguard Worker struct SpaceToDepthLayerBuilder {
6262*89c4ff92SAndroid Build Coastguard Worker typedef SpaceToDepthLayer Table;
6263*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
6264*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
6265*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
6266*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(SpaceToDepthLayer::VT_BASE, base);
6267*89c4ff92SAndroid Build Coastguard Worker }
6268*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::SpaceToDepthDescriptor> descriptor) {
6269*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(SpaceToDepthLayer::VT_DESCRIPTOR, descriptor);
6270*89c4ff92SAndroid Build Coastguard Worker }
6271*89c4ff92SAndroid Build Coastguard Worker explicit SpaceToDepthLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6272*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
6273*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
6274*89c4ff92SAndroid Build Coastguard Worker }
6275*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<SpaceToDepthLayer> Finish() {
6276*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
6277*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<SpaceToDepthLayer>(end);
6278*89c4ff92SAndroid Build Coastguard Worker return o;
6279*89c4ff92SAndroid Build Coastguard Worker }
6280*89c4ff92SAndroid Build Coastguard Worker };
6281*89c4ff92SAndroid Build Coastguard Worker
6282*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<SpaceToDepthLayer> CreateSpaceToDepthLayer(
6283*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
6284*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
6285*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::SpaceToDepthDescriptor> descriptor = 0) {
6286*89c4ff92SAndroid Build Coastguard Worker SpaceToDepthLayerBuilder builder_(_fbb);
6287*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
6288*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
6289*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
6290*89c4ff92SAndroid Build Coastguard Worker }
6291*89c4ff92SAndroid Build Coastguard Worker
6292*89c4ff92SAndroid Build Coastguard Worker struct SpaceToDepthDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6293*89c4ff92SAndroid Build Coastguard Worker typedef SpaceToDepthDescriptorBuilder Builder;
6294*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6295*89c4ff92SAndroid Build Coastguard Worker VT_BLOCKSIZE = 4,
6296*89c4ff92SAndroid Build Coastguard Worker VT_DATALAYOUT = 6
6297*89c4ff92SAndroid Build Coastguard Worker };
6298*89c4ff92SAndroid Build Coastguard Worker uint32_t blockSize() const {
6299*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_BLOCKSIZE, 0);
6300*89c4ff92SAndroid Build Coastguard Worker }
6301*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout() const {
6302*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 0));
6303*89c4ff92SAndroid Build Coastguard Worker }
6304*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
6305*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
6306*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_BLOCKSIZE, 4) &&
6307*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_DATALAYOUT, 1) &&
6308*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
6309*89c4ff92SAndroid Build Coastguard Worker }
6310*89c4ff92SAndroid Build Coastguard Worker };
6311*89c4ff92SAndroid Build Coastguard Worker
6312*89c4ff92SAndroid Build Coastguard Worker struct SpaceToDepthDescriptorBuilder {
6313*89c4ff92SAndroid Build Coastguard Worker typedef SpaceToDepthDescriptor Table;
6314*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
6315*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
6316*89c4ff92SAndroid Build Coastguard Worker void add_blockSize(uint32_t blockSize) {
6317*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(SpaceToDepthDescriptor::VT_BLOCKSIZE, blockSize, 0);
6318*89c4ff92SAndroid Build Coastguard Worker }
6319*89c4ff92SAndroid Build Coastguard Worker void add_dataLayout(armnnSerializer::DataLayout dataLayout) {
6320*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(SpaceToDepthDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 0);
6321*89c4ff92SAndroid Build Coastguard Worker }
6322*89c4ff92SAndroid Build Coastguard Worker explicit SpaceToDepthDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6323*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
6324*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
6325*89c4ff92SAndroid Build Coastguard Worker }
6326*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<SpaceToDepthDescriptor> Finish() {
6327*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
6328*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<SpaceToDepthDescriptor>(end);
6329*89c4ff92SAndroid Build Coastguard Worker return o;
6330*89c4ff92SAndroid Build Coastguard Worker }
6331*89c4ff92SAndroid Build Coastguard Worker };
6332*89c4ff92SAndroid Build Coastguard Worker
6333*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<SpaceToDepthDescriptor> CreateSpaceToDepthDescriptor(
6334*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
6335*89c4ff92SAndroid Build Coastguard Worker uint32_t blockSize = 0,
6336*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout = armnnSerializer::DataLayout_NHWC) {
6337*89c4ff92SAndroid Build Coastguard Worker SpaceToDepthDescriptorBuilder builder_(_fbb);
6338*89c4ff92SAndroid Build Coastguard Worker builder_.add_blockSize(blockSize);
6339*89c4ff92SAndroid Build Coastguard Worker builder_.add_dataLayout(dataLayout);
6340*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
6341*89c4ff92SAndroid Build Coastguard Worker }
6342*89c4ff92SAndroid Build Coastguard Worker
6343*89c4ff92SAndroid Build Coastguard Worker struct SubtractionLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6344*89c4ff92SAndroid Build Coastguard Worker typedef SubtractionLayerBuilder Builder;
6345*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6346*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4
6347*89c4ff92SAndroid Build Coastguard Worker };
6348*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
6349*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
6350*89c4ff92SAndroid Build Coastguard Worker }
6351*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
6352*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
6353*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
6354*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
6355*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
6356*89c4ff92SAndroid Build Coastguard Worker }
6357*89c4ff92SAndroid Build Coastguard Worker };
6358*89c4ff92SAndroid Build Coastguard Worker
6359*89c4ff92SAndroid Build Coastguard Worker struct SubtractionLayerBuilder {
6360*89c4ff92SAndroid Build Coastguard Worker typedef SubtractionLayer Table;
6361*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
6362*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
6363*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
6364*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(SubtractionLayer::VT_BASE, base);
6365*89c4ff92SAndroid Build Coastguard Worker }
6366*89c4ff92SAndroid Build Coastguard Worker explicit SubtractionLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6367*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
6368*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
6369*89c4ff92SAndroid Build Coastguard Worker }
6370*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<SubtractionLayer> Finish() {
6371*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
6372*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<SubtractionLayer>(end);
6373*89c4ff92SAndroid Build Coastguard Worker return o;
6374*89c4ff92SAndroid Build Coastguard Worker }
6375*89c4ff92SAndroid Build Coastguard Worker };
6376*89c4ff92SAndroid Build Coastguard Worker
6377*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<SubtractionLayer> CreateSubtractionLayer(
6378*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
6379*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
6380*89c4ff92SAndroid Build Coastguard Worker SubtractionLayerBuilder builder_(_fbb);
6381*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
6382*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
6383*89c4ff92SAndroid Build Coastguard Worker }
6384*89c4ff92SAndroid Build Coastguard Worker
6385*89c4ff92SAndroid Build Coastguard Worker struct BatchToSpaceNdLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6386*89c4ff92SAndroid Build Coastguard Worker typedef BatchToSpaceNdLayerBuilder Builder;
6387*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6388*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
6389*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
6390*89c4ff92SAndroid Build Coastguard Worker };
6391*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
6392*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
6393*89c4ff92SAndroid Build Coastguard Worker }
6394*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::BatchToSpaceNdDescriptor *descriptor() const {
6395*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::BatchToSpaceNdDescriptor *>(VT_DESCRIPTOR);
6396*89c4ff92SAndroid Build Coastguard Worker }
6397*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
6398*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
6399*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
6400*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
6401*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
6402*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
6403*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
6404*89c4ff92SAndroid Build Coastguard Worker }
6405*89c4ff92SAndroid Build Coastguard Worker };
6406*89c4ff92SAndroid Build Coastguard Worker
6407*89c4ff92SAndroid Build Coastguard Worker struct BatchToSpaceNdLayerBuilder {
6408*89c4ff92SAndroid Build Coastguard Worker typedef BatchToSpaceNdLayer Table;
6409*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
6410*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
6411*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
6412*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(BatchToSpaceNdLayer::VT_BASE, base);
6413*89c4ff92SAndroid Build Coastguard Worker }
6414*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::BatchToSpaceNdDescriptor> descriptor) {
6415*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(BatchToSpaceNdLayer::VT_DESCRIPTOR, descriptor);
6416*89c4ff92SAndroid Build Coastguard Worker }
6417*89c4ff92SAndroid Build Coastguard Worker explicit BatchToSpaceNdLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6418*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
6419*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
6420*89c4ff92SAndroid Build Coastguard Worker }
6421*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<BatchToSpaceNdLayer> Finish() {
6422*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
6423*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<BatchToSpaceNdLayer>(end);
6424*89c4ff92SAndroid Build Coastguard Worker return o;
6425*89c4ff92SAndroid Build Coastguard Worker }
6426*89c4ff92SAndroid Build Coastguard Worker };
6427*89c4ff92SAndroid Build Coastguard Worker
6428*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<BatchToSpaceNdLayer> CreateBatchToSpaceNdLayer(
6429*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
6430*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
6431*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::BatchToSpaceNdDescriptor> descriptor = 0) {
6432*89c4ff92SAndroid Build Coastguard Worker BatchToSpaceNdLayerBuilder builder_(_fbb);
6433*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
6434*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
6435*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
6436*89c4ff92SAndroid Build Coastguard Worker }
6437*89c4ff92SAndroid Build Coastguard Worker
6438*89c4ff92SAndroid Build Coastguard Worker struct BatchToSpaceNdDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6439*89c4ff92SAndroid Build Coastguard Worker typedef BatchToSpaceNdDescriptorBuilder Builder;
6440*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6441*89c4ff92SAndroid Build Coastguard Worker VT_BLOCKSHAPE = 4,
6442*89c4ff92SAndroid Build Coastguard Worker VT_CROPS = 6,
6443*89c4ff92SAndroid Build Coastguard Worker VT_DATALAYOUT = 8
6444*89c4ff92SAndroid Build Coastguard Worker };
6445*89c4ff92SAndroid Build Coastguard Worker const flatbuffers::Vector<uint32_t> *blockShape() const {
6446*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_BLOCKSHAPE);
6447*89c4ff92SAndroid Build Coastguard Worker }
6448*89c4ff92SAndroid Build Coastguard Worker const flatbuffers::Vector<uint32_t> *crops() const {
6449*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_CROPS);
6450*89c4ff92SAndroid Build Coastguard Worker }
6451*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout() const {
6452*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 0));
6453*89c4ff92SAndroid Build Coastguard Worker }
6454*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
6455*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
6456*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BLOCKSHAPE) &&
6457*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVector(blockShape()) &&
6458*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_CROPS) &&
6459*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVector(crops()) &&
6460*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_DATALAYOUT, 1) &&
6461*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
6462*89c4ff92SAndroid Build Coastguard Worker }
6463*89c4ff92SAndroid Build Coastguard Worker };
6464*89c4ff92SAndroid Build Coastguard Worker
6465*89c4ff92SAndroid Build Coastguard Worker struct BatchToSpaceNdDescriptorBuilder {
6466*89c4ff92SAndroid Build Coastguard Worker typedef BatchToSpaceNdDescriptor Table;
6467*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
6468*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
6469*89c4ff92SAndroid Build Coastguard Worker void add_blockShape(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> blockShape) {
6470*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(BatchToSpaceNdDescriptor::VT_BLOCKSHAPE, blockShape);
6471*89c4ff92SAndroid Build Coastguard Worker }
6472*89c4ff92SAndroid Build Coastguard Worker void add_crops(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> crops) {
6473*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(BatchToSpaceNdDescriptor::VT_CROPS, crops);
6474*89c4ff92SAndroid Build Coastguard Worker }
6475*89c4ff92SAndroid Build Coastguard Worker void add_dataLayout(armnnSerializer::DataLayout dataLayout) {
6476*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(BatchToSpaceNdDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 0);
6477*89c4ff92SAndroid Build Coastguard Worker }
6478*89c4ff92SAndroid Build Coastguard Worker explicit BatchToSpaceNdDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6479*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
6480*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
6481*89c4ff92SAndroid Build Coastguard Worker }
6482*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<BatchToSpaceNdDescriptor> Finish() {
6483*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
6484*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<BatchToSpaceNdDescriptor>(end);
6485*89c4ff92SAndroid Build Coastguard Worker return o;
6486*89c4ff92SAndroid Build Coastguard Worker }
6487*89c4ff92SAndroid Build Coastguard Worker };
6488*89c4ff92SAndroid Build Coastguard Worker
6489*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<BatchToSpaceNdDescriptor> CreateBatchToSpaceNdDescriptor(
6490*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
6491*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<flatbuffers::Vector<uint32_t>> blockShape = 0,
6492*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<flatbuffers::Vector<uint32_t>> crops = 0,
6493*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout = armnnSerializer::DataLayout_NHWC) {
6494*89c4ff92SAndroid Build Coastguard Worker BatchToSpaceNdDescriptorBuilder builder_(_fbb);
6495*89c4ff92SAndroid Build Coastguard Worker builder_.add_crops(crops);
6496*89c4ff92SAndroid Build Coastguard Worker builder_.add_blockShape(blockShape);
6497*89c4ff92SAndroid Build Coastguard Worker builder_.add_dataLayout(dataLayout);
6498*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
6499*89c4ff92SAndroid Build Coastguard Worker }
6500*89c4ff92SAndroid Build Coastguard Worker
6501*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<BatchToSpaceNdDescriptor> CreateBatchToSpaceNdDescriptorDirect(
6502*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
6503*89c4ff92SAndroid Build Coastguard Worker const std::vector<uint32_t> *blockShape = nullptr,
6504*89c4ff92SAndroid Build Coastguard Worker const std::vector<uint32_t> *crops = nullptr,
6505*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout = armnnSerializer::DataLayout_NHWC) {
6506*89c4ff92SAndroid Build Coastguard Worker auto blockShape__ = blockShape ? _fbb.CreateVector<uint32_t>(*blockShape) : 0;
6507*89c4ff92SAndroid Build Coastguard Worker auto crops__ = crops ? _fbb.CreateVector<uint32_t>(*crops) : 0;
6508*89c4ff92SAndroid Build Coastguard Worker return armnnSerializer::CreateBatchToSpaceNdDescriptor(
6509*89c4ff92SAndroid Build Coastguard Worker _fbb,
6510*89c4ff92SAndroid Build Coastguard Worker blockShape__,
6511*89c4ff92SAndroid Build Coastguard Worker crops__,
6512*89c4ff92SAndroid Build Coastguard Worker dataLayout);
6513*89c4ff92SAndroid Build Coastguard Worker }
6514*89c4ff92SAndroid Build Coastguard Worker
6515*89c4ff92SAndroid Build Coastguard Worker struct NormalizationLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6516*89c4ff92SAndroid Build Coastguard Worker typedef NormalizationLayerBuilder Builder;
6517*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6518*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
6519*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
6520*89c4ff92SAndroid Build Coastguard Worker };
6521*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
6522*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
6523*89c4ff92SAndroid Build Coastguard Worker }
6524*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::NormalizationDescriptor *descriptor() const {
6525*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::NormalizationDescriptor *>(VT_DESCRIPTOR);
6526*89c4ff92SAndroid Build Coastguard Worker }
6527*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
6528*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
6529*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
6530*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
6531*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
6532*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
6533*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
6534*89c4ff92SAndroid Build Coastguard Worker }
6535*89c4ff92SAndroid Build Coastguard Worker };
6536*89c4ff92SAndroid Build Coastguard Worker
6537*89c4ff92SAndroid Build Coastguard Worker struct NormalizationLayerBuilder {
6538*89c4ff92SAndroid Build Coastguard Worker typedef NormalizationLayer Table;
6539*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
6540*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
6541*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
6542*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(NormalizationLayer::VT_BASE, base);
6543*89c4ff92SAndroid Build Coastguard Worker }
6544*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::NormalizationDescriptor> descriptor) {
6545*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(NormalizationLayer::VT_DESCRIPTOR, descriptor);
6546*89c4ff92SAndroid Build Coastguard Worker }
6547*89c4ff92SAndroid Build Coastguard Worker explicit NormalizationLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6548*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
6549*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
6550*89c4ff92SAndroid Build Coastguard Worker }
6551*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<NormalizationLayer> Finish() {
6552*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
6553*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<NormalizationLayer>(end);
6554*89c4ff92SAndroid Build Coastguard Worker return o;
6555*89c4ff92SAndroid Build Coastguard Worker }
6556*89c4ff92SAndroid Build Coastguard Worker };
6557*89c4ff92SAndroid Build Coastguard Worker
6558*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<NormalizationLayer> CreateNormalizationLayer(
6559*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
6560*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
6561*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::NormalizationDescriptor> descriptor = 0) {
6562*89c4ff92SAndroid Build Coastguard Worker NormalizationLayerBuilder builder_(_fbb);
6563*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
6564*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
6565*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
6566*89c4ff92SAndroid Build Coastguard Worker }
6567*89c4ff92SAndroid Build Coastguard Worker
6568*89c4ff92SAndroid Build Coastguard Worker struct NormalizationDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6569*89c4ff92SAndroid Build Coastguard Worker typedef NormalizationDescriptorBuilder Builder;
6570*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6571*89c4ff92SAndroid Build Coastguard Worker VT_NORMCHANNELTYPE = 4,
6572*89c4ff92SAndroid Build Coastguard Worker VT_NORMMETHODTYPE = 6,
6573*89c4ff92SAndroid Build Coastguard Worker VT_NORMSIZE = 8,
6574*89c4ff92SAndroid Build Coastguard Worker VT_ALPHA = 10,
6575*89c4ff92SAndroid Build Coastguard Worker VT_BETA = 12,
6576*89c4ff92SAndroid Build Coastguard Worker VT_K = 14,
6577*89c4ff92SAndroid Build Coastguard Worker VT_DATALAYOUT = 16
6578*89c4ff92SAndroid Build Coastguard Worker };
6579*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::NormalizationAlgorithmChannel normChannelType() const {
6580*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::NormalizationAlgorithmChannel>(GetField<int8_t>(VT_NORMCHANNELTYPE, 0));
6581*89c4ff92SAndroid Build Coastguard Worker }
6582*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::NormalizationAlgorithmMethod normMethodType() const {
6583*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::NormalizationAlgorithmMethod>(GetField<int8_t>(VT_NORMMETHODTYPE, 0));
6584*89c4ff92SAndroid Build Coastguard Worker }
6585*89c4ff92SAndroid Build Coastguard Worker uint32_t normSize() const {
6586*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_NORMSIZE, 0);
6587*89c4ff92SAndroid Build Coastguard Worker }
6588*89c4ff92SAndroid Build Coastguard Worker float alpha() const {
6589*89c4ff92SAndroid Build Coastguard Worker return GetField<float>(VT_ALPHA, 0.0f);
6590*89c4ff92SAndroid Build Coastguard Worker }
6591*89c4ff92SAndroid Build Coastguard Worker float beta() const {
6592*89c4ff92SAndroid Build Coastguard Worker return GetField<float>(VT_BETA, 0.0f);
6593*89c4ff92SAndroid Build Coastguard Worker }
6594*89c4ff92SAndroid Build Coastguard Worker float k() const {
6595*89c4ff92SAndroid Build Coastguard Worker return GetField<float>(VT_K, 0.0f);
6596*89c4ff92SAndroid Build Coastguard Worker }
6597*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout() const {
6598*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 1));
6599*89c4ff92SAndroid Build Coastguard Worker }
6600*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
6601*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
6602*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_NORMCHANNELTYPE, 1) &&
6603*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_NORMMETHODTYPE, 1) &&
6604*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_NORMSIZE, 4) &&
6605*89c4ff92SAndroid Build Coastguard Worker VerifyField<float>(verifier, VT_ALPHA, 4) &&
6606*89c4ff92SAndroid Build Coastguard Worker VerifyField<float>(verifier, VT_BETA, 4) &&
6607*89c4ff92SAndroid Build Coastguard Worker VerifyField<float>(verifier, VT_K, 4) &&
6608*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_DATALAYOUT, 1) &&
6609*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
6610*89c4ff92SAndroid Build Coastguard Worker }
6611*89c4ff92SAndroid Build Coastguard Worker };
6612*89c4ff92SAndroid Build Coastguard Worker
6613*89c4ff92SAndroid Build Coastguard Worker struct NormalizationDescriptorBuilder {
6614*89c4ff92SAndroid Build Coastguard Worker typedef NormalizationDescriptor Table;
6615*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
6616*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
6617*89c4ff92SAndroid Build Coastguard Worker void add_normChannelType(armnnSerializer::NormalizationAlgorithmChannel normChannelType) {
6618*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(NormalizationDescriptor::VT_NORMCHANNELTYPE, static_cast<int8_t>(normChannelType), 0);
6619*89c4ff92SAndroid Build Coastguard Worker }
6620*89c4ff92SAndroid Build Coastguard Worker void add_normMethodType(armnnSerializer::NormalizationAlgorithmMethod normMethodType) {
6621*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(NormalizationDescriptor::VT_NORMMETHODTYPE, static_cast<int8_t>(normMethodType), 0);
6622*89c4ff92SAndroid Build Coastguard Worker }
6623*89c4ff92SAndroid Build Coastguard Worker void add_normSize(uint32_t normSize) {
6624*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(NormalizationDescriptor::VT_NORMSIZE, normSize, 0);
6625*89c4ff92SAndroid Build Coastguard Worker }
6626*89c4ff92SAndroid Build Coastguard Worker void add_alpha(float alpha) {
6627*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<float>(NormalizationDescriptor::VT_ALPHA, alpha, 0.0f);
6628*89c4ff92SAndroid Build Coastguard Worker }
6629*89c4ff92SAndroid Build Coastguard Worker void add_beta(float beta) {
6630*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<float>(NormalizationDescriptor::VT_BETA, beta, 0.0f);
6631*89c4ff92SAndroid Build Coastguard Worker }
6632*89c4ff92SAndroid Build Coastguard Worker void add_k(float k) {
6633*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<float>(NormalizationDescriptor::VT_K, k, 0.0f);
6634*89c4ff92SAndroid Build Coastguard Worker }
6635*89c4ff92SAndroid Build Coastguard Worker void add_dataLayout(armnnSerializer::DataLayout dataLayout) {
6636*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(NormalizationDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 1);
6637*89c4ff92SAndroid Build Coastguard Worker }
6638*89c4ff92SAndroid Build Coastguard Worker explicit NormalizationDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6639*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
6640*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
6641*89c4ff92SAndroid Build Coastguard Worker }
6642*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<NormalizationDescriptor> Finish() {
6643*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
6644*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<NormalizationDescriptor>(end);
6645*89c4ff92SAndroid Build Coastguard Worker return o;
6646*89c4ff92SAndroid Build Coastguard Worker }
6647*89c4ff92SAndroid Build Coastguard Worker };
6648*89c4ff92SAndroid Build Coastguard Worker
6649*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<NormalizationDescriptor> CreateNormalizationDescriptor(
6650*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
6651*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::NormalizationAlgorithmChannel normChannelType = armnnSerializer::NormalizationAlgorithmChannel_Across,
6652*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::NormalizationAlgorithmMethod normMethodType = armnnSerializer::NormalizationAlgorithmMethod_LocalBrightness,
6653*89c4ff92SAndroid Build Coastguard Worker uint32_t normSize = 0,
6654*89c4ff92SAndroid Build Coastguard Worker float alpha = 0.0f,
6655*89c4ff92SAndroid Build Coastguard Worker float beta = 0.0f,
6656*89c4ff92SAndroid Build Coastguard Worker float k = 0.0f,
6657*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout = armnnSerializer::DataLayout_NCHW) {
6658*89c4ff92SAndroid Build Coastguard Worker NormalizationDescriptorBuilder builder_(_fbb);
6659*89c4ff92SAndroid Build Coastguard Worker builder_.add_k(k);
6660*89c4ff92SAndroid Build Coastguard Worker builder_.add_beta(beta);
6661*89c4ff92SAndroid Build Coastguard Worker builder_.add_alpha(alpha);
6662*89c4ff92SAndroid Build Coastguard Worker builder_.add_normSize(normSize);
6663*89c4ff92SAndroid Build Coastguard Worker builder_.add_dataLayout(dataLayout);
6664*89c4ff92SAndroid Build Coastguard Worker builder_.add_normMethodType(normMethodType);
6665*89c4ff92SAndroid Build Coastguard Worker builder_.add_normChannelType(normChannelType);
6666*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
6667*89c4ff92SAndroid Build Coastguard Worker }
6668*89c4ff92SAndroid Build Coastguard Worker
6669*89c4ff92SAndroid Build Coastguard Worker struct MeanLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6670*89c4ff92SAndroid Build Coastguard Worker typedef MeanLayerBuilder Builder;
6671*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6672*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
6673*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
6674*89c4ff92SAndroid Build Coastguard Worker };
6675*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
6676*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
6677*89c4ff92SAndroid Build Coastguard Worker }
6678*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::MeanDescriptor *descriptor() const {
6679*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::MeanDescriptor *>(VT_DESCRIPTOR);
6680*89c4ff92SAndroid Build Coastguard Worker }
6681*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
6682*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
6683*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
6684*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
6685*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
6686*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
6687*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
6688*89c4ff92SAndroid Build Coastguard Worker }
6689*89c4ff92SAndroid Build Coastguard Worker };
6690*89c4ff92SAndroid Build Coastguard Worker
6691*89c4ff92SAndroid Build Coastguard Worker struct MeanLayerBuilder {
6692*89c4ff92SAndroid Build Coastguard Worker typedef MeanLayer Table;
6693*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
6694*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
6695*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
6696*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(MeanLayer::VT_BASE, base);
6697*89c4ff92SAndroid Build Coastguard Worker }
6698*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::MeanDescriptor> descriptor) {
6699*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(MeanLayer::VT_DESCRIPTOR, descriptor);
6700*89c4ff92SAndroid Build Coastguard Worker }
6701*89c4ff92SAndroid Build Coastguard Worker explicit MeanLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6702*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
6703*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
6704*89c4ff92SAndroid Build Coastguard Worker }
6705*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<MeanLayer> Finish() {
6706*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
6707*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<MeanLayer>(end);
6708*89c4ff92SAndroid Build Coastguard Worker return o;
6709*89c4ff92SAndroid Build Coastguard Worker }
6710*89c4ff92SAndroid Build Coastguard Worker };
6711*89c4ff92SAndroid Build Coastguard Worker
6712*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<MeanLayer> CreateMeanLayer(
6713*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
6714*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
6715*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::MeanDescriptor> descriptor = 0) {
6716*89c4ff92SAndroid Build Coastguard Worker MeanLayerBuilder builder_(_fbb);
6717*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
6718*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
6719*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
6720*89c4ff92SAndroid Build Coastguard Worker }
6721*89c4ff92SAndroid Build Coastguard Worker
6722*89c4ff92SAndroid Build Coastguard Worker struct MeanDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6723*89c4ff92SAndroid Build Coastguard Worker typedef MeanDescriptorBuilder Builder;
6724*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6725*89c4ff92SAndroid Build Coastguard Worker VT_AXIS = 4,
6726*89c4ff92SAndroid Build Coastguard Worker VT_KEEPDIMS = 6
6727*89c4ff92SAndroid Build Coastguard Worker };
6728*89c4ff92SAndroid Build Coastguard Worker const flatbuffers::Vector<uint32_t> *axis() const {
6729*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_AXIS);
6730*89c4ff92SAndroid Build Coastguard Worker }
6731*89c4ff92SAndroid Build Coastguard Worker bool keepDims() const {
6732*89c4ff92SAndroid Build Coastguard Worker return GetField<uint8_t>(VT_KEEPDIMS, 0) != 0;
6733*89c4ff92SAndroid Build Coastguard Worker }
6734*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
6735*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
6736*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_AXIS) &&
6737*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVector(axis()) &&
6738*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_KEEPDIMS, 1) &&
6739*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
6740*89c4ff92SAndroid Build Coastguard Worker }
6741*89c4ff92SAndroid Build Coastguard Worker };
6742*89c4ff92SAndroid Build Coastguard Worker
6743*89c4ff92SAndroid Build Coastguard Worker struct MeanDescriptorBuilder {
6744*89c4ff92SAndroid Build Coastguard Worker typedef MeanDescriptor Table;
6745*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
6746*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
6747*89c4ff92SAndroid Build Coastguard Worker void add_axis(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> axis) {
6748*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(MeanDescriptor::VT_AXIS, axis);
6749*89c4ff92SAndroid Build Coastguard Worker }
6750*89c4ff92SAndroid Build Coastguard Worker void add_keepDims(bool keepDims) {
6751*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(MeanDescriptor::VT_KEEPDIMS, static_cast<uint8_t>(keepDims), 0);
6752*89c4ff92SAndroid Build Coastguard Worker }
6753*89c4ff92SAndroid Build Coastguard Worker explicit MeanDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6754*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
6755*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
6756*89c4ff92SAndroid Build Coastguard Worker }
6757*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<MeanDescriptor> Finish() {
6758*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
6759*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<MeanDescriptor>(end);
6760*89c4ff92SAndroid Build Coastguard Worker return o;
6761*89c4ff92SAndroid Build Coastguard Worker }
6762*89c4ff92SAndroid Build Coastguard Worker };
6763*89c4ff92SAndroid Build Coastguard Worker
6764*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<MeanDescriptor> CreateMeanDescriptor(
6765*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
6766*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<flatbuffers::Vector<uint32_t>> axis = 0,
6767*89c4ff92SAndroid Build Coastguard Worker bool keepDims = false) {
6768*89c4ff92SAndroid Build Coastguard Worker MeanDescriptorBuilder builder_(_fbb);
6769*89c4ff92SAndroid Build Coastguard Worker builder_.add_axis(axis);
6770*89c4ff92SAndroid Build Coastguard Worker builder_.add_keepDims(keepDims);
6771*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
6772*89c4ff92SAndroid Build Coastguard Worker }
6773*89c4ff92SAndroid Build Coastguard Worker
6774*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<MeanDescriptor> CreateMeanDescriptorDirect(
6775*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
6776*89c4ff92SAndroid Build Coastguard Worker const std::vector<uint32_t> *axis = nullptr,
6777*89c4ff92SAndroid Build Coastguard Worker bool keepDims = false) {
6778*89c4ff92SAndroid Build Coastguard Worker auto axis__ = axis ? _fbb.CreateVector<uint32_t>(*axis) : 0;
6779*89c4ff92SAndroid Build Coastguard Worker return armnnSerializer::CreateMeanDescriptor(
6780*89c4ff92SAndroid Build Coastguard Worker _fbb,
6781*89c4ff92SAndroid Build Coastguard Worker axis__,
6782*89c4ff92SAndroid Build Coastguard Worker keepDims);
6783*89c4ff92SAndroid Build Coastguard Worker }
6784*89c4ff92SAndroid Build Coastguard Worker
6785*89c4ff92SAndroid Build Coastguard Worker struct PadLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6786*89c4ff92SAndroid Build Coastguard Worker typedef PadLayerBuilder Builder;
6787*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6788*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
6789*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
6790*89c4ff92SAndroid Build Coastguard Worker };
6791*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
6792*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
6793*89c4ff92SAndroid Build Coastguard Worker }
6794*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::PadDescriptor *descriptor() const {
6795*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::PadDescriptor *>(VT_DESCRIPTOR);
6796*89c4ff92SAndroid Build Coastguard Worker }
6797*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
6798*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
6799*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
6800*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
6801*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
6802*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
6803*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
6804*89c4ff92SAndroid Build Coastguard Worker }
6805*89c4ff92SAndroid Build Coastguard Worker };
6806*89c4ff92SAndroid Build Coastguard Worker
6807*89c4ff92SAndroid Build Coastguard Worker struct PadLayerBuilder {
6808*89c4ff92SAndroid Build Coastguard Worker typedef PadLayer Table;
6809*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
6810*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
6811*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
6812*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(PadLayer::VT_BASE, base);
6813*89c4ff92SAndroid Build Coastguard Worker }
6814*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::PadDescriptor> descriptor) {
6815*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(PadLayer::VT_DESCRIPTOR, descriptor);
6816*89c4ff92SAndroid Build Coastguard Worker }
6817*89c4ff92SAndroid Build Coastguard Worker explicit PadLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6818*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
6819*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
6820*89c4ff92SAndroid Build Coastguard Worker }
6821*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<PadLayer> Finish() {
6822*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
6823*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<PadLayer>(end);
6824*89c4ff92SAndroid Build Coastguard Worker return o;
6825*89c4ff92SAndroid Build Coastguard Worker }
6826*89c4ff92SAndroid Build Coastguard Worker };
6827*89c4ff92SAndroid Build Coastguard Worker
6828*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<PadLayer> CreatePadLayer(
6829*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
6830*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
6831*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::PadDescriptor> descriptor = 0) {
6832*89c4ff92SAndroid Build Coastguard Worker PadLayerBuilder builder_(_fbb);
6833*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
6834*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
6835*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
6836*89c4ff92SAndroid Build Coastguard Worker }
6837*89c4ff92SAndroid Build Coastguard Worker
6838*89c4ff92SAndroid Build Coastguard Worker struct PadDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6839*89c4ff92SAndroid Build Coastguard Worker typedef PadDescriptorBuilder Builder;
6840*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6841*89c4ff92SAndroid Build Coastguard Worker VT_PADLIST = 4,
6842*89c4ff92SAndroid Build Coastguard Worker VT_PADVALUE = 6,
6843*89c4ff92SAndroid Build Coastguard Worker VT_PADDINGMODE = 8
6844*89c4ff92SAndroid Build Coastguard Worker };
6845*89c4ff92SAndroid Build Coastguard Worker const flatbuffers::Vector<uint32_t> *padList() const {
6846*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_PADLIST);
6847*89c4ff92SAndroid Build Coastguard Worker }
6848*89c4ff92SAndroid Build Coastguard Worker float padValue() const {
6849*89c4ff92SAndroid Build Coastguard Worker return GetField<float>(VT_PADVALUE, 0.0f);
6850*89c4ff92SAndroid Build Coastguard Worker }
6851*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::PaddingMode paddingMode() const {
6852*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::PaddingMode>(GetField<int8_t>(VT_PADDINGMODE, 0));
6853*89c4ff92SAndroid Build Coastguard Worker }
6854*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
6855*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
6856*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_PADLIST) &&
6857*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVector(padList()) &&
6858*89c4ff92SAndroid Build Coastguard Worker VerifyField<float>(verifier, VT_PADVALUE, 4) &&
6859*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_PADDINGMODE, 1) &&
6860*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
6861*89c4ff92SAndroid Build Coastguard Worker }
6862*89c4ff92SAndroid Build Coastguard Worker };
6863*89c4ff92SAndroid Build Coastguard Worker
6864*89c4ff92SAndroid Build Coastguard Worker struct PadDescriptorBuilder {
6865*89c4ff92SAndroid Build Coastguard Worker typedef PadDescriptor Table;
6866*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
6867*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
6868*89c4ff92SAndroid Build Coastguard Worker void add_padList(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> padList) {
6869*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(PadDescriptor::VT_PADLIST, padList);
6870*89c4ff92SAndroid Build Coastguard Worker }
6871*89c4ff92SAndroid Build Coastguard Worker void add_padValue(float padValue) {
6872*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<float>(PadDescriptor::VT_PADVALUE, padValue, 0.0f);
6873*89c4ff92SAndroid Build Coastguard Worker }
6874*89c4ff92SAndroid Build Coastguard Worker void add_paddingMode(armnnSerializer::PaddingMode paddingMode) {
6875*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(PadDescriptor::VT_PADDINGMODE, static_cast<int8_t>(paddingMode), 0);
6876*89c4ff92SAndroid Build Coastguard Worker }
6877*89c4ff92SAndroid Build Coastguard Worker explicit PadDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6878*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
6879*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
6880*89c4ff92SAndroid Build Coastguard Worker }
6881*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<PadDescriptor> Finish() {
6882*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
6883*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<PadDescriptor>(end);
6884*89c4ff92SAndroid Build Coastguard Worker return o;
6885*89c4ff92SAndroid Build Coastguard Worker }
6886*89c4ff92SAndroid Build Coastguard Worker };
6887*89c4ff92SAndroid Build Coastguard Worker
6888*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<PadDescriptor> CreatePadDescriptor(
6889*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
6890*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<flatbuffers::Vector<uint32_t>> padList = 0,
6891*89c4ff92SAndroid Build Coastguard Worker float padValue = 0.0f,
6892*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::PaddingMode paddingMode = armnnSerializer::PaddingMode_Constant) {
6893*89c4ff92SAndroid Build Coastguard Worker PadDescriptorBuilder builder_(_fbb);
6894*89c4ff92SAndroid Build Coastguard Worker builder_.add_padValue(padValue);
6895*89c4ff92SAndroid Build Coastguard Worker builder_.add_padList(padList);
6896*89c4ff92SAndroid Build Coastguard Worker builder_.add_paddingMode(paddingMode);
6897*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
6898*89c4ff92SAndroid Build Coastguard Worker }
6899*89c4ff92SAndroid Build Coastguard Worker
6900*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<PadDescriptor> CreatePadDescriptorDirect(
6901*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
6902*89c4ff92SAndroid Build Coastguard Worker const std::vector<uint32_t> *padList = nullptr,
6903*89c4ff92SAndroid Build Coastguard Worker float padValue = 0.0f,
6904*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::PaddingMode paddingMode = armnnSerializer::PaddingMode_Constant) {
6905*89c4ff92SAndroid Build Coastguard Worker auto padList__ = padList ? _fbb.CreateVector<uint32_t>(*padList) : 0;
6906*89c4ff92SAndroid Build Coastguard Worker return armnnSerializer::CreatePadDescriptor(
6907*89c4ff92SAndroid Build Coastguard Worker _fbb,
6908*89c4ff92SAndroid Build Coastguard Worker padList__,
6909*89c4ff92SAndroid Build Coastguard Worker padValue,
6910*89c4ff92SAndroid Build Coastguard Worker paddingMode);
6911*89c4ff92SAndroid Build Coastguard Worker }
6912*89c4ff92SAndroid Build Coastguard Worker
6913*89c4ff92SAndroid Build Coastguard Worker /// @deprecated Use ElementwiseUnaryLayer instead
6914*89c4ff92SAndroid Build Coastguard Worker struct RsqrtLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6915*89c4ff92SAndroid Build Coastguard Worker typedef RsqrtLayerBuilder Builder;
6916*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6917*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4
6918*89c4ff92SAndroid Build Coastguard Worker };
6919*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
6920*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
6921*89c4ff92SAndroid Build Coastguard Worker }
6922*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
6923*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
6924*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
6925*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
6926*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
6927*89c4ff92SAndroid Build Coastguard Worker }
6928*89c4ff92SAndroid Build Coastguard Worker };
6929*89c4ff92SAndroid Build Coastguard Worker
6930*89c4ff92SAndroid Build Coastguard Worker struct RsqrtLayerBuilder {
6931*89c4ff92SAndroid Build Coastguard Worker typedef RsqrtLayer Table;
6932*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
6933*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
6934*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
6935*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(RsqrtLayer::VT_BASE, base);
6936*89c4ff92SAndroid Build Coastguard Worker }
6937*89c4ff92SAndroid Build Coastguard Worker explicit RsqrtLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
6938*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
6939*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
6940*89c4ff92SAndroid Build Coastguard Worker }
6941*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<RsqrtLayer> Finish() {
6942*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
6943*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<RsqrtLayer>(end);
6944*89c4ff92SAndroid Build Coastguard Worker return o;
6945*89c4ff92SAndroid Build Coastguard Worker }
6946*89c4ff92SAndroid Build Coastguard Worker };
6947*89c4ff92SAndroid Build Coastguard Worker
6948*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<RsqrtLayer> CreateRsqrtLayer(
6949*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
6950*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
6951*89c4ff92SAndroid Build Coastguard Worker RsqrtLayerBuilder builder_(_fbb);
6952*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
6953*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
6954*89c4ff92SAndroid Build Coastguard Worker }
6955*89c4ff92SAndroid Build Coastguard Worker
6956*89c4ff92SAndroid Build Coastguard Worker struct BatchNormalizationLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
6957*89c4ff92SAndroid Build Coastguard Worker typedef BatchNormalizationLayerBuilder Builder;
6958*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
6959*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
6960*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6,
6961*89c4ff92SAndroid Build Coastguard Worker VT_MEAN = 8,
6962*89c4ff92SAndroid Build Coastguard Worker VT_VARIANCE = 10,
6963*89c4ff92SAndroid Build Coastguard Worker VT_BETA = 12,
6964*89c4ff92SAndroid Build Coastguard Worker VT_GAMMA = 14
6965*89c4ff92SAndroid Build Coastguard Worker };
6966*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
6967*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
6968*89c4ff92SAndroid Build Coastguard Worker }
6969*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::BatchNormalizationDescriptor *descriptor() const {
6970*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::BatchNormalizationDescriptor *>(VT_DESCRIPTOR);
6971*89c4ff92SAndroid Build Coastguard Worker }
6972*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *mean() const {
6973*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_MEAN);
6974*89c4ff92SAndroid Build Coastguard Worker }
6975*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *variance() const {
6976*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_VARIANCE);
6977*89c4ff92SAndroid Build Coastguard Worker }
6978*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *beta() const {
6979*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_BETA);
6980*89c4ff92SAndroid Build Coastguard Worker }
6981*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *gamma() const {
6982*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_GAMMA);
6983*89c4ff92SAndroid Build Coastguard Worker }
6984*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
6985*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
6986*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
6987*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
6988*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
6989*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
6990*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_MEAN) &&
6991*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(mean()) &&
6992*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_VARIANCE) &&
6993*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(variance()) &&
6994*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BETA) &&
6995*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(beta()) &&
6996*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_GAMMA) &&
6997*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(gamma()) &&
6998*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
6999*89c4ff92SAndroid Build Coastguard Worker }
7000*89c4ff92SAndroid Build Coastguard Worker };
7001*89c4ff92SAndroid Build Coastguard Worker
7002*89c4ff92SAndroid Build Coastguard Worker struct BatchNormalizationLayerBuilder {
7003*89c4ff92SAndroid Build Coastguard Worker typedef BatchNormalizationLayer Table;
7004*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
7005*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
7006*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
7007*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(BatchNormalizationLayer::VT_BASE, base);
7008*89c4ff92SAndroid Build Coastguard Worker }
7009*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::BatchNormalizationDescriptor> descriptor) {
7010*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(BatchNormalizationLayer::VT_DESCRIPTOR, descriptor);
7011*89c4ff92SAndroid Build Coastguard Worker }
7012*89c4ff92SAndroid Build Coastguard Worker void add_mean(flatbuffers::Offset<armnnSerializer::ConstTensor> mean) {
7013*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(BatchNormalizationLayer::VT_MEAN, mean);
7014*89c4ff92SAndroid Build Coastguard Worker }
7015*89c4ff92SAndroid Build Coastguard Worker void add_variance(flatbuffers::Offset<armnnSerializer::ConstTensor> variance) {
7016*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(BatchNormalizationLayer::VT_VARIANCE, variance);
7017*89c4ff92SAndroid Build Coastguard Worker }
7018*89c4ff92SAndroid Build Coastguard Worker void add_beta(flatbuffers::Offset<armnnSerializer::ConstTensor> beta) {
7019*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(BatchNormalizationLayer::VT_BETA, beta);
7020*89c4ff92SAndroid Build Coastguard Worker }
7021*89c4ff92SAndroid Build Coastguard Worker void add_gamma(flatbuffers::Offset<armnnSerializer::ConstTensor> gamma) {
7022*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(BatchNormalizationLayer::VT_GAMMA, gamma);
7023*89c4ff92SAndroid Build Coastguard Worker }
7024*89c4ff92SAndroid Build Coastguard Worker explicit BatchNormalizationLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7025*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
7026*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
7027*89c4ff92SAndroid Build Coastguard Worker }
7028*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<BatchNormalizationLayer> Finish() {
7029*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
7030*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<BatchNormalizationLayer>(end);
7031*89c4ff92SAndroid Build Coastguard Worker return o;
7032*89c4ff92SAndroid Build Coastguard Worker }
7033*89c4ff92SAndroid Build Coastguard Worker };
7034*89c4ff92SAndroid Build Coastguard Worker
7035*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<BatchNormalizationLayer> CreateBatchNormalizationLayer(
7036*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
7037*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
7038*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::BatchNormalizationDescriptor> descriptor = 0,
7039*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> mean = 0,
7040*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> variance = 0,
7041*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> beta = 0,
7042*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> gamma = 0) {
7043*89c4ff92SAndroid Build Coastguard Worker BatchNormalizationLayerBuilder builder_(_fbb);
7044*89c4ff92SAndroid Build Coastguard Worker builder_.add_gamma(gamma);
7045*89c4ff92SAndroid Build Coastguard Worker builder_.add_beta(beta);
7046*89c4ff92SAndroid Build Coastguard Worker builder_.add_variance(variance);
7047*89c4ff92SAndroid Build Coastguard Worker builder_.add_mean(mean);
7048*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
7049*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
7050*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
7051*89c4ff92SAndroid Build Coastguard Worker }
7052*89c4ff92SAndroid Build Coastguard Worker
7053*89c4ff92SAndroid Build Coastguard Worker struct BatchNormalizationDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7054*89c4ff92SAndroid Build Coastguard Worker typedef BatchNormalizationDescriptorBuilder Builder;
7055*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7056*89c4ff92SAndroid Build Coastguard Worker VT_EPS = 4,
7057*89c4ff92SAndroid Build Coastguard Worker VT_DATALAYOUT = 6
7058*89c4ff92SAndroid Build Coastguard Worker };
7059*89c4ff92SAndroid Build Coastguard Worker float eps() const {
7060*89c4ff92SAndroid Build Coastguard Worker return GetField<float>(VT_EPS, 0.0f);
7061*89c4ff92SAndroid Build Coastguard Worker }
7062*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout() const {
7063*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 0));
7064*89c4ff92SAndroid Build Coastguard Worker }
7065*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
7066*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
7067*89c4ff92SAndroid Build Coastguard Worker VerifyField<float>(verifier, VT_EPS, 4) &&
7068*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_DATALAYOUT, 1) &&
7069*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
7070*89c4ff92SAndroid Build Coastguard Worker }
7071*89c4ff92SAndroid Build Coastguard Worker };
7072*89c4ff92SAndroid Build Coastguard Worker
7073*89c4ff92SAndroid Build Coastguard Worker struct BatchNormalizationDescriptorBuilder {
7074*89c4ff92SAndroid Build Coastguard Worker typedef BatchNormalizationDescriptor Table;
7075*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
7076*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
7077*89c4ff92SAndroid Build Coastguard Worker void add_eps(float eps) {
7078*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<float>(BatchNormalizationDescriptor::VT_EPS, eps, 0.0f);
7079*89c4ff92SAndroid Build Coastguard Worker }
7080*89c4ff92SAndroid Build Coastguard Worker void add_dataLayout(armnnSerializer::DataLayout dataLayout) {
7081*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(BatchNormalizationDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 0);
7082*89c4ff92SAndroid Build Coastguard Worker }
7083*89c4ff92SAndroid Build Coastguard Worker explicit BatchNormalizationDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7084*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
7085*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
7086*89c4ff92SAndroid Build Coastguard Worker }
7087*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<BatchNormalizationDescriptor> Finish() {
7088*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
7089*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<BatchNormalizationDescriptor>(end);
7090*89c4ff92SAndroid Build Coastguard Worker return o;
7091*89c4ff92SAndroid Build Coastguard Worker }
7092*89c4ff92SAndroid Build Coastguard Worker };
7093*89c4ff92SAndroid Build Coastguard Worker
7094*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<BatchNormalizationDescriptor> CreateBatchNormalizationDescriptor(
7095*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
7096*89c4ff92SAndroid Build Coastguard Worker float eps = 0.0f,
7097*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout = armnnSerializer::DataLayout_NHWC) {
7098*89c4ff92SAndroid Build Coastguard Worker BatchNormalizationDescriptorBuilder builder_(_fbb);
7099*89c4ff92SAndroid Build Coastguard Worker builder_.add_eps(eps);
7100*89c4ff92SAndroid Build Coastguard Worker builder_.add_dataLayout(dataLayout);
7101*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
7102*89c4ff92SAndroid Build Coastguard Worker }
7103*89c4ff92SAndroid Build Coastguard Worker
7104*89c4ff92SAndroid Build Coastguard Worker /// @deprecated Use ResizeLayer instead
7105*89c4ff92SAndroid Build Coastguard Worker struct ResizeBilinearLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7106*89c4ff92SAndroid Build Coastguard Worker typedef ResizeBilinearLayerBuilder Builder;
7107*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7108*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
7109*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
7110*89c4ff92SAndroid Build Coastguard Worker };
7111*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
7112*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
7113*89c4ff92SAndroid Build Coastguard Worker }
7114*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ResizeBilinearDescriptor *descriptor() const {
7115*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ResizeBilinearDescriptor *>(VT_DESCRIPTOR);
7116*89c4ff92SAndroid Build Coastguard Worker }
7117*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
7118*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
7119*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
7120*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
7121*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
7122*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
7123*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
7124*89c4ff92SAndroid Build Coastguard Worker }
7125*89c4ff92SAndroid Build Coastguard Worker };
7126*89c4ff92SAndroid Build Coastguard Worker
7127*89c4ff92SAndroid Build Coastguard Worker struct ResizeBilinearLayerBuilder {
7128*89c4ff92SAndroid Build Coastguard Worker typedef ResizeBilinearLayer Table;
7129*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
7130*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
7131*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
7132*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ResizeBilinearLayer::VT_BASE, base);
7133*89c4ff92SAndroid Build Coastguard Worker }
7134*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::ResizeBilinearDescriptor> descriptor) {
7135*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ResizeBilinearLayer::VT_DESCRIPTOR, descriptor);
7136*89c4ff92SAndroid Build Coastguard Worker }
7137*89c4ff92SAndroid Build Coastguard Worker explicit ResizeBilinearLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7138*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
7139*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
7140*89c4ff92SAndroid Build Coastguard Worker }
7141*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<ResizeBilinearLayer> Finish() {
7142*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
7143*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<ResizeBilinearLayer>(end);
7144*89c4ff92SAndroid Build Coastguard Worker return o;
7145*89c4ff92SAndroid Build Coastguard Worker }
7146*89c4ff92SAndroid Build Coastguard Worker };
7147*89c4ff92SAndroid Build Coastguard Worker
7148*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<ResizeBilinearLayer> CreateResizeBilinearLayer(
7149*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
7150*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
7151*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ResizeBilinearDescriptor> descriptor = 0) {
7152*89c4ff92SAndroid Build Coastguard Worker ResizeBilinearLayerBuilder builder_(_fbb);
7153*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
7154*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
7155*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
7156*89c4ff92SAndroid Build Coastguard Worker }
7157*89c4ff92SAndroid Build Coastguard Worker
7158*89c4ff92SAndroid Build Coastguard Worker struct ResizeBilinearDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7159*89c4ff92SAndroid Build Coastguard Worker typedef ResizeBilinearDescriptorBuilder Builder;
7160*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7161*89c4ff92SAndroid Build Coastguard Worker VT_TARGETWIDTH = 4,
7162*89c4ff92SAndroid Build Coastguard Worker VT_TARGETHEIGHT = 6,
7163*89c4ff92SAndroid Build Coastguard Worker VT_DATALAYOUT = 8,
7164*89c4ff92SAndroid Build Coastguard Worker VT_ALIGNCORNERS = 10,
7165*89c4ff92SAndroid Build Coastguard Worker VT_HALFPIXELCENTERS = 12
7166*89c4ff92SAndroid Build Coastguard Worker };
7167*89c4ff92SAndroid Build Coastguard Worker uint32_t targetWidth() const {
7168*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_TARGETWIDTH, 0);
7169*89c4ff92SAndroid Build Coastguard Worker }
7170*89c4ff92SAndroid Build Coastguard Worker uint32_t targetHeight() const {
7171*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_TARGETHEIGHT, 0);
7172*89c4ff92SAndroid Build Coastguard Worker }
7173*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout() const {
7174*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 0));
7175*89c4ff92SAndroid Build Coastguard Worker }
7176*89c4ff92SAndroid Build Coastguard Worker bool alignCorners() const {
7177*89c4ff92SAndroid Build Coastguard Worker return GetField<uint8_t>(VT_ALIGNCORNERS, 0) != 0;
7178*89c4ff92SAndroid Build Coastguard Worker }
7179*89c4ff92SAndroid Build Coastguard Worker bool halfPixelCenters() const {
7180*89c4ff92SAndroid Build Coastguard Worker return GetField<uint8_t>(VT_HALFPIXELCENTERS, 0) != 0;
7181*89c4ff92SAndroid Build Coastguard Worker }
7182*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
7183*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
7184*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_TARGETWIDTH, 4) &&
7185*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_TARGETHEIGHT, 4) &&
7186*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_DATALAYOUT, 1) &&
7187*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_ALIGNCORNERS, 1) &&
7188*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_HALFPIXELCENTERS, 1) &&
7189*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
7190*89c4ff92SAndroid Build Coastguard Worker }
7191*89c4ff92SAndroid Build Coastguard Worker };
7192*89c4ff92SAndroid Build Coastguard Worker
7193*89c4ff92SAndroid Build Coastguard Worker struct ResizeBilinearDescriptorBuilder {
7194*89c4ff92SAndroid Build Coastguard Worker typedef ResizeBilinearDescriptor Table;
7195*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
7196*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
7197*89c4ff92SAndroid Build Coastguard Worker void add_targetWidth(uint32_t targetWidth) {
7198*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(ResizeBilinearDescriptor::VT_TARGETWIDTH, targetWidth, 0);
7199*89c4ff92SAndroid Build Coastguard Worker }
7200*89c4ff92SAndroid Build Coastguard Worker void add_targetHeight(uint32_t targetHeight) {
7201*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(ResizeBilinearDescriptor::VT_TARGETHEIGHT, targetHeight, 0);
7202*89c4ff92SAndroid Build Coastguard Worker }
7203*89c4ff92SAndroid Build Coastguard Worker void add_dataLayout(armnnSerializer::DataLayout dataLayout) {
7204*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(ResizeBilinearDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 0);
7205*89c4ff92SAndroid Build Coastguard Worker }
7206*89c4ff92SAndroid Build Coastguard Worker void add_alignCorners(bool alignCorners) {
7207*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(ResizeBilinearDescriptor::VT_ALIGNCORNERS, static_cast<uint8_t>(alignCorners), 0);
7208*89c4ff92SAndroid Build Coastguard Worker }
7209*89c4ff92SAndroid Build Coastguard Worker void add_halfPixelCenters(bool halfPixelCenters) {
7210*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(ResizeBilinearDescriptor::VT_HALFPIXELCENTERS, static_cast<uint8_t>(halfPixelCenters), 0);
7211*89c4ff92SAndroid Build Coastguard Worker }
7212*89c4ff92SAndroid Build Coastguard Worker explicit ResizeBilinearDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7213*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
7214*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
7215*89c4ff92SAndroid Build Coastguard Worker }
7216*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<ResizeBilinearDescriptor> Finish() {
7217*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
7218*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<ResizeBilinearDescriptor>(end);
7219*89c4ff92SAndroid Build Coastguard Worker return o;
7220*89c4ff92SAndroid Build Coastguard Worker }
7221*89c4ff92SAndroid Build Coastguard Worker };
7222*89c4ff92SAndroid Build Coastguard Worker
7223*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<ResizeBilinearDescriptor> CreateResizeBilinearDescriptor(
7224*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
7225*89c4ff92SAndroid Build Coastguard Worker uint32_t targetWidth = 0,
7226*89c4ff92SAndroid Build Coastguard Worker uint32_t targetHeight = 0,
7227*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout = armnnSerializer::DataLayout_NHWC,
7228*89c4ff92SAndroid Build Coastguard Worker bool alignCorners = false,
7229*89c4ff92SAndroid Build Coastguard Worker bool halfPixelCenters = false) {
7230*89c4ff92SAndroid Build Coastguard Worker ResizeBilinearDescriptorBuilder builder_(_fbb);
7231*89c4ff92SAndroid Build Coastguard Worker builder_.add_targetHeight(targetHeight);
7232*89c4ff92SAndroid Build Coastguard Worker builder_.add_targetWidth(targetWidth);
7233*89c4ff92SAndroid Build Coastguard Worker builder_.add_halfPixelCenters(halfPixelCenters);
7234*89c4ff92SAndroid Build Coastguard Worker builder_.add_alignCorners(alignCorners);
7235*89c4ff92SAndroid Build Coastguard Worker builder_.add_dataLayout(dataLayout);
7236*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
7237*89c4ff92SAndroid Build Coastguard Worker }
7238*89c4ff92SAndroid Build Coastguard Worker
7239*89c4ff92SAndroid Build Coastguard Worker struct SliceLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7240*89c4ff92SAndroid Build Coastguard Worker typedef SliceLayerBuilder Builder;
7241*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7242*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
7243*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
7244*89c4ff92SAndroid Build Coastguard Worker };
7245*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
7246*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
7247*89c4ff92SAndroid Build Coastguard Worker }
7248*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::SliceDescriptor *descriptor() const {
7249*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::SliceDescriptor *>(VT_DESCRIPTOR);
7250*89c4ff92SAndroid Build Coastguard Worker }
7251*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
7252*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
7253*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
7254*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
7255*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
7256*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
7257*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
7258*89c4ff92SAndroid Build Coastguard Worker }
7259*89c4ff92SAndroid Build Coastguard Worker };
7260*89c4ff92SAndroid Build Coastguard Worker
7261*89c4ff92SAndroid Build Coastguard Worker struct SliceLayerBuilder {
7262*89c4ff92SAndroid Build Coastguard Worker typedef SliceLayer Table;
7263*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
7264*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
7265*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
7266*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(SliceLayer::VT_BASE, base);
7267*89c4ff92SAndroid Build Coastguard Worker }
7268*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::SliceDescriptor> descriptor) {
7269*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(SliceLayer::VT_DESCRIPTOR, descriptor);
7270*89c4ff92SAndroid Build Coastguard Worker }
7271*89c4ff92SAndroid Build Coastguard Worker explicit SliceLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7272*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
7273*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
7274*89c4ff92SAndroid Build Coastguard Worker }
7275*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<SliceLayer> Finish() {
7276*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
7277*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<SliceLayer>(end);
7278*89c4ff92SAndroid Build Coastguard Worker return o;
7279*89c4ff92SAndroid Build Coastguard Worker }
7280*89c4ff92SAndroid Build Coastguard Worker };
7281*89c4ff92SAndroid Build Coastguard Worker
7282*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<SliceLayer> CreateSliceLayer(
7283*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
7284*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
7285*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::SliceDescriptor> descriptor = 0) {
7286*89c4ff92SAndroid Build Coastguard Worker SliceLayerBuilder builder_(_fbb);
7287*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
7288*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
7289*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
7290*89c4ff92SAndroid Build Coastguard Worker }
7291*89c4ff92SAndroid Build Coastguard Worker
7292*89c4ff92SAndroid Build Coastguard Worker struct SliceDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7293*89c4ff92SAndroid Build Coastguard Worker typedef SliceDescriptorBuilder Builder;
7294*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7295*89c4ff92SAndroid Build Coastguard Worker VT_BEGIN = 4,
7296*89c4ff92SAndroid Build Coastguard Worker VT_SIZE = 6
7297*89c4ff92SAndroid Build Coastguard Worker };
7298*89c4ff92SAndroid Build Coastguard Worker const flatbuffers::Vector<uint32_t> *begin() const {
7299*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_BEGIN);
7300*89c4ff92SAndroid Build Coastguard Worker }
7301*89c4ff92SAndroid Build Coastguard Worker const flatbuffers::Vector<uint32_t> *size() const {
7302*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_SIZE);
7303*89c4ff92SAndroid Build Coastguard Worker }
7304*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
7305*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
7306*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BEGIN) &&
7307*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVector(begin()) &&
7308*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_SIZE) &&
7309*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVector(size()) &&
7310*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
7311*89c4ff92SAndroid Build Coastguard Worker }
7312*89c4ff92SAndroid Build Coastguard Worker };
7313*89c4ff92SAndroid Build Coastguard Worker
7314*89c4ff92SAndroid Build Coastguard Worker struct SliceDescriptorBuilder {
7315*89c4ff92SAndroid Build Coastguard Worker typedef SliceDescriptor Table;
7316*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
7317*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
7318*89c4ff92SAndroid Build Coastguard Worker void add_begin(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> begin) {
7319*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(SliceDescriptor::VT_BEGIN, begin);
7320*89c4ff92SAndroid Build Coastguard Worker }
7321*89c4ff92SAndroid Build Coastguard Worker void add_size(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> size) {
7322*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(SliceDescriptor::VT_SIZE, size);
7323*89c4ff92SAndroid Build Coastguard Worker }
7324*89c4ff92SAndroid Build Coastguard Worker explicit SliceDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7325*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
7326*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
7327*89c4ff92SAndroid Build Coastguard Worker }
7328*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<SliceDescriptor> Finish() {
7329*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
7330*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<SliceDescriptor>(end);
7331*89c4ff92SAndroid Build Coastguard Worker return o;
7332*89c4ff92SAndroid Build Coastguard Worker }
7333*89c4ff92SAndroid Build Coastguard Worker };
7334*89c4ff92SAndroid Build Coastguard Worker
7335*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<SliceDescriptor> CreateSliceDescriptor(
7336*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
7337*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<flatbuffers::Vector<uint32_t>> begin = 0,
7338*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<flatbuffers::Vector<uint32_t>> size = 0) {
7339*89c4ff92SAndroid Build Coastguard Worker SliceDescriptorBuilder builder_(_fbb);
7340*89c4ff92SAndroid Build Coastguard Worker builder_.add_size(size);
7341*89c4ff92SAndroid Build Coastguard Worker builder_.add_begin(begin);
7342*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
7343*89c4ff92SAndroid Build Coastguard Worker }
7344*89c4ff92SAndroid Build Coastguard Worker
7345*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<SliceDescriptor> CreateSliceDescriptorDirect(
7346*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
7347*89c4ff92SAndroid Build Coastguard Worker const std::vector<uint32_t> *begin = nullptr,
7348*89c4ff92SAndroid Build Coastguard Worker const std::vector<uint32_t> *size = nullptr) {
7349*89c4ff92SAndroid Build Coastguard Worker auto begin__ = begin ? _fbb.CreateVector<uint32_t>(*begin) : 0;
7350*89c4ff92SAndroid Build Coastguard Worker auto size__ = size ? _fbb.CreateVector<uint32_t>(*size) : 0;
7351*89c4ff92SAndroid Build Coastguard Worker return armnnSerializer::CreateSliceDescriptor(
7352*89c4ff92SAndroid Build Coastguard Worker _fbb,
7353*89c4ff92SAndroid Build Coastguard Worker begin__,
7354*89c4ff92SAndroid Build Coastguard Worker size__);
7355*89c4ff92SAndroid Build Coastguard Worker }
7356*89c4ff92SAndroid Build Coastguard Worker
7357*89c4ff92SAndroid Build Coastguard Worker struct StridedSliceLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7358*89c4ff92SAndroid Build Coastguard Worker typedef StridedSliceLayerBuilder Builder;
7359*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7360*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
7361*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
7362*89c4ff92SAndroid Build Coastguard Worker };
7363*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
7364*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
7365*89c4ff92SAndroid Build Coastguard Worker }
7366*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::StridedSliceDescriptor *descriptor() const {
7367*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::StridedSliceDescriptor *>(VT_DESCRIPTOR);
7368*89c4ff92SAndroid Build Coastguard Worker }
7369*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
7370*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
7371*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
7372*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
7373*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
7374*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
7375*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
7376*89c4ff92SAndroid Build Coastguard Worker }
7377*89c4ff92SAndroid Build Coastguard Worker };
7378*89c4ff92SAndroid Build Coastguard Worker
7379*89c4ff92SAndroid Build Coastguard Worker struct StridedSliceLayerBuilder {
7380*89c4ff92SAndroid Build Coastguard Worker typedef StridedSliceLayer Table;
7381*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
7382*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
7383*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
7384*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(StridedSliceLayer::VT_BASE, base);
7385*89c4ff92SAndroid Build Coastguard Worker }
7386*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::StridedSliceDescriptor> descriptor) {
7387*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(StridedSliceLayer::VT_DESCRIPTOR, descriptor);
7388*89c4ff92SAndroid Build Coastguard Worker }
7389*89c4ff92SAndroid Build Coastguard Worker explicit StridedSliceLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7390*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
7391*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
7392*89c4ff92SAndroid Build Coastguard Worker }
7393*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<StridedSliceLayer> Finish() {
7394*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
7395*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<StridedSliceLayer>(end);
7396*89c4ff92SAndroid Build Coastguard Worker return o;
7397*89c4ff92SAndroid Build Coastguard Worker }
7398*89c4ff92SAndroid Build Coastguard Worker };
7399*89c4ff92SAndroid Build Coastguard Worker
7400*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<StridedSliceLayer> CreateStridedSliceLayer(
7401*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
7402*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
7403*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::StridedSliceDescriptor> descriptor = 0) {
7404*89c4ff92SAndroid Build Coastguard Worker StridedSliceLayerBuilder builder_(_fbb);
7405*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
7406*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
7407*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
7408*89c4ff92SAndroid Build Coastguard Worker }
7409*89c4ff92SAndroid Build Coastguard Worker
7410*89c4ff92SAndroid Build Coastguard Worker struct StridedSliceDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7411*89c4ff92SAndroid Build Coastguard Worker typedef StridedSliceDescriptorBuilder Builder;
7412*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7413*89c4ff92SAndroid Build Coastguard Worker VT_BEGIN = 4,
7414*89c4ff92SAndroid Build Coastguard Worker VT_END = 6,
7415*89c4ff92SAndroid Build Coastguard Worker VT_STRIDE = 8,
7416*89c4ff92SAndroid Build Coastguard Worker VT_BEGINMASK = 10,
7417*89c4ff92SAndroid Build Coastguard Worker VT_ENDMASK = 12,
7418*89c4ff92SAndroid Build Coastguard Worker VT_SHRINKAXISMASK = 14,
7419*89c4ff92SAndroid Build Coastguard Worker VT_ELLIPSISMASK = 16,
7420*89c4ff92SAndroid Build Coastguard Worker VT_NEWAXISMASK = 18,
7421*89c4ff92SAndroid Build Coastguard Worker VT_DATALAYOUT = 20
7422*89c4ff92SAndroid Build Coastguard Worker };
7423*89c4ff92SAndroid Build Coastguard Worker const flatbuffers::Vector<int32_t> *begin() const {
7424*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_BEGIN);
7425*89c4ff92SAndroid Build Coastguard Worker }
7426*89c4ff92SAndroid Build Coastguard Worker const flatbuffers::Vector<int32_t> *end() const {
7427*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_END);
7428*89c4ff92SAndroid Build Coastguard Worker }
7429*89c4ff92SAndroid Build Coastguard Worker const flatbuffers::Vector<int32_t> *stride() const {
7430*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_STRIDE);
7431*89c4ff92SAndroid Build Coastguard Worker }
7432*89c4ff92SAndroid Build Coastguard Worker int32_t beginMask() const {
7433*89c4ff92SAndroid Build Coastguard Worker return GetField<int32_t>(VT_BEGINMASK, 0);
7434*89c4ff92SAndroid Build Coastguard Worker }
7435*89c4ff92SAndroid Build Coastguard Worker int32_t endMask() const {
7436*89c4ff92SAndroid Build Coastguard Worker return GetField<int32_t>(VT_ENDMASK, 0);
7437*89c4ff92SAndroid Build Coastguard Worker }
7438*89c4ff92SAndroid Build Coastguard Worker int32_t shrinkAxisMask() const {
7439*89c4ff92SAndroid Build Coastguard Worker return GetField<int32_t>(VT_SHRINKAXISMASK, 0);
7440*89c4ff92SAndroid Build Coastguard Worker }
7441*89c4ff92SAndroid Build Coastguard Worker int32_t ellipsisMask() const {
7442*89c4ff92SAndroid Build Coastguard Worker return GetField<int32_t>(VT_ELLIPSISMASK, 0);
7443*89c4ff92SAndroid Build Coastguard Worker }
7444*89c4ff92SAndroid Build Coastguard Worker int32_t newAxisMask() const {
7445*89c4ff92SAndroid Build Coastguard Worker return GetField<int32_t>(VT_NEWAXISMASK, 0);
7446*89c4ff92SAndroid Build Coastguard Worker }
7447*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout() const {
7448*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 0));
7449*89c4ff92SAndroid Build Coastguard Worker }
7450*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
7451*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
7452*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BEGIN) &&
7453*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVector(begin()) &&
7454*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_END) &&
7455*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVector(end()) &&
7456*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_STRIDE) &&
7457*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVector(stride()) &&
7458*89c4ff92SAndroid Build Coastguard Worker VerifyField<int32_t>(verifier, VT_BEGINMASK, 4) &&
7459*89c4ff92SAndroid Build Coastguard Worker VerifyField<int32_t>(verifier, VT_ENDMASK, 4) &&
7460*89c4ff92SAndroid Build Coastguard Worker VerifyField<int32_t>(verifier, VT_SHRINKAXISMASK, 4) &&
7461*89c4ff92SAndroid Build Coastguard Worker VerifyField<int32_t>(verifier, VT_ELLIPSISMASK, 4) &&
7462*89c4ff92SAndroid Build Coastguard Worker VerifyField<int32_t>(verifier, VT_NEWAXISMASK, 4) &&
7463*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_DATALAYOUT, 1) &&
7464*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
7465*89c4ff92SAndroid Build Coastguard Worker }
7466*89c4ff92SAndroid Build Coastguard Worker };
7467*89c4ff92SAndroid Build Coastguard Worker
7468*89c4ff92SAndroid Build Coastguard Worker struct StridedSliceDescriptorBuilder {
7469*89c4ff92SAndroid Build Coastguard Worker typedef StridedSliceDescriptor Table;
7470*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
7471*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
7472*89c4ff92SAndroid Build Coastguard Worker void add_begin(flatbuffers::Offset<flatbuffers::Vector<int32_t>> begin) {
7473*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(StridedSliceDescriptor::VT_BEGIN, begin);
7474*89c4ff92SAndroid Build Coastguard Worker }
7475*89c4ff92SAndroid Build Coastguard Worker void add_end(flatbuffers::Offset<flatbuffers::Vector<int32_t>> end) {
7476*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(StridedSliceDescriptor::VT_END, end);
7477*89c4ff92SAndroid Build Coastguard Worker }
7478*89c4ff92SAndroid Build Coastguard Worker void add_stride(flatbuffers::Offset<flatbuffers::Vector<int32_t>> stride) {
7479*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(StridedSliceDescriptor::VT_STRIDE, stride);
7480*89c4ff92SAndroid Build Coastguard Worker }
7481*89c4ff92SAndroid Build Coastguard Worker void add_beginMask(int32_t beginMask) {
7482*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int32_t>(StridedSliceDescriptor::VT_BEGINMASK, beginMask, 0);
7483*89c4ff92SAndroid Build Coastguard Worker }
7484*89c4ff92SAndroid Build Coastguard Worker void add_endMask(int32_t endMask) {
7485*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int32_t>(StridedSliceDescriptor::VT_ENDMASK, endMask, 0);
7486*89c4ff92SAndroid Build Coastguard Worker }
7487*89c4ff92SAndroid Build Coastguard Worker void add_shrinkAxisMask(int32_t shrinkAxisMask) {
7488*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int32_t>(StridedSliceDescriptor::VT_SHRINKAXISMASK, shrinkAxisMask, 0);
7489*89c4ff92SAndroid Build Coastguard Worker }
7490*89c4ff92SAndroid Build Coastguard Worker void add_ellipsisMask(int32_t ellipsisMask) {
7491*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int32_t>(StridedSliceDescriptor::VT_ELLIPSISMASK, ellipsisMask, 0);
7492*89c4ff92SAndroid Build Coastguard Worker }
7493*89c4ff92SAndroid Build Coastguard Worker void add_newAxisMask(int32_t newAxisMask) {
7494*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int32_t>(StridedSliceDescriptor::VT_NEWAXISMASK, newAxisMask, 0);
7495*89c4ff92SAndroid Build Coastguard Worker }
7496*89c4ff92SAndroid Build Coastguard Worker void add_dataLayout(armnnSerializer::DataLayout dataLayout) {
7497*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(StridedSliceDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 0);
7498*89c4ff92SAndroid Build Coastguard Worker }
7499*89c4ff92SAndroid Build Coastguard Worker explicit StridedSliceDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7500*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
7501*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
7502*89c4ff92SAndroid Build Coastguard Worker }
7503*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<StridedSliceDescriptor> Finish() {
7504*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
7505*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<StridedSliceDescriptor>(end);
7506*89c4ff92SAndroid Build Coastguard Worker return o;
7507*89c4ff92SAndroid Build Coastguard Worker }
7508*89c4ff92SAndroid Build Coastguard Worker };
7509*89c4ff92SAndroid Build Coastguard Worker
7510*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<StridedSliceDescriptor> CreateStridedSliceDescriptor(
7511*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
7512*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<flatbuffers::Vector<int32_t>> begin = 0,
7513*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<flatbuffers::Vector<int32_t>> end = 0,
7514*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<flatbuffers::Vector<int32_t>> stride = 0,
7515*89c4ff92SAndroid Build Coastguard Worker int32_t beginMask = 0,
7516*89c4ff92SAndroid Build Coastguard Worker int32_t endMask = 0,
7517*89c4ff92SAndroid Build Coastguard Worker int32_t shrinkAxisMask = 0,
7518*89c4ff92SAndroid Build Coastguard Worker int32_t ellipsisMask = 0,
7519*89c4ff92SAndroid Build Coastguard Worker int32_t newAxisMask = 0,
7520*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout = armnnSerializer::DataLayout_NHWC) {
7521*89c4ff92SAndroid Build Coastguard Worker StridedSliceDescriptorBuilder builder_(_fbb);
7522*89c4ff92SAndroid Build Coastguard Worker builder_.add_newAxisMask(newAxisMask);
7523*89c4ff92SAndroid Build Coastguard Worker builder_.add_ellipsisMask(ellipsisMask);
7524*89c4ff92SAndroid Build Coastguard Worker builder_.add_shrinkAxisMask(shrinkAxisMask);
7525*89c4ff92SAndroid Build Coastguard Worker builder_.add_endMask(endMask);
7526*89c4ff92SAndroid Build Coastguard Worker builder_.add_beginMask(beginMask);
7527*89c4ff92SAndroid Build Coastguard Worker builder_.add_stride(stride);
7528*89c4ff92SAndroid Build Coastguard Worker builder_.add_end(end);
7529*89c4ff92SAndroid Build Coastguard Worker builder_.add_begin(begin);
7530*89c4ff92SAndroid Build Coastguard Worker builder_.add_dataLayout(dataLayout);
7531*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
7532*89c4ff92SAndroid Build Coastguard Worker }
7533*89c4ff92SAndroid Build Coastguard Worker
7534*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<StridedSliceDescriptor> CreateStridedSliceDescriptorDirect(
7535*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
7536*89c4ff92SAndroid Build Coastguard Worker const std::vector<int32_t> *begin = nullptr,
7537*89c4ff92SAndroid Build Coastguard Worker const std::vector<int32_t> *end = nullptr,
7538*89c4ff92SAndroid Build Coastguard Worker const std::vector<int32_t> *stride = nullptr,
7539*89c4ff92SAndroid Build Coastguard Worker int32_t beginMask = 0,
7540*89c4ff92SAndroid Build Coastguard Worker int32_t endMask = 0,
7541*89c4ff92SAndroid Build Coastguard Worker int32_t shrinkAxisMask = 0,
7542*89c4ff92SAndroid Build Coastguard Worker int32_t ellipsisMask = 0,
7543*89c4ff92SAndroid Build Coastguard Worker int32_t newAxisMask = 0,
7544*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout = armnnSerializer::DataLayout_NHWC) {
7545*89c4ff92SAndroid Build Coastguard Worker auto begin__ = begin ? _fbb.CreateVector<int32_t>(*begin) : 0;
7546*89c4ff92SAndroid Build Coastguard Worker auto end__ = end ? _fbb.CreateVector<int32_t>(*end) : 0;
7547*89c4ff92SAndroid Build Coastguard Worker auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
7548*89c4ff92SAndroid Build Coastguard Worker return armnnSerializer::CreateStridedSliceDescriptor(
7549*89c4ff92SAndroid Build Coastguard Worker _fbb,
7550*89c4ff92SAndroid Build Coastguard Worker begin__,
7551*89c4ff92SAndroid Build Coastguard Worker end__,
7552*89c4ff92SAndroid Build Coastguard Worker stride__,
7553*89c4ff92SAndroid Build Coastguard Worker beginMask,
7554*89c4ff92SAndroid Build Coastguard Worker endMask,
7555*89c4ff92SAndroid Build Coastguard Worker shrinkAxisMask,
7556*89c4ff92SAndroid Build Coastguard Worker ellipsisMask,
7557*89c4ff92SAndroid Build Coastguard Worker newAxisMask,
7558*89c4ff92SAndroid Build Coastguard Worker dataLayout);
7559*89c4ff92SAndroid Build Coastguard Worker }
7560*89c4ff92SAndroid Build Coastguard Worker
7561*89c4ff92SAndroid Build Coastguard Worker struct ConcatLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7562*89c4ff92SAndroid Build Coastguard Worker typedef ConcatLayerBuilder Builder;
7563*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7564*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
7565*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
7566*89c4ff92SAndroid Build Coastguard Worker };
7567*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
7568*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
7569*89c4ff92SAndroid Build Coastguard Worker }
7570*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::OriginsDescriptor *descriptor() const {
7571*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::OriginsDescriptor *>(VT_DESCRIPTOR);
7572*89c4ff92SAndroid Build Coastguard Worker }
7573*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
7574*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
7575*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
7576*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
7577*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
7578*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
7579*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
7580*89c4ff92SAndroid Build Coastguard Worker }
7581*89c4ff92SAndroid Build Coastguard Worker };
7582*89c4ff92SAndroid Build Coastguard Worker
7583*89c4ff92SAndroid Build Coastguard Worker struct ConcatLayerBuilder {
7584*89c4ff92SAndroid Build Coastguard Worker typedef ConcatLayer Table;
7585*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
7586*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
7587*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
7588*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ConcatLayer::VT_BASE, base);
7589*89c4ff92SAndroid Build Coastguard Worker }
7590*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::OriginsDescriptor> descriptor) {
7591*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ConcatLayer::VT_DESCRIPTOR, descriptor);
7592*89c4ff92SAndroid Build Coastguard Worker }
7593*89c4ff92SAndroid Build Coastguard Worker explicit ConcatLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7594*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
7595*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
7596*89c4ff92SAndroid Build Coastguard Worker }
7597*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<ConcatLayer> Finish() {
7598*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
7599*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<ConcatLayer>(end);
7600*89c4ff92SAndroid Build Coastguard Worker return o;
7601*89c4ff92SAndroid Build Coastguard Worker }
7602*89c4ff92SAndroid Build Coastguard Worker };
7603*89c4ff92SAndroid Build Coastguard Worker
7604*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<ConcatLayer> CreateConcatLayer(
7605*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
7606*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
7607*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::OriginsDescriptor> descriptor = 0) {
7608*89c4ff92SAndroid Build Coastguard Worker ConcatLayerBuilder builder_(_fbb);
7609*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
7610*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
7611*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
7612*89c4ff92SAndroid Build Coastguard Worker }
7613*89c4ff92SAndroid Build Coastguard Worker
7614*89c4ff92SAndroid Build Coastguard Worker /// @deprecated Use ConcatLayer instead
7615*89c4ff92SAndroid Build Coastguard Worker struct MergerLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7616*89c4ff92SAndroid Build Coastguard Worker typedef MergerLayerBuilder Builder;
7617*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7618*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
7619*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
7620*89c4ff92SAndroid Build Coastguard Worker };
7621*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
7622*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
7623*89c4ff92SAndroid Build Coastguard Worker }
7624*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::OriginsDescriptor *descriptor() const {
7625*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::OriginsDescriptor *>(VT_DESCRIPTOR);
7626*89c4ff92SAndroid Build Coastguard Worker }
7627*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
7628*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
7629*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
7630*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
7631*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
7632*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
7633*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
7634*89c4ff92SAndroid Build Coastguard Worker }
7635*89c4ff92SAndroid Build Coastguard Worker };
7636*89c4ff92SAndroid Build Coastguard Worker
7637*89c4ff92SAndroid Build Coastguard Worker struct MergerLayerBuilder {
7638*89c4ff92SAndroid Build Coastguard Worker typedef MergerLayer Table;
7639*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
7640*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
7641*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
7642*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(MergerLayer::VT_BASE, base);
7643*89c4ff92SAndroid Build Coastguard Worker }
7644*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::OriginsDescriptor> descriptor) {
7645*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(MergerLayer::VT_DESCRIPTOR, descriptor);
7646*89c4ff92SAndroid Build Coastguard Worker }
7647*89c4ff92SAndroid Build Coastguard Worker explicit MergerLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7648*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
7649*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
7650*89c4ff92SAndroid Build Coastguard Worker }
7651*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<MergerLayer> Finish() {
7652*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
7653*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<MergerLayer>(end);
7654*89c4ff92SAndroid Build Coastguard Worker return o;
7655*89c4ff92SAndroid Build Coastguard Worker }
7656*89c4ff92SAndroid Build Coastguard Worker };
7657*89c4ff92SAndroid Build Coastguard Worker
7658*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<MergerLayer> CreateMergerLayer(
7659*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
7660*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
7661*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::OriginsDescriptor> descriptor = 0) {
7662*89c4ff92SAndroid Build Coastguard Worker MergerLayerBuilder builder_(_fbb);
7663*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
7664*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
7665*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
7666*89c4ff92SAndroid Build Coastguard Worker }
7667*89c4ff92SAndroid Build Coastguard Worker
7668*89c4ff92SAndroid Build Coastguard Worker struct UintVector FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7669*89c4ff92SAndroid Build Coastguard Worker typedef UintVectorBuilder Builder;
7670*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7671*89c4ff92SAndroid Build Coastguard Worker VT_DATA = 4
7672*89c4ff92SAndroid Build Coastguard Worker };
7673*89c4ff92SAndroid Build Coastguard Worker const flatbuffers::Vector<uint32_t> *data() const {
7674*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_DATA);
7675*89c4ff92SAndroid Build Coastguard Worker }
7676*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
7677*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
7678*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DATA) &&
7679*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVector(data()) &&
7680*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
7681*89c4ff92SAndroid Build Coastguard Worker }
7682*89c4ff92SAndroid Build Coastguard Worker };
7683*89c4ff92SAndroid Build Coastguard Worker
7684*89c4ff92SAndroid Build Coastguard Worker struct UintVectorBuilder {
7685*89c4ff92SAndroid Build Coastguard Worker typedef UintVector Table;
7686*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
7687*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
7688*89c4ff92SAndroid Build Coastguard Worker void add_data(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> data) {
7689*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(UintVector::VT_DATA, data);
7690*89c4ff92SAndroid Build Coastguard Worker }
7691*89c4ff92SAndroid Build Coastguard Worker explicit UintVectorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7692*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
7693*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
7694*89c4ff92SAndroid Build Coastguard Worker }
7695*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<UintVector> Finish() {
7696*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
7697*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<UintVector>(end);
7698*89c4ff92SAndroid Build Coastguard Worker return o;
7699*89c4ff92SAndroid Build Coastguard Worker }
7700*89c4ff92SAndroid Build Coastguard Worker };
7701*89c4ff92SAndroid Build Coastguard Worker
7702*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<UintVector> CreateUintVector(
7703*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
7704*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<flatbuffers::Vector<uint32_t>> data = 0) {
7705*89c4ff92SAndroid Build Coastguard Worker UintVectorBuilder builder_(_fbb);
7706*89c4ff92SAndroid Build Coastguard Worker builder_.add_data(data);
7707*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
7708*89c4ff92SAndroid Build Coastguard Worker }
7709*89c4ff92SAndroid Build Coastguard Worker
7710*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<UintVector> CreateUintVectorDirect(
7711*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
7712*89c4ff92SAndroid Build Coastguard Worker const std::vector<uint32_t> *data = nullptr) {
7713*89c4ff92SAndroid Build Coastguard Worker auto data__ = data ? _fbb.CreateVector<uint32_t>(*data) : 0;
7714*89c4ff92SAndroid Build Coastguard Worker return armnnSerializer::CreateUintVector(
7715*89c4ff92SAndroid Build Coastguard Worker _fbb,
7716*89c4ff92SAndroid Build Coastguard Worker data__);
7717*89c4ff92SAndroid Build Coastguard Worker }
7718*89c4ff92SAndroid Build Coastguard Worker
7719*89c4ff92SAndroid Build Coastguard Worker struct OriginsDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7720*89c4ff92SAndroid Build Coastguard Worker typedef OriginsDescriptorBuilder Builder;
7721*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7722*89c4ff92SAndroid Build Coastguard Worker VT_CONCATAXIS = 4,
7723*89c4ff92SAndroid Build Coastguard Worker VT_NUMVIEWS = 6,
7724*89c4ff92SAndroid Build Coastguard Worker VT_NUMDIMENSIONS = 8,
7725*89c4ff92SAndroid Build Coastguard Worker VT_VIEWORIGINS = 10
7726*89c4ff92SAndroid Build Coastguard Worker };
7727*89c4ff92SAndroid Build Coastguard Worker uint32_t concatAxis() const {
7728*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_CONCATAXIS, 0);
7729*89c4ff92SAndroid Build Coastguard Worker }
7730*89c4ff92SAndroid Build Coastguard Worker uint32_t numViews() const {
7731*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_NUMVIEWS, 0);
7732*89c4ff92SAndroid Build Coastguard Worker }
7733*89c4ff92SAndroid Build Coastguard Worker uint32_t numDimensions() const {
7734*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_NUMDIMENSIONS, 0);
7735*89c4ff92SAndroid Build Coastguard Worker }
7736*89c4ff92SAndroid Build Coastguard Worker const flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::UintVector>> *viewOrigins() const {
7737*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::UintVector>> *>(VT_VIEWORIGINS);
7738*89c4ff92SAndroid Build Coastguard Worker }
7739*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
7740*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
7741*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_CONCATAXIS, 4) &&
7742*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_NUMVIEWS, 4) &&
7743*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_NUMDIMENSIONS, 4) &&
7744*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_VIEWORIGINS) &&
7745*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVector(viewOrigins()) &&
7746*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVectorOfTables(viewOrigins()) &&
7747*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
7748*89c4ff92SAndroid Build Coastguard Worker }
7749*89c4ff92SAndroid Build Coastguard Worker };
7750*89c4ff92SAndroid Build Coastguard Worker
7751*89c4ff92SAndroid Build Coastguard Worker struct OriginsDescriptorBuilder {
7752*89c4ff92SAndroid Build Coastguard Worker typedef OriginsDescriptor Table;
7753*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
7754*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
7755*89c4ff92SAndroid Build Coastguard Worker void add_concatAxis(uint32_t concatAxis) {
7756*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(OriginsDescriptor::VT_CONCATAXIS, concatAxis, 0);
7757*89c4ff92SAndroid Build Coastguard Worker }
7758*89c4ff92SAndroid Build Coastguard Worker void add_numViews(uint32_t numViews) {
7759*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(OriginsDescriptor::VT_NUMVIEWS, numViews, 0);
7760*89c4ff92SAndroid Build Coastguard Worker }
7761*89c4ff92SAndroid Build Coastguard Worker void add_numDimensions(uint32_t numDimensions) {
7762*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(OriginsDescriptor::VT_NUMDIMENSIONS, numDimensions, 0);
7763*89c4ff92SAndroid Build Coastguard Worker }
7764*89c4ff92SAndroid Build Coastguard Worker void add_viewOrigins(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::UintVector>>> viewOrigins) {
7765*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(OriginsDescriptor::VT_VIEWORIGINS, viewOrigins);
7766*89c4ff92SAndroid Build Coastguard Worker }
7767*89c4ff92SAndroid Build Coastguard Worker explicit OriginsDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7768*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
7769*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
7770*89c4ff92SAndroid Build Coastguard Worker }
7771*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<OriginsDescriptor> Finish() {
7772*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
7773*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<OriginsDescriptor>(end);
7774*89c4ff92SAndroid Build Coastguard Worker return o;
7775*89c4ff92SAndroid Build Coastguard Worker }
7776*89c4ff92SAndroid Build Coastguard Worker };
7777*89c4ff92SAndroid Build Coastguard Worker
7778*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<OriginsDescriptor> CreateOriginsDescriptor(
7779*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
7780*89c4ff92SAndroid Build Coastguard Worker uint32_t concatAxis = 0,
7781*89c4ff92SAndroid Build Coastguard Worker uint32_t numViews = 0,
7782*89c4ff92SAndroid Build Coastguard Worker uint32_t numDimensions = 0,
7783*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::UintVector>>> viewOrigins = 0) {
7784*89c4ff92SAndroid Build Coastguard Worker OriginsDescriptorBuilder builder_(_fbb);
7785*89c4ff92SAndroid Build Coastguard Worker builder_.add_viewOrigins(viewOrigins);
7786*89c4ff92SAndroid Build Coastguard Worker builder_.add_numDimensions(numDimensions);
7787*89c4ff92SAndroid Build Coastguard Worker builder_.add_numViews(numViews);
7788*89c4ff92SAndroid Build Coastguard Worker builder_.add_concatAxis(concatAxis);
7789*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
7790*89c4ff92SAndroid Build Coastguard Worker }
7791*89c4ff92SAndroid Build Coastguard Worker
7792*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<OriginsDescriptor> CreateOriginsDescriptorDirect(
7793*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
7794*89c4ff92SAndroid Build Coastguard Worker uint32_t concatAxis = 0,
7795*89c4ff92SAndroid Build Coastguard Worker uint32_t numViews = 0,
7796*89c4ff92SAndroid Build Coastguard Worker uint32_t numDimensions = 0,
7797*89c4ff92SAndroid Build Coastguard Worker const std::vector<flatbuffers::Offset<armnnSerializer::UintVector>> *viewOrigins = nullptr) {
7798*89c4ff92SAndroid Build Coastguard Worker auto viewOrigins__ = viewOrigins ? _fbb.CreateVector<flatbuffers::Offset<armnnSerializer::UintVector>>(*viewOrigins) : 0;
7799*89c4ff92SAndroid Build Coastguard Worker return armnnSerializer::CreateOriginsDescriptor(
7800*89c4ff92SAndroid Build Coastguard Worker _fbb,
7801*89c4ff92SAndroid Build Coastguard Worker concatAxis,
7802*89c4ff92SAndroid Build Coastguard Worker numViews,
7803*89c4ff92SAndroid Build Coastguard Worker numDimensions,
7804*89c4ff92SAndroid Build Coastguard Worker viewOrigins__);
7805*89c4ff92SAndroid Build Coastguard Worker }
7806*89c4ff92SAndroid Build Coastguard Worker
7807*89c4ff92SAndroid Build Coastguard Worker struct ViewsDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7808*89c4ff92SAndroid Build Coastguard Worker typedef ViewsDescriptorBuilder Builder;
7809*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7810*89c4ff92SAndroid Build Coastguard Worker VT_ORIGINS = 4,
7811*89c4ff92SAndroid Build Coastguard Worker VT_VIEWSIZES = 6
7812*89c4ff92SAndroid Build Coastguard Worker };
7813*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::OriginsDescriptor *origins() const {
7814*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::OriginsDescriptor *>(VT_ORIGINS);
7815*89c4ff92SAndroid Build Coastguard Worker }
7816*89c4ff92SAndroid Build Coastguard Worker const flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::UintVector>> *viewSizes() const {
7817*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::UintVector>> *>(VT_VIEWSIZES);
7818*89c4ff92SAndroid Build Coastguard Worker }
7819*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
7820*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
7821*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_ORIGINS) &&
7822*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(origins()) &&
7823*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_VIEWSIZES) &&
7824*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVector(viewSizes()) &&
7825*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVectorOfTables(viewSizes()) &&
7826*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
7827*89c4ff92SAndroid Build Coastguard Worker }
7828*89c4ff92SAndroid Build Coastguard Worker };
7829*89c4ff92SAndroid Build Coastguard Worker
7830*89c4ff92SAndroid Build Coastguard Worker struct ViewsDescriptorBuilder {
7831*89c4ff92SAndroid Build Coastguard Worker typedef ViewsDescriptor Table;
7832*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
7833*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
7834*89c4ff92SAndroid Build Coastguard Worker void add_origins(flatbuffers::Offset<armnnSerializer::OriginsDescriptor> origins) {
7835*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ViewsDescriptor::VT_ORIGINS, origins);
7836*89c4ff92SAndroid Build Coastguard Worker }
7837*89c4ff92SAndroid Build Coastguard Worker void add_viewSizes(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::UintVector>>> viewSizes) {
7838*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ViewsDescriptor::VT_VIEWSIZES, viewSizes);
7839*89c4ff92SAndroid Build Coastguard Worker }
7840*89c4ff92SAndroid Build Coastguard Worker explicit ViewsDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7841*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
7842*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
7843*89c4ff92SAndroid Build Coastguard Worker }
7844*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<ViewsDescriptor> Finish() {
7845*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
7846*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<ViewsDescriptor>(end);
7847*89c4ff92SAndroid Build Coastguard Worker return o;
7848*89c4ff92SAndroid Build Coastguard Worker }
7849*89c4ff92SAndroid Build Coastguard Worker };
7850*89c4ff92SAndroid Build Coastguard Worker
7851*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<ViewsDescriptor> CreateViewsDescriptor(
7852*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
7853*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::OriginsDescriptor> origins = 0,
7854*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::UintVector>>> viewSizes = 0) {
7855*89c4ff92SAndroid Build Coastguard Worker ViewsDescriptorBuilder builder_(_fbb);
7856*89c4ff92SAndroid Build Coastguard Worker builder_.add_viewSizes(viewSizes);
7857*89c4ff92SAndroid Build Coastguard Worker builder_.add_origins(origins);
7858*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
7859*89c4ff92SAndroid Build Coastguard Worker }
7860*89c4ff92SAndroid Build Coastguard Worker
7861*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<ViewsDescriptor> CreateViewsDescriptorDirect(
7862*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
7863*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::OriginsDescriptor> origins = 0,
7864*89c4ff92SAndroid Build Coastguard Worker const std::vector<flatbuffers::Offset<armnnSerializer::UintVector>> *viewSizes = nullptr) {
7865*89c4ff92SAndroid Build Coastguard Worker auto viewSizes__ = viewSizes ? _fbb.CreateVector<flatbuffers::Offset<armnnSerializer::UintVector>>(*viewSizes) : 0;
7866*89c4ff92SAndroid Build Coastguard Worker return armnnSerializer::CreateViewsDescriptor(
7867*89c4ff92SAndroid Build Coastguard Worker _fbb,
7868*89c4ff92SAndroid Build Coastguard Worker origins,
7869*89c4ff92SAndroid Build Coastguard Worker viewSizes__);
7870*89c4ff92SAndroid Build Coastguard Worker }
7871*89c4ff92SAndroid Build Coastguard Worker
7872*89c4ff92SAndroid Build Coastguard Worker struct SplitterLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7873*89c4ff92SAndroid Build Coastguard Worker typedef SplitterLayerBuilder Builder;
7874*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7875*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
7876*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
7877*89c4ff92SAndroid Build Coastguard Worker };
7878*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
7879*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
7880*89c4ff92SAndroid Build Coastguard Worker }
7881*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ViewsDescriptor *descriptor() const {
7882*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ViewsDescriptor *>(VT_DESCRIPTOR);
7883*89c4ff92SAndroid Build Coastguard Worker }
7884*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
7885*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
7886*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
7887*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
7888*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
7889*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
7890*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
7891*89c4ff92SAndroid Build Coastguard Worker }
7892*89c4ff92SAndroid Build Coastguard Worker };
7893*89c4ff92SAndroid Build Coastguard Worker
7894*89c4ff92SAndroid Build Coastguard Worker struct SplitterLayerBuilder {
7895*89c4ff92SAndroid Build Coastguard Worker typedef SplitterLayer Table;
7896*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
7897*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
7898*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
7899*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(SplitterLayer::VT_BASE, base);
7900*89c4ff92SAndroid Build Coastguard Worker }
7901*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::ViewsDescriptor> descriptor) {
7902*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(SplitterLayer::VT_DESCRIPTOR, descriptor);
7903*89c4ff92SAndroid Build Coastguard Worker }
7904*89c4ff92SAndroid Build Coastguard Worker explicit SplitterLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7905*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
7906*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
7907*89c4ff92SAndroid Build Coastguard Worker }
7908*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<SplitterLayer> Finish() {
7909*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
7910*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<SplitterLayer>(end);
7911*89c4ff92SAndroid Build Coastguard Worker return o;
7912*89c4ff92SAndroid Build Coastguard Worker }
7913*89c4ff92SAndroid Build Coastguard Worker };
7914*89c4ff92SAndroid Build Coastguard Worker
7915*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<SplitterLayer> CreateSplitterLayer(
7916*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
7917*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
7918*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ViewsDescriptor> descriptor = 0) {
7919*89c4ff92SAndroid Build Coastguard Worker SplitterLayerBuilder builder_(_fbb);
7920*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
7921*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
7922*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
7923*89c4ff92SAndroid Build Coastguard Worker }
7924*89c4ff92SAndroid Build Coastguard Worker
7925*89c4ff92SAndroid Build Coastguard Worker struct DetectionPostProcessLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7926*89c4ff92SAndroid Build Coastguard Worker typedef DetectionPostProcessLayerBuilder Builder;
7927*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7928*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
7929*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6,
7930*89c4ff92SAndroid Build Coastguard Worker VT_ANCHORS = 8
7931*89c4ff92SAndroid Build Coastguard Worker };
7932*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
7933*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
7934*89c4ff92SAndroid Build Coastguard Worker }
7935*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::DetectionPostProcessDescriptor *descriptor() const {
7936*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::DetectionPostProcessDescriptor *>(VT_DESCRIPTOR);
7937*89c4ff92SAndroid Build Coastguard Worker }
7938*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *anchors() const {
7939*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_ANCHORS);
7940*89c4ff92SAndroid Build Coastguard Worker }
7941*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
7942*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
7943*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
7944*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
7945*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
7946*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
7947*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_ANCHORS) &&
7948*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(anchors()) &&
7949*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
7950*89c4ff92SAndroid Build Coastguard Worker }
7951*89c4ff92SAndroid Build Coastguard Worker };
7952*89c4ff92SAndroid Build Coastguard Worker
7953*89c4ff92SAndroid Build Coastguard Worker struct DetectionPostProcessLayerBuilder {
7954*89c4ff92SAndroid Build Coastguard Worker typedef DetectionPostProcessLayer Table;
7955*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
7956*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
7957*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
7958*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(DetectionPostProcessLayer::VT_BASE, base);
7959*89c4ff92SAndroid Build Coastguard Worker }
7960*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::DetectionPostProcessDescriptor> descriptor) {
7961*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(DetectionPostProcessLayer::VT_DESCRIPTOR, descriptor);
7962*89c4ff92SAndroid Build Coastguard Worker }
7963*89c4ff92SAndroid Build Coastguard Worker void add_anchors(flatbuffers::Offset<armnnSerializer::ConstTensor> anchors) {
7964*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(DetectionPostProcessLayer::VT_ANCHORS, anchors);
7965*89c4ff92SAndroid Build Coastguard Worker }
7966*89c4ff92SAndroid Build Coastguard Worker explicit DetectionPostProcessLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
7967*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
7968*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
7969*89c4ff92SAndroid Build Coastguard Worker }
7970*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<DetectionPostProcessLayer> Finish() {
7971*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
7972*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<DetectionPostProcessLayer>(end);
7973*89c4ff92SAndroid Build Coastguard Worker return o;
7974*89c4ff92SAndroid Build Coastguard Worker }
7975*89c4ff92SAndroid Build Coastguard Worker };
7976*89c4ff92SAndroid Build Coastguard Worker
7977*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<DetectionPostProcessLayer> CreateDetectionPostProcessLayer(
7978*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
7979*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
7980*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::DetectionPostProcessDescriptor> descriptor = 0,
7981*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> anchors = 0) {
7982*89c4ff92SAndroid Build Coastguard Worker DetectionPostProcessLayerBuilder builder_(_fbb);
7983*89c4ff92SAndroid Build Coastguard Worker builder_.add_anchors(anchors);
7984*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
7985*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
7986*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
7987*89c4ff92SAndroid Build Coastguard Worker }
7988*89c4ff92SAndroid Build Coastguard Worker
7989*89c4ff92SAndroid Build Coastguard Worker struct DetectionPostProcessDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
7990*89c4ff92SAndroid Build Coastguard Worker typedef DetectionPostProcessDescriptorBuilder Builder;
7991*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
7992*89c4ff92SAndroid Build Coastguard Worker VT_MAXDETECTIONS = 4,
7993*89c4ff92SAndroid Build Coastguard Worker VT_MAXCLASSESPERDETECTION = 6,
7994*89c4ff92SAndroid Build Coastguard Worker VT_DETECTIONSPERCLASS = 8,
7995*89c4ff92SAndroid Build Coastguard Worker VT_NMSSCORETHRESHOLD = 10,
7996*89c4ff92SAndroid Build Coastguard Worker VT_NMSIOUTHRESHOLD = 12,
7997*89c4ff92SAndroid Build Coastguard Worker VT_NUMCLASSES = 14,
7998*89c4ff92SAndroid Build Coastguard Worker VT_USEREGULARNMS = 16,
7999*89c4ff92SAndroid Build Coastguard Worker VT_SCALEX = 18,
8000*89c4ff92SAndroid Build Coastguard Worker VT_SCALEY = 20,
8001*89c4ff92SAndroid Build Coastguard Worker VT_SCALEW = 22,
8002*89c4ff92SAndroid Build Coastguard Worker VT_SCALEH = 24
8003*89c4ff92SAndroid Build Coastguard Worker };
8004*89c4ff92SAndroid Build Coastguard Worker uint32_t maxDetections() const {
8005*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_MAXDETECTIONS, 0);
8006*89c4ff92SAndroid Build Coastguard Worker }
8007*89c4ff92SAndroid Build Coastguard Worker uint32_t maxClassesPerDetection() const {
8008*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_MAXCLASSESPERDETECTION, 0);
8009*89c4ff92SAndroid Build Coastguard Worker }
8010*89c4ff92SAndroid Build Coastguard Worker uint32_t detectionsPerClass() const {
8011*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_DETECTIONSPERCLASS, 0);
8012*89c4ff92SAndroid Build Coastguard Worker }
8013*89c4ff92SAndroid Build Coastguard Worker float nmsScoreThreshold() const {
8014*89c4ff92SAndroid Build Coastguard Worker return GetField<float>(VT_NMSSCORETHRESHOLD, 0.0f);
8015*89c4ff92SAndroid Build Coastguard Worker }
8016*89c4ff92SAndroid Build Coastguard Worker float nmsIouThreshold() const {
8017*89c4ff92SAndroid Build Coastguard Worker return GetField<float>(VT_NMSIOUTHRESHOLD, 0.0f);
8018*89c4ff92SAndroid Build Coastguard Worker }
8019*89c4ff92SAndroid Build Coastguard Worker uint32_t numClasses() const {
8020*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_NUMCLASSES, 0);
8021*89c4ff92SAndroid Build Coastguard Worker }
8022*89c4ff92SAndroid Build Coastguard Worker bool useRegularNms() const {
8023*89c4ff92SAndroid Build Coastguard Worker return GetField<uint8_t>(VT_USEREGULARNMS, 0) != 0;
8024*89c4ff92SAndroid Build Coastguard Worker }
8025*89c4ff92SAndroid Build Coastguard Worker float scaleX() const {
8026*89c4ff92SAndroid Build Coastguard Worker return GetField<float>(VT_SCALEX, 0.0f);
8027*89c4ff92SAndroid Build Coastguard Worker }
8028*89c4ff92SAndroid Build Coastguard Worker float scaleY() const {
8029*89c4ff92SAndroid Build Coastguard Worker return GetField<float>(VT_SCALEY, 0.0f);
8030*89c4ff92SAndroid Build Coastguard Worker }
8031*89c4ff92SAndroid Build Coastguard Worker float scaleW() const {
8032*89c4ff92SAndroid Build Coastguard Worker return GetField<float>(VT_SCALEW, 0.0f);
8033*89c4ff92SAndroid Build Coastguard Worker }
8034*89c4ff92SAndroid Build Coastguard Worker float scaleH() const {
8035*89c4ff92SAndroid Build Coastguard Worker return GetField<float>(VT_SCALEH, 0.0f);
8036*89c4ff92SAndroid Build Coastguard Worker }
8037*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
8038*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
8039*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_MAXDETECTIONS, 4) &&
8040*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_MAXCLASSESPERDETECTION, 4) &&
8041*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_DETECTIONSPERCLASS, 4) &&
8042*89c4ff92SAndroid Build Coastguard Worker VerifyField<float>(verifier, VT_NMSSCORETHRESHOLD, 4) &&
8043*89c4ff92SAndroid Build Coastguard Worker VerifyField<float>(verifier, VT_NMSIOUTHRESHOLD, 4) &&
8044*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_NUMCLASSES, 4) &&
8045*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_USEREGULARNMS, 1) &&
8046*89c4ff92SAndroid Build Coastguard Worker VerifyField<float>(verifier, VT_SCALEX, 4) &&
8047*89c4ff92SAndroid Build Coastguard Worker VerifyField<float>(verifier, VT_SCALEY, 4) &&
8048*89c4ff92SAndroid Build Coastguard Worker VerifyField<float>(verifier, VT_SCALEW, 4) &&
8049*89c4ff92SAndroid Build Coastguard Worker VerifyField<float>(verifier, VT_SCALEH, 4) &&
8050*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
8051*89c4ff92SAndroid Build Coastguard Worker }
8052*89c4ff92SAndroid Build Coastguard Worker };
8053*89c4ff92SAndroid Build Coastguard Worker
8054*89c4ff92SAndroid Build Coastguard Worker struct DetectionPostProcessDescriptorBuilder {
8055*89c4ff92SAndroid Build Coastguard Worker typedef DetectionPostProcessDescriptor Table;
8056*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
8057*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
8058*89c4ff92SAndroid Build Coastguard Worker void add_maxDetections(uint32_t maxDetections) {
8059*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(DetectionPostProcessDescriptor::VT_MAXDETECTIONS, maxDetections, 0);
8060*89c4ff92SAndroid Build Coastguard Worker }
8061*89c4ff92SAndroid Build Coastguard Worker void add_maxClassesPerDetection(uint32_t maxClassesPerDetection) {
8062*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(DetectionPostProcessDescriptor::VT_MAXCLASSESPERDETECTION, maxClassesPerDetection, 0);
8063*89c4ff92SAndroid Build Coastguard Worker }
8064*89c4ff92SAndroid Build Coastguard Worker void add_detectionsPerClass(uint32_t detectionsPerClass) {
8065*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(DetectionPostProcessDescriptor::VT_DETECTIONSPERCLASS, detectionsPerClass, 0);
8066*89c4ff92SAndroid Build Coastguard Worker }
8067*89c4ff92SAndroid Build Coastguard Worker void add_nmsScoreThreshold(float nmsScoreThreshold) {
8068*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<float>(DetectionPostProcessDescriptor::VT_NMSSCORETHRESHOLD, nmsScoreThreshold, 0.0f);
8069*89c4ff92SAndroid Build Coastguard Worker }
8070*89c4ff92SAndroid Build Coastguard Worker void add_nmsIouThreshold(float nmsIouThreshold) {
8071*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<float>(DetectionPostProcessDescriptor::VT_NMSIOUTHRESHOLD, nmsIouThreshold, 0.0f);
8072*89c4ff92SAndroid Build Coastguard Worker }
8073*89c4ff92SAndroid Build Coastguard Worker void add_numClasses(uint32_t numClasses) {
8074*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(DetectionPostProcessDescriptor::VT_NUMCLASSES, numClasses, 0);
8075*89c4ff92SAndroid Build Coastguard Worker }
8076*89c4ff92SAndroid Build Coastguard Worker void add_useRegularNms(bool useRegularNms) {
8077*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(DetectionPostProcessDescriptor::VT_USEREGULARNMS, static_cast<uint8_t>(useRegularNms), 0);
8078*89c4ff92SAndroid Build Coastguard Worker }
8079*89c4ff92SAndroid Build Coastguard Worker void add_scaleX(float scaleX) {
8080*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<float>(DetectionPostProcessDescriptor::VT_SCALEX, scaleX, 0.0f);
8081*89c4ff92SAndroid Build Coastguard Worker }
8082*89c4ff92SAndroid Build Coastguard Worker void add_scaleY(float scaleY) {
8083*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<float>(DetectionPostProcessDescriptor::VT_SCALEY, scaleY, 0.0f);
8084*89c4ff92SAndroid Build Coastguard Worker }
8085*89c4ff92SAndroid Build Coastguard Worker void add_scaleW(float scaleW) {
8086*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<float>(DetectionPostProcessDescriptor::VT_SCALEW, scaleW, 0.0f);
8087*89c4ff92SAndroid Build Coastguard Worker }
8088*89c4ff92SAndroid Build Coastguard Worker void add_scaleH(float scaleH) {
8089*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<float>(DetectionPostProcessDescriptor::VT_SCALEH, scaleH, 0.0f);
8090*89c4ff92SAndroid Build Coastguard Worker }
8091*89c4ff92SAndroid Build Coastguard Worker explicit DetectionPostProcessDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
8092*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
8093*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
8094*89c4ff92SAndroid Build Coastguard Worker }
8095*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<DetectionPostProcessDescriptor> Finish() {
8096*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
8097*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<DetectionPostProcessDescriptor>(end);
8098*89c4ff92SAndroid Build Coastguard Worker return o;
8099*89c4ff92SAndroid Build Coastguard Worker }
8100*89c4ff92SAndroid Build Coastguard Worker };
8101*89c4ff92SAndroid Build Coastguard Worker
8102*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<DetectionPostProcessDescriptor> CreateDetectionPostProcessDescriptor(
8103*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
8104*89c4ff92SAndroid Build Coastguard Worker uint32_t maxDetections = 0,
8105*89c4ff92SAndroid Build Coastguard Worker uint32_t maxClassesPerDetection = 0,
8106*89c4ff92SAndroid Build Coastguard Worker uint32_t detectionsPerClass = 0,
8107*89c4ff92SAndroid Build Coastguard Worker float nmsScoreThreshold = 0.0f,
8108*89c4ff92SAndroid Build Coastguard Worker float nmsIouThreshold = 0.0f,
8109*89c4ff92SAndroid Build Coastguard Worker uint32_t numClasses = 0,
8110*89c4ff92SAndroid Build Coastguard Worker bool useRegularNms = false,
8111*89c4ff92SAndroid Build Coastguard Worker float scaleX = 0.0f,
8112*89c4ff92SAndroid Build Coastguard Worker float scaleY = 0.0f,
8113*89c4ff92SAndroid Build Coastguard Worker float scaleW = 0.0f,
8114*89c4ff92SAndroid Build Coastguard Worker float scaleH = 0.0f) {
8115*89c4ff92SAndroid Build Coastguard Worker DetectionPostProcessDescriptorBuilder builder_(_fbb);
8116*89c4ff92SAndroid Build Coastguard Worker builder_.add_scaleH(scaleH);
8117*89c4ff92SAndroid Build Coastguard Worker builder_.add_scaleW(scaleW);
8118*89c4ff92SAndroid Build Coastguard Worker builder_.add_scaleY(scaleY);
8119*89c4ff92SAndroid Build Coastguard Worker builder_.add_scaleX(scaleX);
8120*89c4ff92SAndroid Build Coastguard Worker builder_.add_numClasses(numClasses);
8121*89c4ff92SAndroid Build Coastguard Worker builder_.add_nmsIouThreshold(nmsIouThreshold);
8122*89c4ff92SAndroid Build Coastguard Worker builder_.add_nmsScoreThreshold(nmsScoreThreshold);
8123*89c4ff92SAndroid Build Coastguard Worker builder_.add_detectionsPerClass(detectionsPerClass);
8124*89c4ff92SAndroid Build Coastguard Worker builder_.add_maxClassesPerDetection(maxClassesPerDetection);
8125*89c4ff92SAndroid Build Coastguard Worker builder_.add_maxDetections(maxDetections);
8126*89c4ff92SAndroid Build Coastguard Worker builder_.add_useRegularNms(useRegularNms);
8127*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
8128*89c4ff92SAndroid Build Coastguard Worker }
8129*89c4ff92SAndroid Build Coastguard Worker
8130*89c4ff92SAndroid Build Coastguard Worker struct LstmInputParams FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
8131*89c4ff92SAndroid Build Coastguard Worker typedef LstmInputParamsBuilder Builder;
8132*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
8133*89c4ff92SAndroid Build Coastguard Worker VT_INPUTTOFORGETWEIGHTS = 4,
8134*89c4ff92SAndroid Build Coastguard Worker VT_INPUTTOCELLWEIGHTS = 6,
8135*89c4ff92SAndroid Build Coastguard Worker VT_INPUTTOOUTPUTWEIGHTS = 8,
8136*89c4ff92SAndroid Build Coastguard Worker VT_RECURRENTTOFORGETWEIGHTS = 10,
8137*89c4ff92SAndroid Build Coastguard Worker VT_RECURRENTTOCELLWEIGHTS = 12,
8138*89c4ff92SAndroid Build Coastguard Worker VT_RECURRENTTOOUTPUTWEIGHTS = 14,
8139*89c4ff92SAndroid Build Coastguard Worker VT_FORGETGATEBIAS = 16,
8140*89c4ff92SAndroid Build Coastguard Worker VT_CELLBIAS = 18,
8141*89c4ff92SAndroid Build Coastguard Worker VT_OUTPUTGATEBIAS = 20,
8142*89c4ff92SAndroid Build Coastguard Worker VT_INPUTTOINPUTWEIGHTS = 22,
8143*89c4ff92SAndroid Build Coastguard Worker VT_RECURRENTTOINPUTWEIGHTS = 24,
8144*89c4ff92SAndroid Build Coastguard Worker VT_CELLTOINPUTWEIGHTS = 26,
8145*89c4ff92SAndroid Build Coastguard Worker VT_INPUTGATEBIAS = 28,
8146*89c4ff92SAndroid Build Coastguard Worker VT_PROJECTIONWEIGHTS = 30,
8147*89c4ff92SAndroid Build Coastguard Worker VT_PROJECTIONBIAS = 32,
8148*89c4ff92SAndroid Build Coastguard Worker VT_CELLTOFORGETWEIGHTS = 34,
8149*89c4ff92SAndroid Build Coastguard Worker VT_CELLTOOUTPUTWEIGHTS = 36,
8150*89c4ff92SAndroid Build Coastguard Worker VT_INPUTLAYERNORMWEIGHTS = 38,
8151*89c4ff92SAndroid Build Coastguard Worker VT_FORGETLAYERNORMWEIGHTS = 40,
8152*89c4ff92SAndroid Build Coastguard Worker VT_CELLLAYERNORMWEIGHTS = 42,
8153*89c4ff92SAndroid Build Coastguard Worker VT_OUTPUTLAYERNORMWEIGHTS = 44
8154*89c4ff92SAndroid Build Coastguard Worker };
8155*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *inputToForgetWeights() const {
8156*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOFORGETWEIGHTS);
8157*89c4ff92SAndroid Build Coastguard Worker }
8158*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *inputToCellWeights() const {
8159*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOCELLWEIGHTS);
8160*89c4ff92SAndroid Build Coastguard Worker }
8161*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *inputToOutputWeights() const {
8162*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOOUTPUTWEIGHTS);
8163*89c4ff92SAndroid Build Coastguard Worker }
8164*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *recurrentToForgetWeights() const {
8165*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOFORGETWEIGHTS);
8166*89c4ff92SAndroid Build Coastguard Worker }
8167*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *recurrentToCellWeights() const {
8168*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOCELLWEIGHTS);
8169*89c4ff92SAndroid Build Coastguard Worker }
8170*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *recurrentToOutputWeights() const {
8171*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOOUTPUTWEIGHTS);
8172*89c4ff92SAndroid Build Coastguard Worker }
8173*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *forgetGateBias() const {
8174*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_FORGETGATEBIAS);
8175*89c4ff92SAndroid Build Coastguard Worker }
8176*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *cellBias() const {
8177*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLBIAS);
8178*89c4ff92SAndroid Build Coastguard Worker }
8179*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *outputGateBias() const {
8180*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_OUTPUTGATEBIAS);
8181*89c4ff92SAndroid Build Coastguard Worker }
8182*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *inputToInputWeights() const {
8183*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOINPUTWEIGHTS);
8184*89c4ff92SAndroid Build Coastguard Worker }
8185*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *recurrentToInputWeights() const {
8186*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOINPUTWEIGHTS);
8187*89c4ff92SAndroid Build Coastguard Worker }
8188*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *cellToInputWeights() const {
8189*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLTOINPUTWEIGHTS);
8190*89c4ff92SAndroid Build Coastguard Worker }
8191*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *inputGateBias() const {
8192*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTGATEBIAS);
8193*89c4ff92SAndroid Build Coastguard Worker }
8194*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *projectionWeights() const {
8195*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_PROJECTIONWEIGHTS);
8196*89c4ff92SAndroid Build Coastguard Worker }
8197*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *projectionBias() const {
8198*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_PROJECTIONBIAS);
8199*89c4ff92SAndroid Build Coastguard Worker }
8200*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *cellToForgetWeights() const {
8201*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLTOFORGETWEIGHTS);
8202*89c4ff92SAndroid Build Coastguard Worker }
8203*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *cellToOutputWeights() const {
8204*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLTOOUTPUTWEIGHTS);
8205*89c4ff92SAndroid Build Coastguard Worker }
8206*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *inputLayerNormWeights() const {
8207*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTLAYERNORMWEIGHTS);
8208*89c4ff92SAndroid Build Coastguard Worker }
8209*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *forgetLayerNormWeights() const {
8210*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_FORGETLAYERNORMWEIGHTS);
8211*89c4ff92SAndroid Build Coastguard Worker }
8212*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *cellLayerNormWeights() const {
8213*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLLAYERNORMWEIGHTS);
8214*89c4ff92SAndroid Build Coastguard Worker }
8215*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *outputLayerNormWeights() const {
8216*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_OUTPUTLAYERNORMWEIGHTS);
8217*89c4ff92SAndroid Build Coastguard Worker }
8218*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
8219*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
8220*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_INPUTTOFORGETWEIGHTS) &&
8221*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(inputToForgetWeights()) &&
8222*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_INPUTTOCELLWEIGHTS) &&
8223*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(inputToCellWeights()) &&
8224*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_INPUTTOOUTPUTWEIGHTS) &&
8225*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(inputToOutputWeights()) &&
8226*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_RECURRENTTOFORGETWEIGHTS) &&
8227*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(recurrentToForgetWeights()) &&
8228*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_RECURRENTTOCELLWEIGHTS) &&
8229*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(recurrentToCellWeights()) &&
8230*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_RECURRENTTOOUTPUTWEIGHTS) &&
8231*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(recurrentToOutputWeights()) &&
8232*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_FORGETGATEBIAS) &&
8233*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(forgetGateBias()) &&
8234*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_CELLBIAS) &&
8235*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(cellBias()) &&
8236*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_OUTPUTGATEBIAS) &&
8237*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(outputGateBias()) &&
8238*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_INPUTTOINPUTWEIGHTS) &&
8239*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(inputToInputWeights()) &&
8240*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_RECURRENTTOINPUTWEIGHTS) &&
8241*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(recurrentToInputWeights()) &&
8242*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_CELLTOINPUTWEIGHTS) &&
8243*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(cellToInputWeights()) &&
8244*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_INPUTGATEBIAS) &&
8245*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(inputGateBias()) &&
8246*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_PROJECTIONWEIGHTS) &&
8247*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(projectionWeights()) &&
8248*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_PROJECTIONBIAS) &&
8249*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(projectionBias()) &&
8250*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_CELLTOFORGETWEIGHTS) &&
8251*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(cellToForgetWeights()) &&
8252*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_CELLTOOUTPUTWEIGHTS) &&
8253*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(cellToOutputWeights()) &&
8254*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_INPUTLAYERNORMWEIGHTS) &&
8255*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(inputLayerNormWeights()) &&
8256*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_FORGETLAYERNORMWEIGHTS) &&
8257*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(forgetLayerNormWeights()) &&
8258*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_CELLLAYERNORMWEIGHTS) &&
8259*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(cellLayerNormWeights()) &&
8260*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_OUTPUTLAYERNORMWEIGHTS) &&
8261*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(outputLayerNormWeights()) &&
8262*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
8263*89c4ff92SAndroid Build Coastguard Worker }
8264*89c4ff92SAndroid Build Coastguard Worker };
8265*89c4ff92SAndroid Build Coastguard Worker
8266*89c4ff92SAndroid Build Coastguard Worker struct LstmInputParamsBuilder {
8267*89c4ff92SAndroid Build Coastguard Worker typedef LstmInputParams Table;
8268*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
8269*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
8270*89c4ff92SAndroid Build Coastguard Worker void add_inputToForgetWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToForgetWeights) {
8271*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(LstmInputParams::VT_INPUTTOFORGETWEIGHTS, inputToForgetWeights);
8272*89c4ff92SAndroid Build Coastguard Worker }
8273*89c4ff92SAndroid Build Coastguard Worker void add_inputToCellWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToCellWeights) {
8274*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(LstmInputParams::VT_INPUTTOCELLWEIGHTS, inputToCellWeights);
8275*89c4ff92SAndroid Build Coastguard Worker }
8276*89c4ff92SAndroid Build Coastguard Worker void add_inputToOutputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToOutputWeights) {
8277*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(LstmInputParams::VT_INPUTTOOUTPUTWEIGHTS, inputToOutputWeights);
8278*89c4ff92SAndroid Build Coastguard Worker }
8279*89c4ff92SAndroid Build Coastguard Worker void add_recurrentToForgetWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToForgetWeights) {
8280*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(LstmInputParams::VT_RECURRENTTOFORGETWEIGHTS, recurrentToForgetWeights);
8281*89c4ff92SAndroid Build Coastguard Worker }
8282*89c4ff92SAndroid Build Coastguard Worker void add_recurrentToCellWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToCellWeights) {
8283*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(LstmInputParams::VT_RECURRENTTOCELLWEIGHTS, recurrentToCellWeights);
8284*89c4ff92SAndroid Build Coastguard Worker }
8285*89c4ff92SAndroid Build Coastguard Worker void add_recurrentToOutputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToOutputWeights) {
8286*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(LstmInputParams::VT_RECURRENTTOOUTPUTWEIGHTS, recurrentToOutputWeights);
8287*89c4ff92SAndroid Build Coastguard Worker }
8288*89c4ff92SAndroid Build Coastguard Worker void add_forgetGateBias(flatbuffers::Offset<armnnSerializer::ConstTensor> forgetGateBias) {
8289*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(LstmInputParams::VT_FORGETGATEBIAS, forgetGateBias);
8290*89c4ff92SAndroid Build Coastguard Worker }
8291*89c4ff92SAndroid Build Coastguard Worker void add_cellBias(flatbuffers::Offset<armnnSerializer::ConstTensor> cellBias) {
8292*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(LstmInputParams::VT_CELLBIAS, cellBias);
8293*89c4ff92SAndroid Build Coastguard Worker }
8294*89c4ff92SAndroid Build Coastguard Worker void add_outputGateBias(flatbuffers::Offset<armnnSerializer::ConstTensor> outputGateBias) {
8295*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(LstmInputParams::VT_OUTPUTGATEBIAS, outputGateBias);
8296*89c4ff92SAndroid Build Coastguard Worker }
8297*89c4ff92SAndroid Build Coastguard Worker void add_inputToInputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToInputWeights) {
8298*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(LstmInputParams::VT_INPUTTOINPUTWEIGHTS, inputToInputWeights);
8299*89c4ff92SAndroid Build Coastguard Worker }
8300*89c4ff92SAndroid Build Coastguard Worker void add_recurrentToInputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToInputWeights) {
8301*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(LstmInputParams::VT_RECURRENTTOINPUTWEIGHTS, recurrentToInputWeights);
8302*89c4ff92SAndroid Build Coastguard Worker }
8303*89c4ff92SAndroid Build Coastguard Worker void add_cellToInputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> cellToInputWeights) {
8304*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(LstmInputParams::VT_CELLTOINPUTWEIGHTS, cellToInputWeights);
8305*89c4ff92SAndroid Build Coastguard Worker }
8306*89c4ff92SAndroid Build Coastguard Worker void add_inputGateBias(flatbuffers::Offset<armnnSerializer::ConstTensor> inputGateBias) {
8307*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(LstmInputParams::VT_INPUTGATEBIAS, inputGateBias);
8308*89c4ff92SAndroid Build Coastguard Worker }
8309*89c4ff92SAndroid Build Coastguard Worker void add_projectionWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> projectionWeights) {
8310*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(LstmInputParams::VT_PROJECTIONWEIGHTS, projectionWeights);
8311*89c4ff92SAndroid Build Coastguard Worker }
8312*89c4ff92SAndroid Build Coastguard Worker void add_projectionBias(flatbuffers::Offset<armnnSerializer::ConstTensor> projectionBias) {
8313*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(LstmInputParams::VT_PROJECTIONBIAS, projectionBias);
8314*89c4ff92SAndroid Build Coastguard Worker }
8315*89c4ff92SAndroid Build Coastguard Worker void add_cellToForgetWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> cellToForgetWeights) {
8316*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(LstmInputParams::VT_CELLTOFORGETWEIGHTS, cellToForgetWeights);
8317*89c4ff92SAndroid Build Coastguard Worker }
8318*89c4ff92SAndroid Build Coastguard Worker void add_cellToOutputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> cellToOutputWeights) {
8319*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(LstmInputParams::VT_CELLTOOUTPUTWEIGHTS, cellToOutputWeights);
8320*89c4ff92SAndroid Build Coastguard Worker }
8321*89c4ff92SAndroid Build Coastguard Worker void add_inputLayerNormWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputLayerNormWeights) {
8322*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(LstmInputParams::VT_INPUTLAYERNORMWEIGHTS, inputLayerNormWeights);
8323*89c4ff92SAndroid Build Coastguard Worker }
8324*89c4ff92SAndroid Build Coastguard Worker void add_forgetLayerNormWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> forgetLayerNormWeights) {
8325*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(LstmInputParams::VT_FORGETLAYERNORMWEIGHTS, forgetLayerNormWeights);
8326*89c4ff92SAndroid Build Coastguard Worker }
8327*89c4ff92SAndroid Build Coastguard Worker void add_cellLayerNormWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> cellLayerNormWeights) {
8328*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(LstmInputParams::VT_CELLLAYERNORMWEIGHTS, cellLayerNormWeights);
8329*89c4ff92SAndroid Build Coastguard Worker }
8330*89c4ff92SAndroid Build Coastguard Worker void add_outputLayerNormWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> outputLayerNormWeights) {
8331*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(LstmInputParams::VT_OUTPUTLAYERNORMWEIGHTS, outputLayerNormWeights);
8332*89c4ff92SAndroid Build Coastguard Worker }
8333*89c4ff92SAndroid Build Coastguard Worker explicit LstmInputParamsBuilder(flatbuffers::FlatBufferBuilder &_fbb)
8334*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
8335*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
8336*89c4ff92SAndroid Build Coastguard Worker }
8337*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<LstmInputParams> Finish() {
8338*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
8339*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<LstmInputParams>(end);
8340*89c4ff92SAndroid Build Coastguard Worker return o;
8341*89c4ff92SAndroid Build Coastguard Worker }
8342*89c4ff92SAndroid Build Coastguard Worker };
8343*89c4ff92SAndroid Build Coastguard Worker
8344*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<LstmInputParams> CreateLstmInputParams(
8345*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
8346*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> inputToForgetWeights = 0,
8347*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> inputToCellWeights = 0,
8348*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> inputToOutputWeights = 0,
8349*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToForgetWeights = 0,
8350*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToCellWeights = 0,
8351*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToOutputWeights = 0,
8352*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> forgetGateBias = 0,
8353*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> cellBias = 0,
8354*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> outputGateBias = 0,
8355*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> inputToInputWeights = 0,
8356*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToInputWeights = 0,
8357*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> cellToInputWeights = 0,
8358*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> inputGateBias = 0,
8359*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> projectionWeights = 0,
8360*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> projectionBias = 0,
8361*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> cellToForgetWeights = 0,
8362*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> cellToOutputWeights = 0,
8363*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> inputLayerNormWeights = 0,
8364*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> forgetLayerNormWeights = 0,
8365*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> cellLayerNormWeights = 0,
8366*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> outputLayerNormWeights = 0) {
8367*89c4ff92SAndroid Build Coastguard Worker LstmInputParamsBuilder builder_(_fbb);
8368*89c4ff92SAndroid Build Coastguard Worker builder_.add_outputLayerNormWeights(outputLayerNormWeights);
8369*89c4ff92SAndroid Build Coastguard Worker builder_.add_cellLayerNormWeights(cellLayerNormWeights);
8370*89c4ff92SAndroid Build Coastguard Worker builder_.add_forgetLayerNormWeights(forgetLayerNormWeights);
8371*89c4ff92SAndroid Build Coastguard Worker builder_.add_inputLayerNormWeights(inputLayerNormWeights);
8372*89c4ff92SAndroid Build Coastguard Worker builder_.add_cellToOutputWeights(cellToOutputWeights);
8373*89c4ff92SAndroid Build Coastguard Worker builder_.add_cellToForgetWeights(cellToForgetWeights);
8374*89c4ff92SAndroid Build Coastguard Worker builder_.add_projectionBias(projectionBias);
8375*89c4ff92SAndroid Build Coastguard Worker builder_.add_projectionWeights(projectionWeights);
8376*89c4ff92SAndroid Build Coastguard Worker builder_.add_inputGateBias(inputGateBias);
8377*89c4ff92SAndroid Build Coastguard Worker builder_.add_cellToInputWeights(cellToInputWeights);
8378*89c4ff92SAndroid Build Coastguard Worker builder_.add_recurrentToInputWeights(recurrentToInputWeights);
8379*89c4ff92SAndroid Build Coastguard Worker builder_.add_inputToInputWeights(inputToInputWeights);
8380*89c4ff92SAndroid Build Coastguard Worker builder_.add_outputGateBias(outputGateBias);
8381*89c4ff92SAndroid Build Coastguard Worker builder_.add_cellBias(cellBias);
8382*89c4ff92SAndroid Build Coastguard Worker builder_.add_forgetGateBias(forgetGateBias);
8383*89c4ff92SAndroid Build Coastguard Worker builder_.add_recurrentToOutputWeights(recurrentToOutputWeights);
8384*89c4ff92SAndroid Build Coastguard Worker builder_.add_recurrentToCellWeights(recurrentToCellWeights);
8385*89c4ff92SAndroid Build Coastguard Worker builder_.add_recurrentToForgetWeights(recurrentToForgetWeights);
8386*89c4ff92SAndroid Build Coastguard Worker builder_.add_inputToOutputWeights(inputToOutputWeights);
8387*89c4ff92SAndroid Build Coastguard Worker builder_.add_inputToCellWeights(inputToCellWeights);
8388*89c4ff92SAndroid Build Coastguard Worker builder_.add_inputToForgetWeights(inputToForgetWeights);
8389*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
8390*89c4ff92SAndroid Build Coastguard Worker }
8391*89c4ff92SAndroid Build Coastguard Worker
8392*89c4ff92SAndroid Build Coastguard Worker struct LstmDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
8393*89c4ff92SAndroid Build Coastguard Worker typedef LstmDescriptorBuilder Builder;
8394*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
8395*89c4ff92SAndroid Build Coastguard Worker VT_ACTIVATIONFUNC = 4,
8396*89c4ff92SAndroid Build Coastguard Worker VT_CLIPPINGTHRESCELL = 6,
8397*89c4ff92SAndroid Build Coastguard Worker VT_CLIPPINGTHRESPROJ = 8,
8398*89c4ff92SAndroid Build Coastguard Worker VT_CIFGENABLED = 10,
8399*89c4ff92SAndroid Build Coastguard Worker VT_PEEPHOLEENABLED = 12,
8400*89c4ff92SAndroid Build Coastguard Worker VT_PROJECTIONENABLED = 14,
8401*89c4ff92SAndroid Build Coastguard Worker VT_LAYERNORMENABLED = 16
8402*89c4ff92SAndroid Build Coastguard Worker };
8403*89c4ff92SAndroid Build Coastguard Worker uint32_t activationFunc() const {
8404*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_ACTIVATIONFUNC, 0);
8405*89c4ff92SAndroid Build Coastguard Worker }
8406*89c4ff92SAndroid Build Coastguard Worker float clippingThresCell() const {
8407*89c4ff92SAndroid Build Coastguard Worker return GetField<float>(VT_CLIPPINGTHRESCELL, 0.0f);
8408*89c4ff92SAndroid Build Coastguard Worker }
8409*89c4ff92SAndroid Build Coastguard Worker float clippingThresProj() const {
8410*89c4ff92SAndroid Build Coastguard Worker return GetField<float>(VT_CLIPPINGTHRESPROJ, 0.0f);
8411*89c4ff92SAndroid Build Coastguard Worker }
8412*89c4ff92SAndroid Build Coastguard Worker bool cifgEnabled() const {
8413*89c4ff92SAndroid Build Coastguard Worker return GetField<uint8_t>(VT_CIFGENABLED, 1) != 0;
8414*89c4ff92SAndroid Build Coastguard Worker }
8415*89c4ff92SAndroid Build Coastguard Worker bool peepholeEnabled() const {
8416*89c4ff92SAndroid Build Coastguard Worker return GetField<uint8_t>(VT_PEEPHOLEENABLED, 0) != 0;
8417*89c4ff92SAndroid Build Coastguard Worker }
8418*89c4ff92SAndroid Build Coastguard Worker bool projectionEnabled() const {
8419*89c4ff92SAndroid Build Coastguard Worker return GetField<uint8_t>(VT_PROJECTIONENABLED, 0) != 0;
8420*89c4ff92SAndroid Build Coastguard Worker }
8421*89c4ff92SAndroid Build Coastguard Worker bool layerNormEnabled() const {
8422*89c4ff92SAndroid Build Coastguard Worker return GetField<uint8_t>(VT_LAYERNORMENABLED, 0) != 0;
8423*89c4ff92SAndroid Build Coastguard Worker }
8424*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
8425*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
8426*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_ACTIVATIONFUNC, 4) &&
8427*89c4ff92SAndroid Build Coastguard Worker VerifyField<float>(verifier, VT_CLIPPINGTHRESCELL, 4) &&
8428*89c4ff92SAndroid Build Coastguard Worker VerifyField<float>(verifier, VT_CLIPPINGTHRESPROJ, 4) &&
8429*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_CIFGENABLED, 1) &&
8430*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_PEEPHOLEENABLED, 1) &&
8431*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_PROJECTIONENABLED, 1) &&
8432*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_LAYERNORMENABLED, 1) &&
8433*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
8434*89c4ff92SAndroid Build Coastguard Worker }
8435*89c4ff92SAndroid Build Coastguard Worker };
8436*89c4ff92SAndroid Build Coastguard Worker
8437*89c4ff92SAndroid Build Coastguard Worker struct LstmDescriptorBuilder {
8438*89c4ff92SAndroid Build Coastguard Worker typedef LstmDescriptor Table;
8439*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
8440*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
8441*89c4ff92SAndroid Build Coastguard Worker void add_activationFunc(uint32_t activationFunc) {
8442*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(LstmDescriptor::VT_ACTIVATIONFUNC, activationFunc, 0);
8443*89c4ff92SAndroid Build Coastguard Worker }
8444*89c4ff92SAndroid Build Coastguard Worker void add_clippingThresCell(float clippingThresCell) {
8445*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<float>(LstmDescriptor::VT_CLIPPINGTHRESCELL, clippingThresCell, 0.0f);
8446*89c4ff92SAndroid Build Coastguard Worker }
8447*89c4ff92SAndroid Build Coastguard Worker void add_clippingThresProj(float clippingThresProj) {
8448*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<float>(LstmDescriptor::VT_CLIPPINGTHRESPROJ, clippingThresProj, 0.0f);
8449*89c4ff92SAndroid Build Coastguard Worker }
8450*89c4ff92SAndroid Build Coastguard Worker void add_cifgEnabled(bool cifgEnabled) {
8451*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(LstmDescriptor::VT_CIFGENABLED, static_cast<uint8_t>(cifgEnabled), 1);
8452*89c4ff92SAndroid Build Coastguard Worker }
8453*89c4ff92SAndroid Build Coastguard Worker void add_peepholeEnabled(bool peepholeEnabled) {
8454*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(LstmDescriptor::VT_PEEPHOLEENABLED, static_cast<uint8_t>(peepholeEnabled), 0);
8455*89c4ff92SAndroid Build Coastguard Worker }
8456*89c4ff92SAndroid Build Coastguard Worker void add_projectionEnabled(bool projectionEnabled) {
8457*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(LstmDescriptor::VT_PROJECTIONENABLED, static_cast<uint8_t>(projectionEnabled), 0);
8458*89c4ff92SAndroid Build Coastguard Worker }
8459*89c4ff92SAndroid Build Coastguard Worker void add_layerNormEnabled(bool layerNormEnabled) {
8460*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(LstmDescriptor::VT_LAYERNORMENABLED, static_cast<uint8_t>(layerNormEnabled), 0);
8461*89c4ff92SAndroid Build Coastguard Worker }
8462*89c4ff92SAndroid Build Coastguard Worker explicit LstmDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
8463*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
8464*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
8465*89c4ff92SAndroid Build Coastguard Worker }
8466*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<LstmDescriptor> Finish() {
8467*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
8468*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<LstmDescriptor>(end);
8469*89c4ff92SAndroid Build Coastguard Worker return o;
8470*89c4ff92SAndroid Build Coastguard Worker }
8471*89c4ff92SAndroid Build Coastguard Worker };
8472*89c4ff92SAndroid Build Coastguard Worker
8473*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<LstmDescriptor> CreateLstmDescriptor(
8474*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
8475*89c4ff92SAndroid Build Coastguard Worker uint32_t activationFunc = 0,
8476*89c4ff92SAndroid Build Coastguard Worker float clippingThresCell = 0.0f,
8477*89c4ff92SAndroid Build Coastguard Worker float clippingThresProj = 0.0f,
8478*89c4ff92SAndroid Build Coastguard Worker bool cifgEnabled = true,
8479*89c4ff92SAndroid Build Coastguard Worker bool peepholeEnabled = false,
8480*89c4ff92SAndroid Build Coastguard Worker bool projectionEnabled = false,
8481*89c4ff92SAndroid Build Coastguard Worker bool layerNormEnabled = false) {
8482*89c4ff92SAndroid Build Coastguard Worker LstmDescriptorBuilder builder_(_fbb);
8483*89c4ff92SAndroid Build Coastguard Worker builder_.add_clippingThresProj(clippingThresProj);
8484*89c4ff92SAndroid Build Coastguard Worker builder_.add_clippingThresCell(clippingThresCell);
8485*89c4ff92SAndroid Build Coastguard Worker builder_.add_activationFunc(activationFunc);
8486*89c4ff92SAndroid Build Coastguard Worker builder_.add_layerNormEnabled(layerNormEnabled);
8487*89c4ff92SAndroid Build Coastguard Worker builder_.add_projectionEnabled(projectionEnabled);
8488*89c4ff92SAndroid Build Coastguard Worker builder_.add_peepholeEnabled(peepholeEnabled);
8489*89c4ff92SAndroid Build Coastguard Worker builder_.add_cifgEnabled(cifgEnabled);
8490*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
8491*89c4ff92SAndroid Build Coastguard Worker }
8492*89c4ff92SAndroid Build Coastguard Worker
8493*89c4ff92SAndroid Build Coastguard Worker struct LstmLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
8494*89c4ff92SAndroid Build Coastguard Worker typedef LstmLayerBuilder Builder;
8495*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
8496*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
8497*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6,
8498*89c4ff92SAndroid Build Coastguard Worker VT_INPUTPARAMS = 8
8499*89c4ff92SAndroid Build Coastguard Worker };
8500*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
8501*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
8502*89c4ff92SAndroid Build Coastguard Worker }
8503*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LstmDescriptor *descriptor() const {
8504*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LstmDescriptor *>(VT_DESCRIPTOR);
8505*89c4ff92SAndroid Build Coastguard Worker }
8506*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LstmInputParams *inputParams() const {
8507*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LstmInputParams *>(VT_INPUTPARAMS);
8508*89c4ff92SAndroid Build Coastguard Worker }
8509*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
8510*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
8511*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
8512*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
8513*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
8514*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
8515*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_INPUTPARAMS) &&
8516*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(inputParams()) &&
8517*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
8518*89c4ff92SAndroid Build Coastguard Worker }
8519*89c4ff92SAndroid Build Coastguard Worker };
8520*89c4ff92SAndroid Build Coastguard Worker
8521*89c4ff92SAndroid Build Coastguard Worker struct LstmLayerBuilder {
8522*89c4ff92SAndroid Build Coastguard Worker typedef LstmLayer Table;
8523*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
8524*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
8525*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
8526*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(LstmLayer::VT_BASE, base);
8527*89c4ff92SAndroid Build Coastguard Worker }
8528*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::LstmDescriptor> descriptor) {
8529*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(LstmLayer::VT_DESCRIPTOR, descriptor);
8530*89c4ff92SAndroid Build Coastguard Worker }
8531*89c4ff92SAndroid Build Coastguard Worker void add_inputParams(flatbuffers::Offset<armnnSerializer::LstmInputParams> inputParams) {
8532*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(LstmLayer::VT_INPUTPARAMS, inputParams);
8533*89c4ff92SAndroid Build Coastguard Worker }
8534*89c4ff92SAndroid Build Coastguard Worker explicit LstmLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
8535*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
8536*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
8537*89c4ff92SAndroid Build Coastguard Worker }
8538*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<LstmLayer> Finish() {
8539*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
8540*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<LstmLayer>(end);
8541*89c4ff92SAndroid Build Coastguard Worker return o;
8542*89c4ff92SAndroid Build Coastguard Worker }
8543*89c4ff92SAndroid Build Coastguard Worker };
8544*89c4ff92SAndroid Build Coastguard Worker
8545*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<LstmLayer> CreateLstmLayer(
8546*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
8547*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
8548*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LstmDescriptor> descriptor = 0,
8549*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LstmInputParams> inputParams = 0) {
8550*89c4ff92SAndroid Build Coastguard Worker LstmLayerBuilder builder_(_fbb);
8551*89c4ff92SAndroid Build Coastguard Worker builder_.add_inputParams(inputParams);
8552*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
8553*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
8554*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
8555*89c4ff92SAndroid Build Coastguard Worker }
8556*89c4ff92SAndroid Build Coastguard Worker
8557*89c4ff92SAndroid Build Coastguard Worker struct QLstmInputParams FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
8558*89c4ff92SAndroid Build Coastguard Worker typedef QLstmInputParamsBuilder Builder;
8559*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
8560*89c4ff92SAndroid Build Coastguard Worker VT_INPUTTOFORGETWEIGHTS = 4,
8561*89c4ff92SAndroid Build Coastguard Worker VT_INPUTTOCELLWEIGHTS = 6,
8562*89c4ff92SAndroid Build Coastguard Worker VT_INPUTTOOUTPUTWEIGHTS = 8,
8563*89c4ff92SAndroid Build Coastguard Worker VT_RECURRENTTOFORGETWEIGHTS = 10,
8564*89c4ff92SAndroid Build Coastguard Worker VT_RECURRENTTOCELLWEIGHTS = 12,
8565*89c4ff92SAndroid Build Coastguard Worker VT_RECURRENTTOOUTPUTWEIGHTS = 14,
8566*89c4ff92SAndroid Build Coastguard Worker VT_FORGETGATEBIAS = 16,
8567*89c4ff92SAndroid Build Coastguard Worker VT_CELLBIAS = 18,
8568*89c4ff92SAndroid Build Coastguard Worker VT_OUTPUTGATEBIAS = 20,
8569*89c4ff92SAndroid Build Coastguard Worker VT_INPUTTOINPUTWEIGHTS = 22,
8570*89c4ff92SAndroid Build Coastguard Worker VT_RECURRENTTOINPUTWEIGHTS = 24,
8571*89c4ff92SAndroid Build Coastguard Worker VT_INPUTGATEBIAS = 26,
8572*89c4ff92SAndroid Build Coastguard Worker VT_PROJECTIONWEIGHTS = 28,
8573*89c4ff92SAndroid Build Coastguard Worker VT_PROJECTIONBIAS = 30,
8574*89c4ff92SAndroid Build Coastguard Worker VT_CELLTOINPUTWEIGHTS = 32,
8575*89c4ff92SAndroid Build Coastguard Worker VT_CELLTOFORGETWEIGHTS = 34,
8576*89c4ff92SAndroid Build Coastguard Worker VT_CELLTOOUTPUTWEIGHTS = 36,
8577*89c4ff92SAndroid Build Coastguard Worker VT_INPUTLAYERNORMWEIGHTS = 38,
8578*89c4ff92SAndroid Build Coastguard Worker VT_FORGETLAYERNORMWEIGHTS = 40,
8579*89c4ff92SAndroid Build Coastguard Worker VT_CELLLAYERNORMWEIGHTS = 42,
8580*89c4ff92SAndroid Build Coastguard Worker VT_OUTPUTLAYERNORMWEIGHTS = 44
8581*89c4ff92SAndroid Build Coastguard Worker };
8582*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *inputToForgetWeights() const {
8583*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOFORGETWEIGHTS);
8584*89c4ff92SAndroid Build Coastguard Worker }
8585*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *inputToCellWeights() const {
8586*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOCELLWEIGHTS);
8587*89c4ff92SAndroid Build Coastguard Worker }
8588*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *inputToOutputWeights() const {
8589*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOOUTPUTWEIGHTS);
8590*89c4ff92SAndroid Build Coastguard Worker }
8591*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *recurrentToForgetWeights() const {
8592*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOFORGETWEIGHTS);
8593*89c4ff92SAndroid Build Coastguard Worker }
8594*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *recurrentToCellWeights() const {
8595*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOCELLWEIGHTS);
8596*89c4ff92SAndroid Build Coastguard Worker }
8597*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *recurrentToOutputWeights() const {
8598*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOOUTPUTWEIGHTS);
8599*89c4ff92SAndroid Build Coastguard Worker }
8600*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *forgetGateBias() const {
8601*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_FORGETGATEBIAS);
8602*89c4ff92SAndroid Build Coastguard Worker }
8603*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *cellBias() const {
8604*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLBIAS);
8605*89c4ff92SAndroid Build Coastguard Worker }
8606*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *outputGateBias() const {
8607*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_OUTPUTGATEBIAS);
8608*89c4ff92SAndroid Build Coastguard Worker }
8609*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *inputToInputWeights() const {
8610*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOINPUTWEIGHTS);
8611*89c4ff92SAndroid Build Coastguard Worker }
8612*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *recurrentToInputWeights() const {
8613*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOINPUTWEIGHTS);
8614*89c4ff92SAndroid Build Coastguard Worker }
8615*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *inputGateBias() const {
8616*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTGATEBIAS);
8617*89c4ff92SAndroid Build Coastguard Worker }
8618*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *projectionWeights() const {
8619*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_PROJECTIONWEIGHTS);
8620*89c4ff92SAndroid Build Coastguard Worker }
8621*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *projectionBias() const {
8622*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_PROJECTIONBIAS);
8623*89c4ff92SAndroid Build Coastguard Worker }
8624*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *cellToInputWeights() const {
8625*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLTOINPUTWEIGHTS);
8626*89c4ff92SAndroid Build Coastguard Worker }
8627*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *cellToForgetWeights() const {
8628*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLTOFORGETWEIGHTS);
8629*89c4ff92SAndroid Build Coastguard Worker }
8630*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *cellToOutputWeights() const {
8631*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLTOOUTPUTWEIGHTS);
8632*89c4ff92SAndroid Build Coastguard Worker }
8633*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *inputLayerNormWeights() const {
8634*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTLAYERNORMWEIGHTS);
8635*89c4ff92SAndroid Build Coastguard Worker }
8636*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *forgetLayerNormWeights() const {
8637*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_FORGETLAYERNORMWEIGHTS);
8638*89c4ff92SAndroid Build Coastguard Worker }
8639*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *cellLayerNormWeights() const {
8640*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLLAYERNORMWEIGHTS);
8641*89c4ff92SAndroid Build Coastguard Worker }
8642*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *outputLayerNormWeights() const {
8643*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_OUTPUTLAYERNORMWEIGHTS);
8644*89c4ff92SAndroid Build Coastguard Worker }
8645*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
8646*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
8647*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_INPUTTOFORGETWEIGHTS) &&
8648*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(inputToForgetWeights()) &&
8649*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_INPUTTOCELLWEIGHTS) &&
8650*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(inputToCellWeights()) &&
8651*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_INPUTTOOUTPUTWEIGHTS) &&
8652*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(inputToOutputWeights()) &&
8653*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_RECURRENTTOFORGETWEIGHTS) &&
8654*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(recurrentToForgetWeights()) &&
8655*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_RECURRENTTOCELLWEIGHTS) &&
8656*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(recurrentToCellWeights()) &&
8657*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_RECURRENTTOOUTPUTWEIGHTS) &&
8658*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(recurrentToOutputWeights()) &&
8659*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_FORGETGATEBIAS) &&
8660*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(forgetGateBias()) &&
8661*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_CELLBIAS) &&
8662*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(cellBias()) &&
8663*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_OUTPUTGATEBIAS) &&
8664*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(outputGateBias()) &&
8665*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_INPUTTOINPUTWEIGHTS) &&
8666*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(inputToInputWeights()) &&
8667*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_RECURRENTTOINPUTWEIGHTS) &&
8668*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(recurrentToInputWeights()) &&
8669*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_INPUTGATEBIAS) &&
8670*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(inputGateBias()) &&
8671*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_PROJECTIONWEIGHTS) &&
8672*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(projectionWeights()) &&
8673*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_PROJECTIONBIAS) &&
8674*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(projectionBias()) &&
8675*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_CELLTOINPUTWEIGHTS) &&
8676*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(cellToInputWeights()) &&
8677*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_CELLTOFORGETWEIGHTS) &&
8678*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(cellToForgetWeights()) &&
8679*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_CELLTOOUTPUTWEIGHTS) &&
8680*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(cellToOutputWeights()) &&
8681*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_INPUTLAYERNORMWEIGHTS) &&
8682*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(inputLayerNormWeights()) &&
8683*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_FORGETLAYERNORMWEIGHTS) &&
8684*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(forgetLayerNormWeights()) &&
8685*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_CELLLAYERNORMWEIGHTS) &&
8686*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(cellLayerNormWeights()) &&
8687*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_OUTPUTLAYERNORMWEIGHTS) &&
8688*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(outputLayerNormWeights()) &&
8689*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
8690*89c4ff92SAndroid Build Coastguard Worker }
8691*89c4ff92SAndroid Build Coastguard Worker };
8692*89c4ff92SAndroid Build Coastguard Worker
8693*89c4ff92SAndroid Build Coastguard Worker struct QLstmInputParamsBuilder {
8694*89c4ff92SAndroid Build Coastguard Worker typedef QLstmInputParams Table;
8695*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
8696*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
8697*89c4ff92SAndroid Build Coastguard Worker void add_inputToForgetWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToForgetWeights) {
8698*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QLstmInputParams::VT_INPUTTOFORGETWEIGHTS, inputToForgetWeights);
8699*89c4ff92SAndroid Build Coastguard Worker }
8700*89c4ff92SAndroid Build Coastguard Worker void add_inputToCellWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToCellWeights) {
8701*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QLstmInputParams::VT_INPUTTOCELLWEIGHTS, inputToCellWeights);
8702*89c4ff92SAndroid Build Coastguard Worker }
8703*89c4ff92SAndroid Build Coastguard Worker void add_inputToOutputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToOutputWeights) {
8704*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QLstmInputParams::VT_INPUTTOOUTPUTWEIGHTS, inputToOutputWeights);
8705*89c4ff92SAndroid Build Coastguard Worker }
8706*89c4ff92SAndroid Build Coastguard Worker void add_recurrentToForgetWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToForgetWeights) {
8707*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QLstmInputParams::VT_RECURRENTTOFORGETWEIGHTS, recurrentToForgetWeights);
8708*89c4ff92SAndroid Build Coastguard Worker }
8709*89c4ff92SAndroid Build Coastguard Worker void add_recurrentToCellWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToCellWeights) {
8710*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QLstmInputParams::VT_RECURRENTTOCELLWEIGHTS, recurrentToCellWeights);
8711*89c4ff92SAndroid Build Coastguard Worker }
8712*89c4ff92SAndroid Build Coastguard Worker void add_recurrentToOutputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToOutputWeights) {
8713*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QLstmInputParams::VT_RECURRENTTOOUTPUTWEIGHTS, recurrentToOutputWeights);
8714*89c4ff92SAndroid Build Coastguard Worker }
8715*89c4ff92SAndroid Build Coastguard Worker void add_forgetGateBias(flatbuffers::Offset<armnnSerializer::ConstTensor> forgetGateBias) {
8716*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QLstmInputParams::VT_FORGETGATEBIAS, forgetGateBias);
8717*89c4ff92SAndroid Build Coastguard Worker }
8718*89c4ff92SAndroid Build Coastguard Worker void add_cellBias(flatbuffers::Offset<armnnSerializer::ConstTensor> cellBias) {
8719*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QLstmInputParams::VT_CELLBIAS, cellBias);
8720*89c4ff92SAndroid Build Coastguard Worker }
8721*89c4ff92SAndroid Build Coastguard Worker void add_outputGateBias(flatbuffers::Offset<armnnSerializer::ConstTensor> outputGateBias) {
8722*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QLstmInputParams::VT_OUTPUTGATEBIAS, outputGateBias);
8723*89c4ff92SAndroid Build Coastguard Worker }
8724*89c4ff92SAndroid Build Coastguard Worker void add_inputToInputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToInputWeights) {
8725*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QLstmInputParams::VT_INPUTTOINPUTWEIGHTS, inputToInputWeights);
8726*89c4ff92SAndroid Build Coastguard Worker }
8727*89c4ff92SAndroid Build Coastguard Worker void add_recurrentToInputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToInputWeights) {
8728*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QLstmInputParams::VT_RECURRENTTOINPUTWEIGHTS, recurrentToInputWeights);
8729*89c4ff92SAndroid Build Coastguard Worker }
8730*89c4ff92SAndroid Build Coastguard Worker void add_inputGateBias(flatbuffers::Offset<armnnSerializer::ConstTensor> inputGateBias) {
8731*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QLstmInputParams::VT_INPUTGATEBIAS, inputGateBias);
8732*89c4ff92SAndroid Build Coastguard Worker }
8733*89c4ff92SAndroid Build Coastguard Worker void add_projectionWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> projectionWeights) {
8734*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QLstmInputParams::VT_PROJECTIONWEIGHTS, projectionWeights);
8735*89c4ff92SAndroid Build Coastguard Worker }
8736*89c4ff92SAndroid Build Coastguard Worker void add_projectionBias(flatbuffers::Offset<armnnSerializer::ConstTensor> projectionBias) {
8737*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QLstmInputParams::VT_PROJECTIONBIAS, projectionBias);
8738*89c4ff92SAndroid Build Coastguard Worker }
8739*89c4ff92SAndroid Build Coastguard Worker void add_cellToInputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> cellToInputWeights) {
8740*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QLstmInputParams::VT_CELLTOINPUTWEIGHTS, cellToInputWeights);
8741*89c4ff92SAndroid Build Coastguard Worker }
8742*89c4ff92SAndroid Build Coastguard Worker void add_cellToForgetWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> cellToForgetWeights) {
8743*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QLstmInputParams::VT_CELLTOFORGETWEIGHTS, cellToForgetWeights);
8744*89c4ff92SAndroid Build Coastguard Worker }
8745*89c4ff92SAndroid Build Coastguard Worker void add_cellToOutputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> cellToOutputWeights) {
8746*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QLstmInputParams::VT_CELLTOOUTPUTWEIGHTS, cellToOutputWeights);
8747*89c4ff92SAndroid Build Coastguard Worker }
8748*89c4ff92SAndroid Build Coastguard Worker void add_inputLayerNormWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputLayerNormWeights) {
8749*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QLstmInputParams::VT_INPUTLAYERNORMWEIGHTS, inputLayerNormWeights);
8750*89c4ff92SAndroid Build Coastguard Worker }
8751*89c4ff92SAndroid Build Coastguard Worker void add_forgetLayerNormWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> forgetLayerNormWeights) {
8752*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QLstmInputParams::VT_FORGETLAYERNORMWEIGHTS, forgetLayerNormWeights);
8753*89c4ff92SAndroid Build Coastguard Worker }
8754*89c4ff92SAndroid Build Coastguard Worker void add_cellLayerNormWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> cellLayerNormWeights) {
8755*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QLstmInputParams::VT_CELLLAYERNORMWEIGHTS, cellLayerNormWeights);
8756*89c4ff92SAndroid Build Coastguard Worker }
8757*89c4ff92SAndroid Build Coastguard Worker void add_outputLayerNormWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> outputLayerNormWeights) {
8758*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QLstmInputParams::VT_OUTPUTLAYERNORMWEIGHTS, outputLayerNormWeights);
8759*89c4ff92SAndroid Build Coastguard Worker }
8760*89c4ff92SAndroid Build Coastguard Worker explicit QLstmInputParamsBuilder(flatbuffers::FlatBufferBuilder &_fbb)
8761*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
8762*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
8763*89c4ff92SAndroid Build Coastguard Worker }
8764*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<QLstmInputParams> Finish() {
8765*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
8766*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<QLstmInputParams>(end);
8767*89c4ff92SAndroid Build Coastguard Worker return o;
8768*89c4ff92SAndroid Build Coastguard Worker }
8769*89c4ff92SAndroid Build Coastguard Worker };
8770*89c4ff92SAndroid Build Coastguard Worker
8771*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<QLstmInputParams> CreateQLstmInputParams(
8772*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
8773*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> inputToForgetWeights = 0,
8774*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> inputToCellWeights = 0,
8775*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> inputToOutputWeights = 0,
8776*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToForgetWeights = 0,
8777*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToCellWeights = 0,
8778*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToOutputWeights = 0,
8779*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> forgetGateBias = 0,
8780*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> cellBias = 0,
8781*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> outputGateBias = 0,
8782*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> inputToInputWeights = 0,
8783*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToInputWeights = 0,
8784*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> inputGateBias = 0,
8785*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> projectionWeights = 0,
8786*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> projectionBias = 0,
8787*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> cellToInputWeights = 0,
8788*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> cellToForgetWeights = 0,
8789*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> cellToOutputWeights = 0,
8790*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> inputLayerNormWeights = 0,
8791*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> forgetLayerNormWeights = 0,
8792*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> cellLayerNormWeights = 0,
8793*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> outputLayerNormWeights = 0) {
8794*89c4ff92SAndroid Build Coastguard Worker QLstmInputParamsBuilder builder_(_fbb);
8795*89c4ff92SAndroid Build Coastguard Worker builder_.add_outputLayerNormWeights(outputLayerNormWeights);
8796*89c4ff92SAndroid Build Coastguard Worker builder_.add_cellLayerNormWeights(cellLayerNormWeights);
8797*89c4ff92SAndroid Build Coastguard Worker builder_.add_forgetLayerNormWeights(forgetLayerNormWeights);
8798*89c4ff92SAndroid Build Coastguard Worker builder_.add_inputLayerNormWeights(inputLayerNormWeights);
8799*89c4ff92SAndroid Build Coastguard Worker builder_.add_cellToOutputWeights(cellToOutputWeights);
8800*89c4ff92SAndroid Build Coastguard Worker builder_.add_cellToForgetWeights(cellToForgetWeights);
8801*89c4ff92SAndroid Build Coastguard Worker builder_.add_cellToInputWeights(cellToInputWeights);
8802*89c4ff92SAndroid Build Coastguard Worker builder_.add_projectionBias(projectionBias);
8803*89c4ff92SAndroid Build Coastguard Worker builder_.add_projectionWeights(projectionWeights);
8804*89c4ff92SAndroid Build Coastguard Worker builder_.add_inputGateBias(inputGateBias);
8805*89c4ff92SAndroid Build Coastguard Worker builder_.add_recurrentToInputWeights(recurrentToInputWeights);
8806*89c4ff92SAndroid Build Coastguard Worker builder_.add_inputToInputWeights(inputToInputWeights);
8807*89c4ff92SAndroid Build Coastguard Worker builder_.add_outputGateBias(outputGateBias);
8808*89c4ff92SAndroid Build Coastguard Worker builder_.add_cellBias(cellBias);
8809*89c4ff92SAndroid Build Coastguard Worker builder_.add_forgetGateBias(forgetGateBias);
8810*89c4ff92SAndroid Build Coastguard Worker builder_.add_recurrentToOutputWeights(recurrentToOutputWeights);
8811*89c4ff92SAndroid Build Coastguard Worker builder_.add_recurrentToCellWeights(recurrentToCellWeights);
8812*89c4ff92SAndroid Build Coastguard Worker builder_.add_recurrentToForgetWeights(recurrentToForgetWeights);
8813*89c4ff92SAndroid Build Coastguard Worker builder_.add_inputToOutputWeights(inputToOutputWeights);
8814*89c4ff92SAndroid Build Coastguard Worker builder_.add_inputToCellWeights(inputToCellWeights);
8815*89c4ff92SAndroid Build Coastguard Worker builder_.add_inputToForgetWeights(inputToForgetWeights);
8816*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
8817*89c4ff92SAndroid Build Coastguard Worker }
8818*89c4ff92SAndroid Build Coastguard Worker
8819*89c4ff92SAndroid Build Coastguard Worker struct QLstmDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
8820*89c4ff92SAndroid Build Coastguard Worker typedef QLstmDescriptorBuilder Builder;
8821*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
8822*89c4ff92SAndroid Build Coastguard Worker VT_CIFGENABLED = 4,
8823*89c4ff92SAndroid Build Coastguard Worker VT_PEEPHOLEENABLED = 6,
8824*89c4ff92SAndroid Build Coastguard Worker VT_PROJECTIONENABLED = 8,
8825*89c4ff92SAndroid Build Coastguard Worker VT_LAYERNORMENABLED = 10,
8826*89c4ff92SAndroid Build Coastguard Worker VT_CELLCLIP = 12,
8827*89c4ff92SAndroid Build Coastguard Worker VT_PROJECTIONCLIP = 14,
8828*89c4ff92SAndroid Build Coastguard Worker VT_INPUTINTERMEDIATESCALE = 16,
8829*89c4ff92SAndroid Build Coastguard Worker VT_FORGETINTERMEDIATESCALE = 18,
8830*89c4ff92SAndroid Build Coastguard Worker VT_CELLINTERMEDIATESCALE = 20,
8831*89c4ff92SAndroid Build Coastguard Worker VT_OUTPUTINTERMEDIATESCALE = 22,
8832*89c4ff92SAndroid Build Coastguard Worker VT_HIDDENSTATEZEROPOINT = 24,
8833*89c4ff92SAndroid Build Coastguard Worker VT_HIDDENSTATESCALE = 26
8834*89c4ff92SAndroid Build Coastguard Worker };
8835*89c4ff92SAndroid Build Coastguard Worker bool cifgEnabled() const {
8836*89c4ff92SAndroid Build Coastguard Worker return GetField<uint8_t>(VT_CIFGENABLED, 1) != 0;
8837*89c4ff92SAndroid Build Coastguard Worker }
8838*89c4ff92SAndroid Build Coastguard Worker bool peepholeEnabled() const {
8839*89c4ff92SAndroid Build Coastguard Worker return GetField<uint8_t>(VT_PEEPHOLEENABLED, 0) != 0;
8840*89c4ff92SAndroid Build Coastguard Worker }
8841*89c4ff92SAndroid Build Coastguard Worker bool projectionEnabled() const {
8842*89c4ff92SAndroid Build Coastguard Worker return GetField<uint8_t>(VT_PROJECTIONENABLED, 0) != 0;
8843*89c4ff92SAndroid Build Coastguard Worker }
8844*89c4ff92SAndroid Build Coastguard Worker bool layerNormEnabled() const {
8845*89c4ff92SAndroid Build Coastguard Worker return GetField<uint8_t>(VT_LAYERNORMENABLED, 0) != 0;
8846*89c4ff92SAndroid Build Coastguard Worker }
8847*89c4ff92SAndroid Build Coastguard Worker float cellClip() const {
8848*89c4ff92SAndroid Build Coastguard Worker return GetField<float>(VT_CELLCLIP, 0.0f);
8849*89c4ff92SAndroid Build Coastguard Worker }
8850*89c4ff92SAndroid Build Coastguard Worker float projectionClip() const {
8851*89c4ff92SAndroid Build Coastguard Worker return GetField<float>(VT_PROJECTIONCLIP, 0.0f);
8852*89c4ff92SAndroid Build Coastguard Worker }
8853*89c4ff92SAndroid Build Coastguard Worker float inputIntermediateScale() const {
8854*89c4ff92SAndroid Build Coastguard Worker return GetField<float>(VT_INPUTINTERMEDIATESCALE, 0.0f);
8855*89c4ff92SAndroid Build Coastguard Worker }
8856*89c4ff92SAndroid Build Coastguard Worker float forgetIntermediateScale() const {
8857*89c4ff92SAndroid Build Coastguard Worker return GetField<float>(VT_FORGETINTERMEDIATESCALE, 0.0f);
8858*89c4ff92SAndroid Build Coastguard Worker }
8859*89c4ff92SAndroid Build Coastguard Worker float cellIntermediateScale() const {
8860*89c4ff92SAndroid Build Coastguard Worker return GetField<float>(VT_CELLINTERMEDIATESCALE, 0.0f);
8861*89c4ff92SAndroid Build Coastguard Worker }
8862*89c4ff92SAndroid Build Coastguard Worker float outputIntermediateScale() const {
8863*89c4ff92SAndroid Build Coastguard Worker return GetField<float>(VT_OUTPUTINTERMEDIATESCALE, 0.0f);
8864*89c4ff92SAndroid Build Coastguard Worker }
8865*89c4ff92SAndroid Build Coastguard Worker int32_t hiddenStateZeroPoint() const {
8866*89c4ff92SAndroid Build Coastguard Worker return GetField<int32_t>(VT_HIDDENSTATEZEROPOINT, 0);
8867*89c4ff92SAndroid Build Coastguard Worker }
8868*89c4ff92SAndroid Build Coastguard Worker float hiddenStateScale() const {
8869*89c4ff92SAndroid Build Coastguard Worker return GetField<float>(VT_HIDDENSTATESCALE, 0.0f);
8870*89c4ff92SAndroid Build Coastguard Worker }
8871*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
8872*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
8873*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_CIFGENABLED, 1) &&
8874*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_PEEPHOLEENABLED, 1) &&
8875*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_PROJECTIONENABLED, 1) &&
8876*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_LAYERNORMENABLED, 1) &&
8877*89c4ff92SAndroid Build Coastguard Worker VerifyField<float>(verifier, VT_CELLCLIP, 4) &&
8878*89c4ff92SAndroid Build Coastguard Worker VerifyField<float>(verifier, VT_PROJECTIONCLIP, 4) &&
8879*89c4ff92SAndroid Build Coastguard Worker VerifyField<float>(verifier, VT_INPUTINTERMEDIATESCALE, 4) &&
8880*89c4ff92SAndroid Build Coastguard Worker VerifyField<float>(verifier, VT_FORGETINTERMEDIATESCALE, 4) &&
8881*89c4ff92SAndroid Build Coastguard Worker VerifyField<float>(verifier, VT_CELLINTERMEDIATESCALE, 4) &&
8882*89c4ff92SAndroid Build Coastguard Worker VerifyField<float>(verifier, VT_OUTPUTINTERMEDIATESCALE, 4) &&
8883*89c4ff92SAndroid Build Coastguard Worker VerifyField<int32_t>(verifier, VT_HIDDENSTATEZEROPOINT, 4) &&
8884*89c4ff92SAndroid Build Coastguard Worker VerifyField<float>(verifier, VT_HIDDENSTATESCALE, 4) &&
8885*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
8886*89c4ff92SAndroid Build Coastguard Worker }
8887*89c4ff92SAndroid Build Coastguard Worker };
8888*89c4ff92SAndroid Build Coastguard Worker
8889*89c4ff92SAndroid Build Coastguard Worker struct QLstmDescriptorBuilder {
8890*89c4ff92SAndroid Build Coastguard Worker typedef QLstmDescriptor Table;
8891*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
8892*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
8893*89c4ff92SAndroid Build Coastguard Worker void add_cifgEnabled(bool cifgEnabled) {
8894*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(QLstmDescriptor::VT_CIFGENABLED, static_cast<uint8_t>(cifgEnabled), 1);
8895*89c4ff92SAndroid Build Coastguard Worker }
8896*89c4ff92SAndroid Build Coastguard Worker void add_peepholeEnabled(bool peepholeEnabled) {
8897*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(QLstmDescriptor::VT_PEEPHOLEENABLED, static_cast<uint8_t>(peepholeEnabled), 0);
8898*89c4ff92SAndroid Build Coastguard Worker }
8899*89c4ff92SAndroid Build Coastguard Worker void add_projectionEnabled(bool projectionEnabled) {
8900*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(QLstmDescriptor::VT_PROJECTIONENABLED, static_cast<uint8_t>(projectionEnabled), 0);
8901*89c4ff92SAndroid Build Coastguard Worker }
8902*89c4ff92SAndroid Build Coastguard Worker void add_layerNormEnabled(bool layerNormEnabled) {
8903*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(QLstmDescriptor::VT_LAYERNORMENABLED, static_cast<uint8_t>(layerNormEnabled), 0);
8904*89c4ff92SAndroid Build Coastguard Worker }
8905*89c4ff92SAndroid Build Coastguard Worker void add_cellClip(float cellClip) {
8906*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<float>(QLstmDescriptor::VT_CELLCLIP, cellClip, 0.0f);
8907*89c4ff92SAndroid Build Coastguard Worker }
8908*89c4ff92SAndroid Build Coastguard Worker void add_projectionClip(float projectionClip) {
8909*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<float>(QLstmDescriptor::VT_PROJECTIONCLIP, projectionClip, 0.0f);
8910*89c4ff92SAndroid Build Coastguard Worker }
8911*89c4ff92SAndroid Build Coastguard Worker void add_inputIntermediateScale(float inputIntermediateScale) {
8912*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<float>(QLstmDescriptor::VT_INPUTINTERMEDIATESCALE, inputIntermediateScale, 0.0f);
8913*89c4ff92SAndroid Build Coastguard Worker }
8914*89c4ff92SAndroid Build Coastguard Worker void add_forgetIntermediateScale(float forgetIntermediateScale) {
8915*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<float>(QLstmDescriptor::VT_FORGETINTERMEDIATESCALE, forgetIntermediateScale, 0.0f);
8916*89c4ff92SAndroid Build Coastguard Worker }
8917*89c4ff92SAndroid Build Coastguard Worker void add_cellIntermediateScale(float cellIntermediateScale) {
8918*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<float>(QLstmDescriptor::VT_CELLINTERMEDIATESCALE, cellIntermediateScale, 0.0f);
8919*89c4ff92SAndroid Build Coastguard Worker }
8920*89c4ff92SAndroid Build Coastguard Worker void add_outputIntermediateScale(float outputIntermediateScale) {
8921*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<float>(QLstmDescriptor::VT_OUTPUTINTERMEDIATESCALE, outputIntermediateScale, 0.0f);
8922*89c4ff92SAndroid Build Coastguard Worker }
8923*89c4ff92SAndroid Build Coastguard Worker void add_hiddenStateZeroPoint(int32_t hiddenStateZeroPoint) {
8924*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int32_t>(QLstmDescriptor::VT_HIDDENSTATEZEROPOINT, hiddenStateZeroPoint, 0);
8925*89c4ff92SAndroid Build Coastguard Worker }
8926*89c4ff92SAndroid Build Coastguard Worker void add_hiddenStateScale(float hiddenStateScale) {
8927*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<float>(QLstmDescriptor::VT_HIDDENSTATESCALE, hiddenStateScale, 0.0f);
8928*89c4ff92SAndroid Build Coastguard Worker }
8929*89c4ff92SAndroid Build Coastguard Worker explicit QLstmDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
8930*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
8931*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
8932*89c4ff92SAndroid Build Coastguard Worker }
8933*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<QLstmDescriptor> Finish() {
8934*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
8935*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<QLstmDescriptor>(end);
8936*89c4ff92SAndroid Build Coastguard Worker return o;
8937*89c4ff92SAndroid Build Coastguard Worker }
8938*89c4ff92SAndroid Build Coastguard Worker };
8939*89c4ff92SAndroid Build Coastguard Worker
8940*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<QLstmDescriptor> CreateQLstmDescriptor(
8941*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
8942*89c4ff92SAndroid Build Coastguard Worker bool cifgEnabled = true,
8943*89c4ff92SAndroid Build Coastguard Worker bool peepholeEnabled = false,
8944*89c4ff92SAndroid Build Coastguard Worker bool projectionEnabled = false,
8945*89c4ff92SAndroid Build Coastguard Worker bool layerNormEnabled = false,
8946*89c4ff92SAndroid Build Coastguard Worker float cellClip = 0.0f,
8947*89c4ff92SAndroid Build Coastguard Worker float projectionClip = 0.0f,
8948*89c4ff92SAndroid Build Coastguard Worker float inputIntermediateScale = 0.0f,
8949*89c4ff92SAndroid Build Coastguard Worker float forgetIntermediateScale = 0.0f,
8950*89c4ff92SAndroid Build Coastguard Worker float cellIntermediateScale = 0.0f,
8951*89c4ff92SAndroid Build Coastguard Worker float outputIntermediateScale = 0.0f,
8952*89c4ff92SAndroid Build Coastguard Worker int32_t hiddenStateZeroPoint = 0,
8953*89c4ff92SAndroid Build Coastguard Worker float hiddenStateScale = 0.0f) {
8954*89c4ff92SAndroid Build Coastguard Worker QLstmDescriptorBuilder builder_(_fbb);
8955*89c4ff92SAndroid Build Coastguard Worker builder_.add_hiddenStateScale(hiddenStateScale);
8956*89c4ff92SAndroid Build Coastguard Worker builder_.add_hiddenStateZeroPoint(hiddenStateZeroPoint);
8957*89c4ff92SAndroid Build Coastguard Worker builder_.add_outputIntermediateScale(outputIntermediateScale);
8958*89c4ff92SAndroid Build Coastguard Worker builder_.add_cellIntermediateScale(cellIntermediateScale);
8959*89c4ff92SAndroid Build Coastguard Worker builder_.add_forgetIntermediateScale(forgetIntermediateScale);
8960*89c4ff92SAndroid Build Coastguard Worker builder_.add_inputIntermediateScale(inputIntermediateScale);
8961*89c4ff92SAndroid Build Coastguard Worker builder_.add_projectionClip(projectionClip);
8962*89c4ff92SAndroid Build Coastguard Worker builder_.add_cellClip(cellClip);
8963*89c4ff92SAndroid Build Coastguard Worker builder_.add_layerNormEnabled(layerNormEnabled);
8964*89c4ff92SAndroid Build Coastguard Worker builder_.add_projectionEnabled(projectionEnabled);
8965*89c4ff92SAndroid Build Coastguard Worker builder_.add_peepholeEnabled(peepholeEnabled);
8966*89c4ff92SAndroid Build Coastguard Worker builder_.add_cifgEnabled(cifgEnabled);
8967*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
8968*89c4ff92SAndroid Build Coastguard Worker }
8969*89c4ff92SAndroid Build Coastguard Worker
8970*89c4ff92SAndroid Build Coastguard Worker struct QLstmLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
8971*89c4ff92SAndroid Build Coastguard Worker typedef QLstmLayerBuilder Builder;
8972*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
8973*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
8974*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6,
8975*89c4ff92SAndroid Build Coastguard Worker VT_INPUTPARAMS = 8
8976*89c4ff92SAndroid Build Coastguard Worker };
8977*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
8978*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
8979*89c4ff92SAndroid Build Coastguard Worker }
8980*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::QLstmDescriptor *descriptor() const {
8981*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::QLstmDescriptor *>(VT_DESCRIPTOR);
8982*89c4ff92SAndroid Build Coastguard Worker }
8983*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::QLstmInputParams *inputParams() const {
8984*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::QLstmInputParams *>(VT_INPUTPARAMS);
8985*89c4ff92SAndroid Build Coastguard Worker }
8986*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
8987*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
8988*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
8989*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
8990*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
8991*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
8992*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_INPUTPARAMS) &&
8993*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(inputParams()) &&
8994*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
8995*89c4ff92SAndroid Build Coastguard Worker }
8996*89c4ff92SAndroid Build Coastguard Worker };
8997*89c4ff92SAndroid Build Coastguard Worker
8998*89c4ff92SAndroid Build Coastguard Worker struct QLstmLayerBuilder {
8999*89c4ff92SAndroid Build Coastguard Worker typedef QLstmLayer Table;
9000*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
9001*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
9002*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
9003*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QLstmLayer::VT_BASE, base);
9004*89c4ff92SAndroid Build Coastguard Worker }
9005*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::QLstmDescriptor> descriptor) {
9006*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QLstmLayer::VT_DESCRIPTOR, descriptor);
9007*89c4ff92SAndroid Build Coastguard Worker }
9008*89c4ff92SAndroid Build Coastguard Worker void add_inputParams(flatbuffers::Offset<armnnSerializer::QLstmInputParams> inputParams) {
9009*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QLstmLayer::VT_INPUTPARAMS, inputParams);
9010*89c4ff92SAndroid Build Coastguard Worker }
9011*89c4ff92SAndroid Build Coastguard Worker explicit QLstmLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9012*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
9013*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
9014*89c4ff92SAndroid Build Coastguard Worker }
9015*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<QLstmLayer> Finish() {
9016*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
9017*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<QLstmLayer>(end);
9018*89c4ff92SAndroid Build Coastguard Worker return o;
9019*89c4ff92SAndroid Build Coastguard Worker }
9020*89c4ff92SAndroid Build Coastguard Worker };
9021*89c4ff92SAndroid Build Coastguard Worker
9022*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<QLstmLayer> CreateQLstmLayer(
9023*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
9024*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
9025*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::QLstmDescriptor> descriptor = 0,
9026*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::QLstmInputParams> inputParams = 0) {
9027*89c4ff92SAndroid Build Coastguard Worker QLstmLayerBuilder builder_(_fbb);
9028*89c4ff92SAndroid Build Coastguard Worker builder_.add_inputParams(inputParams);
9029*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
9030*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
9031*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
9032*89c4ff92SAndroid Build Coastguard Worker }
9033*89c4ff92SAndroid Build Coastguard Worker
9034*89c4ff92SAndroid Build Coastguard Worker struct QuantizedLstmInputParams FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9035*89c4ff92SAndroid Build Coastguard Worker typedef QuantizedLstmInputParamsBuilder Builder;
9036*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9037*89c4ff92SAndroid Build Coastguard Worker VT_INPUTTOINPUTWEIGHTS = 4,
9038*89c4ff92SAndroid Build Coastguard Worker VT_INPUTTOFORGETWEIGHTS = 6,
9039*89c4ff92SAndroid Build Coastguard Worker VT_INPUTTOCELLWEIGHTS = 8,
9040*89c4ff92SAndroid Build Coastguard Worker VT_INPUTTOOUTPUTWEIGHTS = 10,
9041*89c4ff92SAndroid Build Coastguard Worker VT_RECURRENTTOINPUTWEIGHTS = 12,
9042*89c4ff92SAndroid Build Coastguard Worker VT_RECURRENTTOFORGETWEIGHTS = 14,
9043*89c4ff92SAndroid Build Coastguard Worker VT_RECURRENTTOCELLWEIGHTS = 16,
9044*89c4ff92SAndroid Build Coastguard Worker VT_RECURRENTTOOUTPUTWEIGHTS = 18,
9045*89c4ff92SAndroid Build Coastguard Worker VT_INPUTGATEBIAS = 20,
9046*89c4ff92SAndroid Build Coastguard Worker VT_FORGETGATEBIAS = 22,
9047*89c4ff92SAndroid Build Coastguard Worker VT_CELLBIAS = 24,
9048*89c4ff92SAndroid Build Coastguard Worker VT_OUTPUTGATEBIAS = 26
9049*89c4ff92SAndroid Build Coastguard Worker };
9050*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *inputToInputWeights() const {
9051*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOINPUTWEIGHTS);
9052*89c4ff92SAndroid Build Coastguard Worker }
9053*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *inputToForgetWeights() const {
9054*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOFORGETWEIGHTS);
9055*89c4ff92SAndroid Build Coastguard Worker }
9056*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *inputToCellWeights() const {
9057*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOCELLWEIGHTS);
9058*89c4ff92SAndroid Build Coastguard Worker }
9059*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *inputToOutputWeights() const {
9060*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTTOOUTPUTWEIGHTS);
9061*89c4ff92SAndroid Build Coastguard Worker }
9062*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *recurrentToInputWeights() const {
9063*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOINPUTWEIGHTS);
9064*89c4ff92SAndroid Build Coastguard Worker }
9065*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *recurrentToForgetWeights() const {
9066*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOFORGETWEIGHTS);
9067*89c4ff92SAndroid Build Coastguard Worker }
9068*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *recurrentToCellWeights() const {
9069*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOCELLWEIGHTS);
9070*89c4ff92SAndroid Build Coastguard Worker }
9071*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *recurrentToOutputWeights() const {
9072*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_RECURRENTTOOUTPUTWEIGHTS);
9073*89c4ff92SAndroid Build Coastguard Worker }
9074*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *inputGateBias() const {
9075*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_INPUTGATEBIAS);
9076*89c4ff92SAndroid Build Coastguard Worker }
9077*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *forgetGateBias() const {
9078*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_FORGETGATEBIAS);
9079*89c4ff92SAndroid Build Coastguard Worker }
9080*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *cellBias() const {
9081*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_CELLBIAS);
9082*89c4ff92SAndroid Build Coastguard Worker }
9083*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *outputGateBias() const {
9084*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_OUTPUTGATEBIAS);
9085*89c4ff92SAndroid Build Coastguard Worker }
9086*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
9087*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
9088*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_INPUTTOINPUTWEIGHTS) &&
9089*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(inputToInputWeights()) &&
9090*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_INPUTTOFORGETWEIGHTS) &&
9091*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(inputToForgetWeights()) &&
9092*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_INPUTTOCELLWEIGHTS) &&
9093*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(inputToCellWeights()) &&
9094*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_INPUTTOOUTPUTWEIGHTS) &&
9095*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(inputToOutputWeights()) &&
9096*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_RECURRENTTOINPUTWEIGHTS) &&
9097*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(recurrentToInputWeights()) &&
9098*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_RECURRENTTOFORGETWEIGHTS) &&
9099*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(recurrentToForgetWeights()) &&
9100*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_RECURRENTTOCELLWEIGHTS) &&
9101*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(recurrentToCellWeights()) &&
9102*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_RECURRENTTOOUTPUTWEIGHTS) &&
9103*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(recurrentToOutputWeights()) &&
9104*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_INPUTGATEBIAS) &&
9105*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(inputGateBias()) &&
9106*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_FORGETGATEBIAS) &&
9107*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(forgetGateBias()) &&
9108*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_CELLBIAS) &&
9109*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(cellBias()) &&
9110*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_OUTPUTGATEBIAS) &&
9111*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(outputGateBias()) &&
9112*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
9113*89c4ff92SAndroid Build Coastguard Worker }
9114*89c4ff92SAndroid Build Coastguard Worker };
9115*89c4ff92SAndroid Build Coastguard Worker
9116*89c4ff92SAndroid Build Coastguard Worker struct QuantizedLstmInputParamsBuilder {
9117*89c4ff92SAndroid Build Coastguard Worker typedef QuantizedLstmInputParams Table;
9118*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
9119*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
9120*89c4ff92SAndroid Build Coastguard Worker void add_inputToInputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToInputWeights) {
9121*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QuantizedLstmInputParams::VT_INPUTTOINPUTWEIGHTS, inputToInputWeights);
9122*89c4ff92SAndroid Build Coastguard Worker }
9123*89c4ff92SAndroid Build Coastguard Worker void add_inputToForgetWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToForgetWeights) {
9124*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QuantizedLstmInputParams::VT_INPUTTOFORGETWEIGHTS, inputToForgetWeights);
9125*89c4ff92SAndroid Build Coastguard Worker }
9126*89c4ff92SAndroid Build Coastguard Worker void add_inputToCellWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToCellWeights) {
9127*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QuantizedLstmInputParams::VT_INPUTTOCELLWEIGHTS, inputToCellWeights);
9128*89c4ff92SAndroid Build Coastguard Worker }
9129*89c4ff92SAndroid Build Coastguard Worker void add_inputToOutputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> inputToOutputWeights) {
9130*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QuantizedLstmInputParams::VT_INPUTTOOUTPUTWEIGHTS, inputToOutputWeights);
9131*89c4ff92SAndroid Build Coastguard Worker }
9132*89c4ff92SAndroid Build Coastguard Worker void add_recurrentToInputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToInputWeights) {
9133*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QuantizedLstmInputParams::VT_RECURRENTTOINPUTWEIGHTS, recurrentToInputWeights);
9134*89c4ff92SAndroid Build Coastguard Worker }
9135*89c4ff92SAndroid Build Coastguard Worker void add_recurrentToForgetWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToForgetWeights) {
9136*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QuantizedLstmInputParams::VT_RECURRENTTOFORGETWEIGHTS, recurrentToForgetWeights);
9137*89c4ff92SAndroid Build Coastguard Worker }
9138*89c4ff92SAndroid Build Coastguard Worker void add_recurrentToCellWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToCellWeights) {
9139*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QuantizedLstmInputParams::VT_RECURRENTTOCELLWEIGHTS, recurrentToCellWeights);
9140*89c4ff92SAndroid Build Coastguard Worker }
9141*89c4ff92SAndroid Build Coastguard Worker void add_recurrentToOutputWeights(flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToOutputWeights) {
9142*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QuantizedLstmInputParams::VT_RECURRENTTOOUTPUTWEIGHTS, recurrentToOutputWeights);
9143*89c4ff92SAndroid Build Coastguard Worker }
9144*89c4ff92SAndroid Build Coastguard Worker void add_inputGateBias(flatbuffers::Offset<armnnSerializer::ConstTensor> inputGateBias) {
9145*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QuantizedLstmInputParams::VT_INPUTGATEBIAS, inputGateBias);
9146*89c4ff92SAndroid Build Coastguard Worker }
9147*89c4ff92SAndroid Build Coastguard Worker void add_forgetGateBias(flatbuffers::Offset<armnnSerializer::ConstTensor> forgetGateBias) {
9148*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QuantizedLstmInputParams::VT_FORGETGATEBIAS, forgetGateBias);
9149*89c4ff92SAndroid Build Coastguard Worker }
9150*89c4ff92SAndroid Build Coastguard Worker void add_cellBias(flatbuffers::Offset<armnnSerializer::ConstTensor> cellBias) {
9151*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QuantizedLstmInputParams::VT_CELLBIAS, cellBias);
9152*89c4ff92SAndroid Build Coastguard Worker }
9153*89c4ff92SAndroid Build Coastguard Worker void add_outputGateBias(flatbuffers::Offset<armnnSerializer::ConstTensor> outputGateBias) {
9154*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QuantizedLstmInputParams::VT_OUTPUTGATEBIAS, outputGateBias);
9155*89c4ff92SAndroid Build Coastguard Worker }
9156*89c4ff92SAndroid Build Coastguard Worker explicit QuantizedLstmInputParamsBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9157*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
9158*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
9159*89c4ff92SAndroid Build Coastguard Worker }
9160*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<QuantizedLstmInputParams> Finish() {
9161*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
9162*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<QuantizedLstmInputParams>(end);
9163*89c4ff92SAndroid Build Coastguard Worker return o;
9164*89c4ff92SAndroid Build Coastguard Worker }
9165*89c4ff92SAndroid Build Coastguard Worker };
9166*89c4ff92SAndroid Build Coastguard Worker
9167*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<QuantizedLstmInputParams> CreateQuantizedLstmInputParams(
9168*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
9169*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> inputToInputWeights = 0,
9170*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> inputToForgetWeights = 0,
9171*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> inputToCellWeights = 0,
9172*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> inputToOutputWeights = 0,
9173*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToInputWeights = 0,
9174*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToForgetWeights = 0,
9175*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToCellWeights = 0,
9176*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> recurrentToOutputWeights = 0,
9177*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> inputGateBias = 0,
9178*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> forgetGateBias = 0,
9179*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> cellBias = 0,
9180*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> outputGateBias = 0) {
9181*89c4ff92SAndroid Build Coastguard Worker QuantizedLstmInputParamsBuilder builder_(_fbb);
9182*89c4ff92SAndroid Build Coastguard Worker builder_.add_outputGateBias(outputGateBias);
9183*89c4ff92SAndroid Build Coastguard Worker builder_.add_cellBias(cellBias);
9184*89c4ff92SAndroid Build Coastguard Worker builder_.add_forgetGateBias(forgetGateBias);
9185*89c4ff92SAndroid Build Coastguard Worker builder_.add_inputGateBias(inputGateBias);
9186*89c4ff92SAndroid Build Coastguard Worker builder_.add_recurrentToOutputWeights(recurrentToOutputWeights);
9187*89c4ff92SAndroid Build Coastguard Worker builder_.add_recurrentToCellWeights(recurrentToCellWeights);
9188*89c4ff92SAndroid Build Coastguard Worker builder_.add_recurrentToForgetWeights(recurrentToForgetWeights);
9189*89c4ff92SAndroid Build Coastguard Worker builder_.add_recurrentToInputWeights(recurrentToInputWeights);
9190*89c4ff92SAndroid Build Coastguard Worker builder_.add_inputToOutputWeights(inputToOutputWeights);
9191*89c4ff92SAndroid Build Coastguard Worker builder_.add_inputToCellWeights(inputToCellWeights);
9192*89c4ff92SAndroid Build Coastguard Worker builder_.add_inputToForgetWeights(inputToForgetWeights);
9193*89c4ff92SAndroid Build Coastguard Worker builder_.add_inputToInputWeights(inputToInputWeights);
9194*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
9195*89c4ff92SAndroid Build Coastguard Worker }
9196*89c4ff92SAndroid Build Coastguard Worker
9197*89c4ff92SAndroid Build Coastguard Worker struct QuantizedLstmLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9198*89c4ff92SAndroid Build Coastguard Worker typedef QuantizedLstmLayerBuilder Builder;
9199*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9200*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
9201*89c4ff92SAndroid Build Coastguard Worker VT_INPUTPARAMS = 6
9202*89c4ff92SAndroid Build Coastguard Worker };
9203*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
9204*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
9205*89c4ff92SAndroid Build Coastguard Worker }
9206*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::QuantizedLstmInputParams *inputParams() const {
9207*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::QuantizedLstmInputParams *>(VT_INPUTPARAMS);
9208*89c4ff92SAndroid Build Coastguard Worker }
9209*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
9210*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
9211*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
9212*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
9213*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_INPUTPARAMS) &&
9214*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(inputParams()) &&
9215*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
9216*89c4ff92SAndroid Build Coastguard Worker }
9217*89c4ff92SAndroid Build Coastguard Worker };
9218*89c4ff92SAndroid Build Coastguard Worker
9219*89c4ff92SAndroid Build Coastguard Worker struct QuantizedLstmLayerBuilder {
9220*89c4ff92SAndroid Build Coastguard Worker typedef QuantizedLstmLayer Table;
9221*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
9222*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
9223*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
9224*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QuantizedLstmLayer::VT_BASE, base);
9225*89c4ff92SAndroid Build Coastguard Worker }
9226*89c4ff92SAndroid Build Coastguard Worker void add_inputParams(flatbuffers::Offset<armnnSerializer::QuantizedLstmInputParams> inputParams) {
9227*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(QuantizedLstmLayer::VT_INPUTPARAMS, inputParams);
9228*89c4ff92SAndroid Build Coastguard Worker }
9229*89c4ff92SAndroid Build Coastguard Worker explicit QuantizedLstmLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9230*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
9231*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
9232*89c4ff92SAndroid Build Coastguard Worker }
9233*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<QuantizedLstmLayer> Finish() {
9234*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
9235*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<QuantizedLstmLayer>(end);
9236*89c4ff92SAndroid Build Coastguard Worker return o;
9237*89c4ff92SAndroid Build Coastguard Worker }
9238*89c4ff92SAndroid Build Coastguard Worker };
9239*89c4ff92SAndroid Build Coastguard Worker
9240*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<QuantizedLstmLayer> CreateQuantizedLstmLayer(
9241*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
9242*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
9243*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::QuantizedLstmInputParams> inputParams = 0) {
9244*89c4ff92SAndroid Build Coastguard Worker QuantizedLstmLayerBuilder builder_(_fbb);
9245*89c4ff92SAndroid Build Coastguard Worker builder_.add_inputParams(inputParams);
9246*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
9247*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
9248*89c4ff92SAndroid Build Coastguard Worker }
9249*89c4ff92SAndroid Build Coastguard Worker
9250*89c4ff92SAndroid Build Coastguard Worker struct DequantizeLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9251*89c4ff92SAndroid Build Coastguard Worker typedef DequantizeLayerBuilder Builder;
9252*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9253*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4
9254*89c4ff92SAndroid Build Coastguard Worker };
9255*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
9256*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
9257*89c4ff92SAndroid Build Coastguard Worker }
9258*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
9259*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
9260*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
9261*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
9262*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
9263*89c4ff92SAndroid Build Coastguard Worker }
9264*89c4ff92SAndroid Build Coastguard Worker };
9265*89c4ff92SAndroid Build Coastguard Worker
9266*89c4ff92SAndroid Build Coastguard Worker struct DequantizeLayerBuilder {
9267*89c4ff92SAndroid Build Coastguard Worker typedef DequantizeLayer Table;
9268*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
9269*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
9270*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
9271*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(DequantizeLayer::VT_BASE, base);
9272*89c4ff92SAndroid Build Coastguard Worker }
9273*89c4ff92SAndroid Build Coastguard Worker explicit DequantizeLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9274*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
9275*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
9276*89c4ff92SAndroid Build Coastguard Worker }
9277*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<DequantizeLayer> Finish() {
9278*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
9279*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<DequantizeLayer>(end);
9280*89c4ff92SAndroid Build Coastguard Worker return o;
9281*89c4ff92SAndroid Build Coastguard Worker }
9282*89c4ff92SAndroid Build Coastguard Worker };
9283*89c4ff92SAndroid Build Coastguard Worker
9284*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<DequantizeLayer> CreateDequantizeLayer(
9285*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
9286*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
9287*89c4ff92SAndroid Build Coastguard Worker DequantizeLayerBuilder builder_(_fbb);
9288*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
9289*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
9290*89c4ff92SAndroid Build Coastguard Worker }
9291*89c4ff92SAndroid Build Coastguard Worker
9292*89c4ff92SAndroid Build Coastguard Worker struct MergeLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9293*89c4ff92SAndroid Build Coastguard Worker typedef MergeLayerBuilder Builder;
9294*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9295*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4
9296*89c4ff92SAndroid Build Coastguard Worker };
9297*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
9298*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
9299*89c4ff92SAndroid Build Coastguard Worker }
9300*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
9301*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
9302*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
9303*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
9304*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
9305*89c4ff92SAndroid Build Coastguard Worker }
9306*89c4ff92SAndroid Build Coastguard Worker };
9307*89c4ff92SAndroid Build Coastguard Worker
9308*89c4ff92SAndroid Build Coastguard Worker struct MergeLayerBuilder {
9309*89c4ff92SAndroid Build Coastguard Worker typedef MergeLayer Table;
9310*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
9311*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
9312*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
9313*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(MergeLayer::VT_BASE, base);
9314*89c4ff92SAndroid Build Coastguard Worker }
9315*89c4ff92SAndroid Build Coastguard Worker explicit MergeLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9316*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
9317*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
9318*89c4ff92SAndroid Build Coastguard Worker }
9319*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<MergeLayer> Finish() {
9320*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
9321*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<MergeLayer>(end);
9322*89c4ff92SAndroid Build Coastguard Worker return o;
9323*89c4ff92SAndroid Build Coastguard Worker }
9324*89c4ff92SAndroid Build Coastguard Worker };
9325*89c4ff92SAndroid Build Coastguard Worker
9326*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<MergeLayer> CreateMergeLayer(
9327*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
9328*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
9329*89c4ff92SAndroid Build Coastguard Worker MergeLayerBuilder builder_(_fbb);
9330*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
9331*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
9332*89c4ff92SAndroid Build Coastguard Worker }
9333*89c4ff92SAndroid Build Coastguard Worker
9334*89c4ff92SAndroid Build Coastguard Worker struct SwitchLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9335*89c4ff92SAndroid Build Coastguard Worker typedef SwitchLayerBuilder Builder;
9336*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9337*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4
9338*89c4ff92SAndroid Build Coastguard Worker };
9339*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
9340*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
9341*89c4ff92SAndroid Build Coastguard Worker }
9342*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
9343*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
9344*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
9345*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
9346*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
9347*89c4ff92SAndroid Build Coastguard Worker }
9348*89c4ff92SAndroid Build Coastguard Worker };
9349*89c4ff92SAndroid Build Coastguard Worker
9350*89c4ff92SAndroid Build Coastguard Worker struct SwitchLayerBuilder {
9351*89c4ff92SAndroid Build Coastguard Worker typedef SwitchLayer Table;
9352*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
9353*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
9354*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
9355*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(SwitchLayer::VT_BASE, base);
9356*89c4ff92SAndroid Build Coastguard Worker }
9357*89c4ff92SAndroid Build Coastguard Worker explicit SwitchLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9358*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
9359*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
9360*89c4ff92SAndroid Build Coastguard Worker }
9361*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<SwitchLayer> Finish() {
9362*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
9363*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<SwitchLayer>(end);
9364*89c4ff92SAndroid Build Coastguard Worker return o;
9365*89c4ff92SAndroid Build Coastguard Worker }
9366*89c4ff92SAndroid Build Coastguard Worker };
9367*89c4ff92SAndroid Build Coastguard Worker
9368*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<SwitchLayer> CreateSwitchLayer(
9369*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
9370*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
9371*89c4ff92SAndroid Build Coastguard Worker SwitchLayerBuilder builder_(_fbb);
9372*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
9373*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
9374*89c4ff92SAndroid Build Coastguard Worker }
9375*89c4ff92SAndroid Build Coastguard Worker
9376*89c4ff92SAndroid Build Coastguard Worker struct PreluLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9377*89c4ff92SAndroid Build Coastguard Worker typedef PreluLayerBuilder Builder;
9378*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9379*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4
9380*89c4ff92SAndroid Build Coastguard Worker };
9381*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
9382*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
9383*89c4ff92SAndroid Build Coastguard Worker }
9384*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
9385*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
9386*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
9387*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
9388*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
9389*89c4ff92SAndroid Build Coastguard Worker }
9390*89c4ff92SAndroid Build Coastguard Worker };
9391*89c4ff92SAndroid Build Coastguard Worker
9392*89c4ff92SAndroid Build Coastguard Worker struct PreluLayerBuilder {
9393*89c4ff92SAndroid Build Coastguard Worker typedef PreluLayer Table;
9394*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
9395*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
9396*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
9397*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(PreluLayer::VT_BASE, base);
9398*89c4ff92SAndroid Build Coastguard Worker }
9399*89c4ff92SAndroid Build Coastguard Worker explicit PreluLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9400*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
9401*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
9402*89c4ff92SAndroid Build Coastguard Worker }
9403*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<PreluLayer> Finish() {
9404*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
9405*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<PreluLayer>(end);
9406*89c4ff92SAndroid Build Coastguard Worker return o;
9407*89c4ff92SAndroid Build Coastguard Worker }
9408*89c4ff92SAndroid Build Coastguard Worker };
9409*89c4ff92SAndroid Build Coastguard Worker
9410*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<PreluLayer> CreatePreluLayer(
9411*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
9412*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
9413*89c4ff92SAndroid Build Coastguard Worker PreluLayerBuilder builder_(_fbb);
9414*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
9415*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
9416*89c4ff92SAndroid Build Coastguard Worker }
9417*89c4ff92SAndroid Build Coastguard Worker
9418*89c4ff92SAndroid Build Coastguard Worker struct TransposeConvolution2dLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9419*89c4ff92SAndroid Build Coastguard Worker typedef TransposeConvolution2dLayerBuilder Builder;
9420*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9421*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
9422*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6,
9423*89c4ff92SAndroid Build Coastguard Worker VT_WEIGHTS = 8,
9424*89c4ff92SAndroid Build Coastguard Worker VT_BIASES = 10
9425*89c4ff92SAndroid Build Coastguard Worker };
9426*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
9427*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
9428*89c4ff92SAndroid Build Coastguard Worker }
9429*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::TransposeConvolution2dDescriptor *descriptor() const {
9430*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::TransposeConvolution2dDescriptor *>(VT_DESCRIPTOR);
9431*89c4ff92SAndroid Build Coastguard Worker }
9432*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *weights() const {
9433*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_WEIGHTS);
9434*89c4ff92SAndroid Build Coastguard Worker }
9435*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstTensor *biases() const {
9436*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ConstTensor *>(VT_BIASES);
9437*89c4ff92SAndroid Build Coastguard Worker }
9438*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
9439*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
9440*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
9441*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
9442*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
9443*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
9444*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_WEIGHTS) &&
9445*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(weights()) &&
9446*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BIASES) &&
9447*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(biases()) &&
9448*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
9449*89c4ff92SAndroid Build Coastguard Worker }
9450*89c4ff92SAndroid Build Coastguard Worker };
9451*89c4ff92SAndroid Build Coastguard Worker
9452*89c4ff92SAndroid Build Coastguard Worker struct TransposeConvolution2dLayerBuilder {
9453*89c4ff92SAndroid Build Coastguard Worker typedef TransposeConvolution2dLayer Table;
9454*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
9455*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
9456*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
9457*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(TransposeConvolution2dLayer::VT_BASE, base);
9458*89c4ff92SAndroid Build Coastguard Worker }
9459*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::TransposeConvolution2dDescriptor> descriptor) {
9460*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(TransposeConvolution2dLayer::VT_DESCRIPTOR, descriptor);
9461*89c4ff92SAndroid Build Coastguard Worker }
9462*89c4ff92SAndroid Build Coastguard Worker void add_weights(flatbuffers::Offset<armnnSerializer::ConstTensor> weights) {
9463*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(TransposeConvolution2dLayer::VT_WEIGHTS, weights);
9464*89c4ff92SAndroid Build Coastguard Worker }
9465*89c4ff92SAndroid Build Coastguard Worker void add_biases(flatbuffers::Offset<armnnSerializer::ConstTensor> biases) {
9466*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(TransposeConvolution2dLayer::VT_BIASES, biases);
9467*89c4ff92SAndroid Build Coastguard Worker }
9468*89c4ff92SAndroid Build Coastguard Worker explicit TransposeConvolution2dLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9469*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
9470*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
9471*89c4ff92SAndroid Build Coastguard Worker }
9472*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<TransposeConvolution2dLayer> Finish() {
9473*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
9474*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<TransposeConvolution2dLayer>(end);
9475*89c4ff92SAndroid Build Coastguard Worker return o;
9476*89c4ff92SAndroid Build Coastguard Worker }
9477*89c4ff92SAndroid Build Coastguard Worker };
9478*89c4ff92SAndroid Build Coastguard Worker
9479*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<TransposeConvolution2dLayer> CreateTransposeConvolution2dLayer(
9480*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
9481*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
9482*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::TransposeConvolution2dDescriptor> descriptor = 0,
9483*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> weights = 0,
9484*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ConstTensor> biases = 0) {
9485*89c4ff92SAndroid Build Coastguard Worker TransposeConvolution2dLayerBuilder builder_(_fbb);
9486*89c4ff92SAndroid Build Coastguard Worker builder_.add_biases(biases);
9487*89c4ff92SAndroid Build Coastguard Worker builder_.add_weights(weights);
9488*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
9489*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
9490*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
9491*89c4ff92SAndroid Build Coastguard Worker }
9492*89c4ff92SAndroid Build Coastguard Worker
9493*89c4ff92SAndroid Build Coastguard Worker struct TransposeConvolution2dDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9494*89c4ff92SAndroid Build Coastguard Worker typedef TransposeConvolution2dDescriptorBuilder Builder;
9495*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9496*89c4ff92SAndroid Build Coastguard Worker VT_PADLEFT = 4,
9497*89c4ff92SAndroid Build Coastguard Worker VT_PADRIGHT = 6,
9498*89c4ff92SAndroid Build Coastguard Worker VT_PADTOP = 8,
9499*89c4ff92SAndroid Build Coastguard Worker VT_PADBOTTOM = 10,
9500*89c4ff92SAndroid Build Coastguard Worker VT_STRIDEX = 12,
9501*89c4ff92SAndroid Build Coastguard Worker VT_STRIDEY = 14,
9502*89c4ff92SAndroid Build Coastguard Worker VT_BIASENABLED = 16,
9503*89c4ff92SAndroid Build Coastguard Worker VT_DATALAYOUT = 18
9504*89c4ff92SAndroid Build Coastguard Worker };
9505*89c4ff92SAndroid Build Coastguard Worker uint32_t padLeft() const {
9506*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_PADLEFT, 0);
9507*89c4ff92SAndroid Build Coastguard Worker }
9508*89c4ff92SAndroid Build Coastguard Worker uint32_t padRight() const {
9509*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_PADRIGHT, 0);
9510*89c4ff92SAndroid Build Coastguard Worker }
9511*89c4ff92SAndroid Build Coastguard Worker uint32_t padTop() const {
9512*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_PADTOP, 0);
9513*89c4ff92SAndroid Build Coastguard Worker }
9514*89c4ff92SAndroid Build Coastguard Worker uint32_t padBottom() const {
9515*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_PADBOTTOM, 0);
9516*89c4ff92SAndroid Build Coastguard Worker }
9517*89c4ff92SAndroid Build Coastguard Worker uint32_t strideX() const {
9518*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_STRIDEX, 0);
9519*89c4ff92SAndroid Build Coastguard Worker }
9520*89c4ff92SAndroid Build Coastguard Worker uint32_t strideY() const {
9521*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_STRIDEY, 0);
9522*89c4ff92SAndroid Build Coastguard Worker }
9523*89c4ff92SAndroid Build Coastguard Worker bool biasEnabled() const {
9524*89c4ff92SAndroid Build Coastguard Worker return GetField<uint8_t>(VT_BIASENABLED, 0) != 0;
9525*89c4ff92SAndroid Build Coastguard Worker }
9526*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout() const {
9527*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 1));
9528*89c4ff92SAndroid Build Coastguard Worker }
9529*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
9530*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
9531*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_PADLEFT, 4) &&
9532*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_PADRIGHT, 4) &&
9533*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_PADTOP, 4) &&
9534*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_PADBOTTOM, 4) &&
9535*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_STRIDEX, 4) &&
9536*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_STRIDEY, 4) &&
9537*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_BIASENABLED, 1) &&
9538*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_DATALAYOUT, 1) &&
9539*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
9540*89c4ff92SAndroid Build Coastguard Worker }
9541*89c4ff92SAndroid Build Coastguard Worker };
9542*89c4ff92SAndroid Build Coastguard Worker
9543*89c4ff92SAndroid Build Coastguard Worker struct TransposeConvolution2dDescriptorBuilder {
9544*89c4ff92SAndroid Build Coastguard Worker typedef TransposeConvolution2dDescriptor Table;
9545*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
9546*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
9547*89c4ff92SAndroid Build Coastguard Worker void add_padLeft(uint32_t padLeft) {
9548*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(TransposeConvolution2dDescriptor::VT_PADLEFT, padLeft, 0);
9549*89c4ff92SAndroid Build Coastguard Worker }
9550*89c4ff92SAndroid Build Coastguard Worker void add_padRight(uint32_t padRight) {
9551*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(TransposeConvolution2dDescriptor::VT_PADRIGHT, padRight, 0);
9552*89c4ff92SAndroid Build Coastguard Worker }
9553*89c4ff92SAndroid Build Coastguard Worker void add_padTop(uint32_t padTop) {
9554*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(TransposeConvolution2dDescriptor::VT_PADTOP, padTop, 0);
9555*89c4ff92SAndroid Build Coastguard Worker }
9556*89c4ff92SAndroid Build Coastguard Worker void add_padBottom(uint32_t padBottom) {
9557*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(TransposeConvolution2dDescriptor::VT_PADBOTTOM, padBottom, 0);
9558*89c4ff92SAndroid Build Coastguard Worker }
9559*89c4ff92SAndroid Build Coastguard Worker void add_strideX(uint32_t strideX) {
9560*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(TransposeConvolution2dDescriptor::VT_STRIDEX, strideX, 0);
9561*89c4ff92SAndroid Build Coastguard Worker }
9562*89c4ff92SAndroid Build Coastguard Worker void add_strideY(uint32_t strideY) {
9563*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(TransposeConvolution2dDescriptor::VT_STRIDEY, strideY, 0);
9564*89c4ff92SAndroid Build Coastguard Worker }
9565*89c4ff92SAndroid Build Coastguard Worker void add_biasEnabled(bool biasEnabled) {
9566*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(TransposeConvolution2dDescriptor::VT_BIASENABLED, static_cast<uint8_t>(biasEnabled), 0);
9567*89c4ff92SAndroid Build Coastguard Worker }
9568*89c4ff92SAndroid Build Coastguard Worker void add_dataLayout(armnnSerializer::DataLayout dataLayout) {
9569*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(TransposeConvolution2dDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 1);
9570*89c4ff92SAndroid Build Coastguard Worker }
9571*89c4ff92SAndroid Build Coastguard Worker explicit TransposeConvolution2dDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9572*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
9573*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
9574*89c4ff92SAndroid Build Coastguard Worker }
9575*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<TransposeConvolution2dDescriptor> Finish() {
9576*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
9577*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<TransposeConvolution2dDescriptor>(end);
9578*89c4ff92SAndroid Build Coastguard Worker return o;
9579*89c4ff92SAndroid Build Coastguard Worker }
9580*89c4ff92SAndroid Build Coastguard Worker };
9581*89c4ff92SAndroid Build Coastguard Worker
9582*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<TransposeConvolution2dDescriptor> CreateTransposeConvolution2dDescriptor(
9583*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
9584*89c4ff92SAndroid Build Coastguard Worker uint32_t padLeft = 0,
9585*89c4ff92SAndroid Build Coastguard Worker uint32_t padRight = 0,
9586*89c4ff92SAndroid Build Coastguard Worker uint32_t padTop = 0,
9587*89c4ff92SAndroid Build Coastguard Worker uint32_t padBottom = 0,
9588*89c4ff92SAndroid Build Coastguard Worker uint32_t strideX = 0,
9589*89c4ff92SAndroid Build Coastguard Worker uint32_t strideY = 0,
9590*89c4ff92SAndroid Build Coastguard Worker bool biasEnabled = false,
9591*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout = armnnSerializer::DataLayout_NCHW) {
9592*89c4ff92SAndroid Build Coastguard Worker TransposeConvolution2dDescriptorBuilder builder_(_fbb);
9593*89c4ff92SAndroid Build Coastguard Worker builder_.add_strideY(strideY);
9594*89c4ff92SAndroid Build Coastguard Worker builder_.add_strideX(strideX);
9595*89c4ff92SAndroid Build Coastguard Worker builder_.add_padBottom(padBottom);
9596*89c4ff92SAndroid Build Coastguard Worker builder_.add_padTop(padTop);
9597*89c4ff92SAndroid Build Coastguard Worker builder_.add_padRight(padRight);
9598*89c4ff92SAndroid Build Coastguard Worker builder_.add_padLeft(padLeft);
9599*89c4ff92SAndroid Build Coastguard Worker builder_.add_dataLayout(dataLayout);
9600*89c4ff92SAndroid Build Coastguard Worker builder_.add_biasEnabled(biasEnabled);
9601*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
9602*89c4ff92SAndroid Build Coastguard Worker }
9603*89c4ff92SAndroid Build Coastguard Worker
9604*89c4ff92SAndroid Build Coastguard Worker struct TransposeLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9605*89c4ff92SAndroid Build Coastguard Worker typedef TransposeLayerBuilder Builder;
9606*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9607*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
9608*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
9609*89c4ff92SAndroid Build Coastguard Worker };
9610*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
9611*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
9612*89c4ff92SAndroid Build Coastguard Worker }
9613*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::TransposeDescriptor *descriptor() const {
9614*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::TransposeDescriptor *>(VT_DESCRIPTOR);
9615*89c4ff92SAndroid Build Coastguard Worker }
9616*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
9617*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
9618*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
9619*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
9620*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
9621*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
9622*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
9623*89c4ff92SAndroid Build Coastguard Worker }
9624*89c4ff92SAndroid Build Coastguard Worker };
9625*89c4ff92SAndroid Build Coastguard Worker
9626*89c4ff92SAndroid Build Coastguard Worker struct TransposeLayerBuilder {
9627*89c4ff92SAndroid Build Coastguard Worker typedef TransposeLayer Table;
9628*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
9629*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
9630*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
9631*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(TransposeLayer::VT_BASE, base);
9632*89c4ff92SAndroid Build Coastguard Worker }
9633*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::TransposeDescriptor> descriptor) {
9634*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(TransposeLayer::VT_DESCRIPTOR, descriptor);
9635*89c4ff92SAndroid Build Coastguard Worker }
9636*89c4ff92SAndroid Build Coastguard Worker explicit TransposeLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9637*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
9638*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
9639*89c4ff92SAndroid Build Coastguard Worker }
9640*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<TransposeLayer> Finish() {
9641*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
9642*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<TransposeLayer>(end);
9643*89c4ff92SAndroid Build Coastguard Worker return o;
9644*89c4ff92SAndroid Build Coastguard Worker }
9645*89c4ff92SAndroid Build Coastguard Worker };
9646*89c4ff92SAndroid Build Coastguard Worker
9647*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<TransposeLayer> CreateTransposeLayer(
9648*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
9649*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
9650*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::TransposeDescriptor> descriptor = 0) {
9651*89c4ff92SAndroid Build Coastguard Worker TransposeLayerBuilder builder_(_fbb);
9652*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
9653*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
9654*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
9655*89c4ff92SAndroid Build Coastguard Worker }
9656*89c4ff92SAndroid Build Coastguard Worker
9657*89c4ff92SAndroid Build Coastguard Worker struct TransposeDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9658*89c4ff92SAndroid Build Coastguard Worker typedef TransposeDescriptorBuilder Builder;
9659*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9660*89c4ff92SAndroid Build Coastguard Worker VT_DIMMAPPINGS = 4
9661*89c4ff92SAndroid Build Coastguard Worker };
9662*89c4ff92SAndroid Build Coastguard Worker const flatbuffers::Vector<uint32_t> *dimMappings() const {
9663*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_DIMMAPPINGS);
9664*89c4ff92SAndroid Build Coastguard Worker }
9665*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
9666*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
9667*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DIMMAPPINGS) &&
9668*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVector(dimMappings()) &&
9669*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
9670*89c4ff92SAndroid Build Coastguard Worker }
9671*89c4ff92SAndroid Build Coastguard Worker };
9672*89c4ff92SAndroid Build Coastguard Worker
9673*89c4ff92SAndroid Build Coastguard Worker struct TransposeDescriptorBuilder {
9674*89c4ff92SAndroid Build Coastguard Worker typedef TransposeDescriptor Table;
9675*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
9676*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
9677*89c4ff92SAndroid Build Coastguard Worker void add_dimMappings(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> dimMappings) {
9678*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(TransposeDescriptor::VT_DIMMAPPINGS, dimMappings);
9679*89c4ff92SAndroid Build Coastguard Worker }
9680*89c4ff92SAndroid Build Coastguard Worker explicit TransposeDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9681*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
9682*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
9683*89c4ff92SAndroid Build Coastguard Worker }
9684*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<TransposeDescriptor> Finish() {
9685*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
9686*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<TransposeDescriptor>(end);
9687*89c4ff92SAndroid Build Coastguard Worker return o;
9688*89c4ff92SAndroid Build Coastguard Worker }
9689*89c4ff92SAndroid Build Coastguard Worker };
9690*89c4ff92SAndroid Build Coastguard Worker
9691*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<TransposeDescriptor> CreateTransposeDescriptor(
9692*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
9693*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<flatbuffers::Vector<uint32_t>> dimMappings = 0) {
9694*89c4ff92SAndroid Build Coastguard Worker TransposeDescriptorBuilder builder_(_fbb);
9695*89c4ff92SAndroid Build Coastguard Worker builder_.add_dimMappings(dimMappings);
9696*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
9697*89c4ff92SAndroid Build Coastguard Worker }
9698*89c4ff92SAndroid Build Coastguard Worker
9699*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<TransposeDescriptor> CreateTransposeDescriptorDirect(
9700*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
9701*89c4ff92SAndroid Build Coastguard Worker const std::vector<uint32_t> *dimMappings = nullptr) {
9702*89c4ff92SAndroid Build Coastguard Worker auto dimMappings__ = dimMappings ? _fbb.CreateVector<uint32_t>(*dimMappings) : 0;
9703*89c4ff92SAndroid Build Coastguard Worker return armnnSerializer::CreateTransposeDescriptor(
9704*89c4ff92SAndroid Build Coastguard Worker _fbb,
9705*89c4ff92SAndroid Build Coastguard Worker dimMappings__);
9706*89c4ff92SAndroid Build Coastguard Worker }
9707*89c4ff92SAndroid Build Coastguard Worker
9708*89c4ff92SAndroid Build Coastguard Worker struct ResizeLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9709*89c4ff92SAndroid Build Coastguard Worker typedef ResizeLayerBuilder Builder;
9710*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9711*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
9712*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
9713*89c4ff92SAndroid Build Coastguard Worker };
9714*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
9715*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
9716*89c4ff92SAndroid Build Coastguard Worker }
9717*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ResizeDescriptor *descriptor() const {
9718*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ResizeDescriptor *>(VT_DESCRIPTOR);
9719*89c4ff92SAndroid Build Coastguard Worker }
9720*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
9721*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
9722*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
9723*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
9724*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
9725*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
9726*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
9727*89c4ff92SAndroid Build Coastguard Worker }
9728*89c4ff92SAndroid Build Coastguard Worker };
9729*89c4ff92SAndroid Build Coastguard Worker
9730*89c4ff92SAndroid Build Coastguard Worker struct ResizeLayerBuilder {
9731*89c4ff92SAndroid Build Coastguard Worker typedef ResizeLayer Table;
9732*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
9733*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
9734*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
9735*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ResizeLayer::VT_BASE, base);
9736*89c4ff92SAndroid Build Coastguard Worker }
9737*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::ResizeDescriptor> descriptor) {
9738*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ResizeLayer::VT_DESCRIPTOR, descriptor);
9739*89c4ff92SAndroid Build Coastguard Worker }
9740*89c4ff92SAndroid Build Coastguard Worker explicit ResizeLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9741*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
9742*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
9743*89c4ff92SAndroid Build Coastguard Worker }
9744*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<ResizeLayer> Finish() {
9745*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
9746*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<ResizeLayer>(end);
9747*89c4ff92SAndroid Build Coastguard Worker return o;
9748*89c4ff92SAndroid Build Coastguard Worker }
9749*89c4ff92SAndroid Build Coastguard Worker };
9750*89c4ff92SAndroid Build Coastguard Worker
9751*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<ResizeLayer> CreateResizeLayer(
9752*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
9753*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
9754*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ResizeDescriptor> descriptor = 0) {
9755*89c4ff92SAndroid Build Coastguard Worker ResizeLayerBuilder builder_(_fbb);
9756*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
9757*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
9758*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
9759*89c4ff92SAndroid Build Coastguard Worker }
9760*89c4ff92SAndroid Build Coastguard Worker
9761*89c4ff92SAndroid Build Coastguard Worker struct ResizeDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9762*89c4ff92SAndroid Build Coastguard Worker typedef ResizeDescriptorBuilder Builder;
9763*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9764*89c4ff92SAndroid Build Coastguard Worker VT_TARGETHEIGHT = 4,
9765*89c4ff92SAndroid Build Coastguard Worker VT_TARGETWIDTH = 6,
9766*89c4ff92SAndroid Build Coastguard Worker VT_METHOD = 8,
9767*89c4ff92SAndroid Build Coastguard Worker VT_DATALAYOUT = 10,
9768*89c4ff92SAndroid Build Coastguard Worker VT_ALIGNCORNERS = 12,
9769*89c4ff92SAndroid Build Coastguard Worker VT_HALFPIXELCENTERS = 14
9770*89c4ff92SAndroid Build Coastguard Worker };
9771*89c4ff92SAndroid Build Coastguard Worker uint32_t targetHeight() const {
9772*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_TARGETHEIGHT, 0);
9773*89c4ff92SAndroid Build Coastguard Worker }
9774*89c4ff92SAndroid Build Coastguard Worker uint32_t targetWidth() const {
9775*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_TARGETWIDTH, 0);
9776*89c4ff92SAndroid Build Coastguard Worker }
9777*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::ResizeMethod method() const {
9778*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::ResizeMethod>(GetField<int8_t>(VT_METHOD, 0));
9779*89c4ff92SAndroid Build Coastguard Worker }
9780*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout() const {
9781*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUT, 0));
9782*89c4ff92SAndroid Build Coastguard Worker }
9783*89c4ff92SAndroid Build Coastguard Worker bool alignCorners() const {
9784*89c4ff92SAndroid Build Coastguard Worker return GetField<uint8_t>(VT_ALIGNCORNERS, 0) != 0;
9785*89c4ff92SAndroid Build Coastguard Worker }
9786*89c4ff92SAndroid Build Coastguard Worker bool halfPixelCenters() const {
9787*89c4ff92SAndroid Build Coastguard Worker return GetField<uint8_t>(VT_HALFPIXELCENTERS, 0) != 0;
9788*89c4ff92SAndroid Build Coastguard Worker }
9789*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
9790*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
9791*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_TARGETHEIGHT, 4) &&
9792*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_TARGETWIDTH, 4) &&
9793*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_METHOD, 1) &&
9794*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_DATALAYOUT, 1) &&
9795*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_ALIGNCORNERS, 1) &&
9796*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_HALFPIXELCENTERS, 1) &&
9797*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
9798*89c4ff92SAndroid Build Coastguard Worker }
9799*89c4ff92SAndroid Build Coastguard Worker };
9800*89c4ff92SAndroid Build Coastguard Worker
9801*89c4ff92SAndroid Build Coastguard Worker struct ResizeDescriptorBuilder {
9802*89c4ff92SAndroid Build Coastguard Worker typedef ResizeDescriptor Table;
9803*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
9804*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
9805*89c4ff92SAndroid Build Coastguard Worker void add_targetHeight(uint32_t targetHeight) {
9806*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(ResizeDescriptor::VT_TARGETHEIGHT, targetHeight, 0);
9807*89c4ff92SAndroid Build Coastguard Worker }
9808*89c4ff92SAndroid Build Coastguard Worker void add_targetWidth(uint32_t targetWidth) {
9809*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(ResizeDescriptor::VT_TARGETWIDTH, targetWidth, 0);
9810*89c4ff92SAndroid Build Coastguard Worker }
9811*89c4ff92SAndroid Build Coastguard Worker void add_method(armnnSerializer::ResizeMethod method) {
9812*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(ResizeDescriptor::VT_METHOD, static_cast<int8_t>(method), 0);
9813*89c4ff92SAndroid Build Coastguard Worker }
9814*89c4ff92SAndroid Build Coastguard Worker void add_dataLayout(armnnSerializer::DataLayout dataLayout) {
9815*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(ResizeDescriptor::VT_DATALAYOUT, static_cast<int8_t>(dataLayout), 0);
9816*89c4ff92SAndroid Build Coastguard Worker }
9817*89c4ff92SAndroid Build Coastguard Worker void add_alignCorners(bool alignCorners) {
9818*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(ResizeDescriptor::VT_ALIGNCORNERS, static_cast<uint8_t>(alignCorners), 0);
9819*89c4ff92SAndroid Build Coastguard Worker }
9820*89c4ff92SAndroid Build Coastguard Worker void add_halfPixelCenters(bool halfPixelCenters) {
9821*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(ResizeDescriptor::VT_HALFPIXELCENTERS, static_cast<uint8_t>(halfPixelCenters), 0);
9822*89c4ff92SAndroid Build Coastguard Worker }
9823*89c4ff92SAndroid Build Coastguard Worker explicit ResizeDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9824*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
9825*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
9826*89c4ff92SAndroid Build Coastguard Worker }
9827*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<ResizeDescriptor> Finish() {
9828*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
9829*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<ResizeDescriptor>(end);
9830*89c4ff92SAndroid Build Coastguard Worker return o;
9831*89c4ff92SAndroid Build Coastguard Worker }
9832*89c4ff92SAndroid Build Coastguard Worker };
9833*89c4ff92SAndroid Build Coastguard Worker
9834*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<ResizeDescriptor> CreateResizeDescriptor(
9835*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
9836*89c4ff92SAndroid Build Coastguard Worker uint32_t targetHeight = 0,
9837*89c4ff92SAndroid Build Coastguard Worker uint32_t targetWidth = 0,
9838*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::ResizeMethod method = armnnSerializer::ResizeMethod_NearestNeighbor,
9839*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayout = armnnSerializer::DataLayout_NHWC,
9840*89c4ff92SAndroid Build Coastguard Worker bool alignCorners = false,
9841*89c4ff92SAndroid Build Coastguard Worker bool halfPixelCenters = false) {
9842*89c4ff92SAndroid Build Coastguard Worker ResizeDescriptorBuilder builder_(_fbb);
9843*89c4ff92SAndroid Build Coastguard Worker builder_.add_targetWidth(targetWidth);
9844*89c4ff92SAndroid Build Coastguard Worker builder_.add_targetHeight(targetHeight);
9845*89c4ff92SAndroid Build Coastguard Worker builder_.add_halfPixelCenters(halfPixelCenters);
9846*89c4ff92SAndroid Build Coastguard Worker builder_.add_alignCorners(alignCorners);
9847*89c4ff92SAndroid Build Coastguard Worker builder_.add_dataLayout(dataLayout);
9848*89c4ff92SAndroid Build Coastguard Worker builder_.add_method(method);
9849*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
9850*89c4ff92SAndroid Build Coastguard Worker }
9851*89c4ff92SAndroid Build Coastguard Worker
9852*89c4ff92SAndroid Build Coastguard Worker struct StackLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9853*89c4ff92SAndroid Build Coastguard Worker typedef StackLayerBuilder Builder;
9854*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9855*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
9856*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
9857*89c4ff92SAndroid Build Coastguard Worker };
9858*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
9859*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
9860*89c4ff92SAndroid Build Coastguard Worker }
9861*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::StackDescriptor *descriptor() const {
9862*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::StackDescriptor *>(VT_DESCRIPTOR);
9863*89c4ff92SAndroid Build Coastguard Worker }
9864*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
9865*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
9866*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
9867*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
9868*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
9869*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
9870*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
9871*89c4ff92SAndroid Build Coastguard Worker }
9872*89c4ff92SAndroid Build Coastguard Worker };
9873*89c4ff92SAndroid Build Coastguard Worker
9874*89c4ff92SAndroid Build Coastguard Worker struct StackLayerBuilder {
9875*89c4ff92SAndroid Build Coastguard Worker typedef StackLayer Table;
9876*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
9877*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
9878*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
9879*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(StackLayer::VT_BASE, base);
9880*89c4ff92SAndroid Build Coastguard Worker }
9881*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::StackDescriptor> descriptor) {
9882*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(StackLayer::VT_DESCRIPTOR, descriptor);
9883*89c4ff92SAndroid Build Coastguard Worker }
9884*89c4ff92SAndroid Build Coastguard Worker explicit StackLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9885*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
9886*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
9887*89c4ff92SAndroid Build Coastguard Worker }
9888*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<StackLayer> Finish() {
9889*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
9890*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<StackLayer>(end);
9891*89c4ff92SAndroid Build Coastguard Worker return o;
9892*89c4ff92SAndroid Build Coastguard Worker }
9893*89c4ff92SAndroid Build Coastguard Worker };
9894*89c4ff92SAndroid Build Coastguard Worker
9895*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<StackLayer> CreateStackLayer(
9896*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
9897*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
9898*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::StackDescriptor> descriptor = 0) {
9899*89c4ff92SAndroid Build Coastguard Worker StackLayerBuilder builder_(_fbb);
9900*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
9901*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
9902*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
9903*89c4ff92SAndroid Build Coastguard Worker }
9904*89c4ff92SAndroid Build Coastguard Worker
9905*89c4ff92SAndroid Build Coastguard Worker struct StackDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9906*89c4ff92SAndroid Build Coastguard Worker typedef StackDescriptorBuilder Builder;
9907*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9908*89c4ff92SAndroid Build Coastguard Worker VT_AXIS = 4,
9909*89c4ff92SAndroid Build Coastguard Worker VT_NUMINPUTS = 6,
9910*89c4ff92SAndroid Build Coastguard Worker VT_INPUTSHAPE = 8
9911*89c4ff92SAndroid Build Coastguard Worker };
9912*89c4ff92SAndroid Build Coastguard Worker uint32_t axis() const {
9913*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_AXIS, 0);
9914*89c4ff92SAndroid Build Coastguard Worker }
9915*89c4ff92SAndroid Build Coastguard Worker uint32_t numInputs() const {
9916*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_NUMINPUTS, 0);
9917*89c4ff92SAndroid Build Coastguard Worker }
9918*89c4ff92SAndroid Build Coastguard Worker const flatbuffers::Vector<uint32_t> *inputShape() const {
9919*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_INPUTSHAPE);
9920*89c4ff92SAndroid Build Coastguard Worker }
9921*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
9922*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
9923*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_AXIS, 4) &&
9924*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_NUMINPUTS, 4) &&
9925*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_INPUTSHAPE) &&
9926*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVector(inputShape()) &&
9927*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
9928*89c4ff92SAndroid Build Coastguard Worker }
9929*89c4ff92SAndroid Build Coastguard Worker };
9930*89c4ff92SAndroid Build Coastguard Worker
9931*89c4ff92SAndroid Build Coastguard Worker struct StackDescriptorBuilder {
9932*89c4ff92SAndroid Build Coastguard Worker typedef StackDescriptor Table;
9933*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
9934*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
9935*89c4ff92SAndroid Build Coastguard Worker void add_axis(uint32_t axis) {
9936*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(StackDescriptor::VT_AXIS, axis, 0);
9937*89c4ff92SAndroid Build Coastguard Worker }
9938*89c4ff92SAndroid Build Coastguard Worker void add_numInputs(uint32_t numInputs) {
9939*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(StackDescriptor::VT_NUMINPUTS, numInputs, 0);
9940*89c4ff92SAndroid Build Coastguard Worker }
9941*89c4ff92SAndroid Build Coastguard Worker void add_inputShape(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> inputShape) {
9942*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(StackDescriptor::VT_INPUTSHAPE, inputShape);
9943*89c4ff92SAndroid Build Coastguard Worker }
9944*89c4ff92SAndroid Build Coastguard Worker explicit StackDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
9945*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
9946*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
9947*89c4ff92SAndroid Build Coastguard Worker }
9948*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<StackDescriptor> Finish() {
9949*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
9950*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<StackDescriptor>(end);
9951*89c4ff92SAndroid Build Coastguard Worker return o;
9952*89c4ff92SAndroid Build Coastguard Worker }
9953*89c4ff92SAndroid Build Coastguard Worker };
9954*89c4ff92SAndroid Build Coastguard Worker
9955*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<StackDescriptor> CreateStackDescriptor(
9956*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
9957*89c4ff92SAndroid Build Coastguard Worker uint32_t axis = 0,
9958*89c4ff92SAndroid Build Coastguard Worker uint32_t numInputs = 0,
9959*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<flatbuffers::Vector<uint32_t>> inputShape = 0) {
9960*89c4ff92SAndroid Build Coastguard Worker StackDescriptorBuilder builder_(_fbb);
9961*89c4ff92SAndroid Build Coastguard Worker builder_.add_inputShape(inputShape);
9962*89c4ff92SAndroid Build Coastguard Worker builder_.add_numInputs(numInputs);
9963*89c4ff92SAndroid Build Coastguard Worker builder_.add_axis(axis);
9964*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
9965*89c4ff92SAndroid Build Coastguard Worker }
9966*89c4ff92SAndroid Build Coastguard Worker
9967*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<StackDescriptor> CreateStackDescriptorDirect(
9968*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
9969*89c4ff92SAndroid Build Coastguard Worker uint32_t axis = 0,
9970*89c4ff92SAndroid Build Coastguard Worker uint32_t numInputs = 0,
9971*89c4ff92SAndroid Build Coastguard Worker const std::vector<uint32_t> *inputShape = nullptr) {
9972*89c4ff92SAndroid Build Coastguard Worker auto inputShape__ = inputShape ? _fbb.CreateVector<uint32_t>(*inputShape) : 0;
9973*89c4ff92SAndroid Build Coastguard Worker return armnnSerializer::CreateStackDescriptor(
9974*89c4ff92SAndroid Build Coastguard Worker _fbb,
9975*89c4ff92SAndroid Build Coastguard Worker axis,
9976*89c4ff92SAndroid Build Coastguard Worker numInputs,
9977*89c4ff92SAndroid Build Coastguard Worker inputShape__);
9978*89c4ff92SAndroid Build Coastguard Worker }
9979*89c4ff92SAndroid Build Coastguard Worker
9980*89c4ff92SAndroid Build Coastguard Worker struct StandInDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
9981*89c4ff92SAndroid Build Coastguard Worker typedef StandInDescriptorBuilder Builder;
9982*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
9983*89c4ff92SAndroid Build Coastguard Worker VT_NUMINPUTS = 4,
9984*89c4ff92SAndroid Build Coastguard Worker VT_NUMOUTPUTS = 6
9985*89c4ff92SAndroid Build Coastguard Worker };
9986*89c4ff92SAndroid Build Coastguard Worker uint32_t numInputs() const {
9987*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_NUMINPUTS, 0);
9988*89c4ff92SAndroid Build Coastguard Worker }
9989*89c4ff92SAndroid Build Coastguard Worker uint32_t numOutputs() const {
9990*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_NUMOUTPUTS, 0);
9991*89c4ff92SAndroid Build Coastguard Worker }
9992*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
9993*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
9994*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_NUMINPUTS, 4) &&
9995*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_NUMOUTPUTS, 4) &&
9996*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
9997*89c4ff92SAndroid Build Coastguard Worker }
9998*89c4ff92SAndroid Build Coastguard Worker };
9999*89c4ff92SAndroid Build Coastguard Worker
10000*89c4ff92SAndroid Build Coastguard Worker struct StandInDescriptorBuilder {
10001*89c4ff92SAndroid Build Coastguard Worker typedef StandInDescriptor Table;
10002*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
10003*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
10004*89c4ff92SAndroid Build Coastguard Worker void add_numInputs(uint32_t numInputs) {
10005*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(StandInDescriptor::VT_NUMINPUTS, numInputs, 0);
10006*89c4ff92SAndroid Build Coastguard Worker }
10007*89c4ff92SAndroid Build Coastguard Worker void add_numOutputs(uint32_t numOutputs) {
10008*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(StandInDescriptor::VT_NUMOUTPUTS, numOutputs, 0);
10009*89c4ff92SAndroid Build Coastguard Worker }
10010*89c4ff92SAndroid Build Coastguard Worker explicit StandInDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
10011*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
10012*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
10013*89c4ff92SAndroid Build Coastguard Worker }
10014*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<StandInDescriptor> Finish() {
10015*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
10016*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<StandInDescriptor>(end);
10017*89c4ff92SAndroid Build Coastguard Worker return o;
10018*89c4ff92SAndroid Build Coastguard Worker }
10019*89c4ff92SAndroid Build Coastguard Worker };
10020*89c4ff92SAndroid Build Coastguard Worker
10021*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<StandInDescriptor> CreateStandInDescriptor(
10022*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
10023*89c4ff92SAndroid Build Coastguard Worker uint32_t numInputs = 0,
10024*89c4ff92SAndroid Build Coastguard Worker uint32_t numOutputs = 0) {
10025*89c4ff92SAndroid Build Coastguard Worker StandInDescriptorBuilder builder_(_fbb);
10026*89c4ff92SAndroid Build Coastguard Worker builder_.add_numOutputs(numOutputs);
10027*89c4ff92SAndroid Build Coastguard Worker builder_.add_numInputs(numInputs);
10028*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
10029*89c4ff92SAndroid Build Coastguard Worker }
10030*89c4ff92SAndroid Build Coastguard Worker
10031*89c4ff92SAndroid Build Coastguard Worker struct StandInLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
10032*89c4ff92SAndroid Build Coastguard Worker typedef StandInLayerBuilder Builder;
10033*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
10034*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
10035*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
10036*89c4ff92SAndroid Build Coastguard Worker };
10037*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
10038*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
10039*89c4ff92SAndroid Build Coastguard Worker }
10040*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::StandInDescriptor *descriptor() const {
10041*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::StandInDescriptor *>(VT_DESCRIPTOR);
10042*89c4ff92SAndroid Build Coastguard Worker }
10043*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
10044*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
10045*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
10046*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
10047*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
10048*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
10049*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
10050*89c4ff92SAndroid Build Coastguard Worker }
10051*89c4ff92SAndroid Build Coastguard Worker };
10052*89c4ff92SAndroid Build Coastguard Worker
10053*89c4ff92SAndroid Build Coastguard Worker struct StandInLayerBuilder {
10054*89c4ff92SAndroid Build Coastguard Worker typedef StandInLayer Table;
10055*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
10056*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
10057*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
10058*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(StandInLayer::VT_BASE, base);
10059*89c4ff92SAndroid Build Coastguard Worker }
10060*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::StandInDescriptor> descriptor) {
10061*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(StandInLayer::VT_DESCRIPTOR, descriptor);
10062*89c4ff92SAndroid Build Coastguard Worker }
10063*89c4ff92SAndroid Build Coastguard Worker explicit StandInLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
10064*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
10065*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
10066*89c4ff92SAndroid Build Coastguard Worker }
10067*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<StandInLayer> Finish() {
10068*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
10069*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<StandInLayer>(end);
10070*89c4ff92SAndroid Build Coastguard Worker return o;
10071*89c4ff92SAndroid Build Coastguard Worker }
10072*89c4ff92SAndroid Build Coastguard Worker };
10073*89c4ff92SAndroid Build Coastguard Worker
10074*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<StandInLayer> CreateStandInLayer(
10075*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
10076*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
10077*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::StandInDescriptor> descriptor = 0) {
10078*89c4ff92SAndroid Build Coastguard Worker StandInLayerBuilder builder_(_fbb);
10079*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
10080*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
10081*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
10082*89c4ff92SAndroid Build Coastguard Worker }
10083*89c4ff92SAndroid Build Coastguard Worker
10084*89c4ff92SAndroid Build Coastguard Worker struct RankLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
10085*89c4ff92SAndroid Build Coastguard Worker typedef RankLayerBuilder Builder;
10086*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
10087*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4
10088*89c4ff92SAndroid Build Coastguard Worker };
10089*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
10090*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
10091*89c4ff92SAndroid Build Coastguard Worker }
10092*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
10093*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
10094*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
10095*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
10096*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
10097*89c4ff92SAndroid Build Coastguard Worker }
10098*89c4ff92SAndroid Build Coastguard Worker };
10099*89c4ff92SAndroid Build Coastguard Worker
10100*89c4ff92SAndroid Build Coastguard Worker struct RankLayerBuilder {
10101*89c4ff92SAndroid Build Coastguard Worker typedef RankLayer Table;
10102*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
10103*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
10104*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
10105*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(RankLayer::VT_BASE, base);
10106*89c4ff92SAndroid Build Coastguard Worker }
10107*89c4ff92SAndroid Build Coastguard Worker explicit RankLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
10108*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
10109*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
10110*89c4ff92SAndroid Build Coastguard Worker }
10111*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<RankLayer> Finish() {
10112*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
10113*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<RankLayer>(end);
10114*89c4ff92SAndroid Build Coastguard Worker return o;
10115*89c4ff92SAndroid Build Coastguard Worker }
10116*89c4ff92SAndroid Build Coastguard Worker };
10117*89c4ff92SAndroid Build Coastguard Worker
10118*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<RankLayer> CreateRankLayer(
10119*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
10120*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0) {
10121*89c4ff92SAndroid Build Coastguard Worker RankLayerBuilder builder_(_fbb);
10122*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
10123*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
10124*89c4ff92SAndroid Build Coastguard Worker }
10125*89c4ff92SAndroid Build Coastguard Worker
10126*89c4ff92SAndroid Build Coastguard Worker struct ReduceLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
10127*89c4ff92SAndroid Build Coastguard Worker typedef ReduceLayerBuilder Builder;
10128*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
10129*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
10130*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
10131*89c4ff92SAndroid Build Coastguard Worker };
10132*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
10133*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
10134*89c4ff92SAndroid Build Coastguard Worker }
10135*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ReduceDescriptor *descriptor() const {
10136*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::ReduceDescriptor *>(VT_DESCRIPTOR);
10137*89c4ff92SAndroid Build Coastguard Worker }
10138*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
10139*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
10140*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
10141*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
10142*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
10143*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
10144*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
10145*89c4ff92SAndroid Build Coastguard Worker }
10146*89c4ff92SAndroid Build Coastguard Worker };
10147*89c4ff92SAndroid Build Coastguard Worker
10148*89c4ff92SAndroid Build Coastguard Worker struct ReduceLayerBuilder {
10149*89c4ff92SAndroid Build Coastguard Worker typedef ReduceLayer Table;
10150*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
10151*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
10152*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
10153*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ReduceLayer::VT_BASE, base);
10154*89c4ff92SAndroid Build Coastguard Worker }
10155*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::ReduceDescriptor> descriptor) {
10156*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ReduceLayer::VT_DESCRIPTOR, descriptor);
10157*89c4ff92SAndroid Build Coastguard Worker }
10158*89c4ff92SAndroid Build Coastguard Worker explicit ReduceLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
10159*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
10160*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
10161*89c4ff92SAndroid Build Coastguard Worker }
10162*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<ReduceLayer> Finish() {
10163*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
10164*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<ReduceLayer>(end);
10165*89c4ff92SAndroid Build Coastguard Worker return o;
10166*89c4ff92SAndroid Build Coastguard Worker }
10167*89c4ff92SAndroid Build Coastguard Worker };
10168*89c4ff92SAndroid Build Coastguard Worker
10169*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<ReduceLayer> CreateReduceLayer(
10170*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
10171*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
10172*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::ReduceDescriptor> descriptor = 0) {
10173*89c4ff92SAndroid Build Coastguard Worker ReduceLayerBuilder builder_(_fbb);
10174*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
10175*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
10176*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
10177*89c4ff92SAndroid Build Coastguard Worker }
10178*89c4ff92SAndroid Build Coastguard Worker
10179*89c4ff92SAndroid Build Coastguard Worker struct ReduceDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
10180*89c4ff92SAndroid Build Coastguard Worker typedef ReduceDescriptorBuilder Builder;
10181*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
10182*89c4ff92SAndroid Build Coastguard Worker VT_KEEPDIMS = 4,
10183*89c4ff92SAndroid Build Coastguard Worker VT_AXIS = 6,
10184*89c4ff92SAndroid Build Coastguard Worker VT_REDUCEOPERATION = 8
10185*89c4ff92SAndroid Build Coastguard Worker };
10186*89c4ff92SAndroid Build Coastguard Worker bool keepDims() const {
10187*89c4ff92SAndroid Build Coastguard Worker return GetField<uint8_t>(VT_KEEPDIMS, 0) != 0;
10188*89c4ff92SAndroid Build Coastguard Worker }
10189*89c4ff92SAndroid Build Coastguard Worker const flatbuffers::Vector<uint32_t> *axis() const {
10190*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_AXIS);
10191*89c4ff92SAndroid Build Coastguard Worker }
10192*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::ReduceOperation reduceOperation() const {
10193*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::ReduceOperation>(GetField<int8_t>(VT_REDUCEOPERATION, 0));
10194*89c4ff92SAndroid Build Coastguard Worker }
10195*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
10196*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
10197*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_KEEPDIMS, 1) &&
10198*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_AXIS) &&
10199*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVector(axis()) &&
10200*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_REDUCEOPERATION, 1) &&
10201*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
10202*89c4ff92SAndroid Build Coastguard Worker }
10203*89c4ff92SAndroid Build Coastguard Worker };
10204*89c4ff92SAndroid Build Coastguard Worker
10205*89c4ff92SAndroid Build Coastguard Worker struct ReduceDescriptorBuilder {
10206*89c4ff92SAndroid Build Coastguard Worker typedef ReduceDescriptor Table;
10207*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
10208*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
10209*89c4ff92SAndroid Build Coastguard Worker void add_keepDims(bool keepDims) {
10210*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(ReduceDescriptor::VT_KEEPDIMS, static_cast<uint8_t>(keepDims), 0);
10211*89c4ff92SAndroid Build Coastguard Worker }
10212*89c4ff92SAndroid Build Coastguard Worker void add_axis(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> axis) {
10213*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(ReduceDescriptor::VT_AXIS, axis);
10214*89c4ff92SAndroid Build Coastguard Worker }
10215*89c4ff92SAndroid Build Coastguard Worker void add_reduceOperation(armnnSerializer::ReduceOperation reduceOperation) {
10216*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(ReduceDescriptor::VT_REDUCEOPERATION, static_cast<int8_t>(reduceOperation), 0);
10217*89c4ff92SAndroid Build Coastguard Worker }
10218*89c4ff92SAndroid Build Coastguard Worker explicit ReduceDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
10219*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
10220*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
10221*89c4ff92SAndroid Build Coastguard Worker }
10222*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<ReduceDescriptor> Finish() {
10223*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
10224*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<ReduceDescriptor>(end);
10225*89c4ff92SAndroid Build Coastguard Worker return o;
10226*89c4ff92SAndroid Build Coastguard Worker }
10227*89c4ff92SAndroid Build Coastguard Worker };
10228*89c4ff92SAndroid Build Coastguard Worker
10229*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<ReduceDescriptor> CreateReduceDescriptor(
10230*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
10231*89c4ff92SAndroid Build Coastguard Worker bool keepDims = false,
10232*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<flatbuffers::Vector<uint32_t>> axis = 0,
10233*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::ReduceOperation reduceOperation = armnnSerializer::ReduceOperation_Sum) {
10234*89c4ff92SAndroid Build Coastguard Worker ReduceDescriptorBuilder builder_(_fbb);
10235*89c4ff92SAndroid Build Coastguard Worker builder_.add_axis(axis);
10236*89c4ff92SAndroid Build Coastguard Worker builder_.add_reduceOperation(reduceOperation);
10237*89c4ff92SAndroid Build Coastguard Worker builder_.add_keepDims(keepDims);
10238*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
10239*89c4ff92SAndroid Build Coastguard Worker }
10240*89c4ff92SAndroid Build Coastguard Worker
10241*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<ReduceDescriptor> CreateReduceDescriptorDirect(
10242*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
10243*89c4ff92SAndroid Build Coastguard Worker bool keepDims = false,
10244*89c4ff92SAndroid Build Coastguard Worker const std::vector<uint32_t> *axis = nullptr,
10245*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::ReduceOperation reduceOperation = armnnSerializer::ReduceOperation_Sum) {
10246*89c4ff92SAndroid Build Coastguard Worker auto axis__ = axis ? _fbb.CreateVector<uint32_t>(*axis) : 0;
10247*89c4ff92SAndroid Build Coastguard Worker return armnnSerializer::CreateReduceDescriptor(
10248*89c4ff92SAndroid Build Coastguard Worker _fbb,
10249*89c4ff92SAndroid Build Coastguard Worker keepDims,
10250*89c4ff92SAndroid Build Coastguard Worker axis__,
10251*89c4ff92SAndroid Build Coastguard Worker reduceOperation);
10252*89c4ff92SAndroid Build Coastguard Worker }
10253*89c4ff92SAndroid Build Coastguard Worker
10254*89c4ff92SAndroid Build Coastguard Worker struct UnidirectionalSequenceLstmDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
10255*89c4ff92SAndroid Build Coastguard Worker typedef UnidirectionalSequenceLstmDescriptorBuilder Builder;
10256*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
10257*89c4ff92SAndroid Build Coastguard Worker VT_ACTIVATIONFUNC = 4,
10258*89c4ff92SAndroid Build Coastguard Worker VT_CLIPPINGTHRESCELL = 6,
10259*89c4ff92SAndroid Build Coastguard Worker VT_CLIPPINGTHRESPROJ = 8,
10260*89c4ff92SAndroid Build Coastguard Worker VT_CIFGENABLED = 10,
10261*89c4ff92SAndroid Build Coastguard Worker VT_PEEPHOLEENABLED = 12,
10262*89c4ff92SAndroid Build Coastguard Worker VT_PROJECTIONENABLED = 14,
10263*89c4ff92SAndroid Build Coastguard Worker VT_LAYERNORMENABLED = 16,
10264*89c4ff92SAndroid Build Coastguard Worker VT_TIMEMAJOR = 18
10265*89c4ff92SAndroid Build Coastguard Worker };
10266*89c4ff92SAndroid Build Coastguard Worker uint32_t activationFunc() const {
10267*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_ACTIVATIONFUNC, 0);
10268*89c4ff92SAndroid Build Coastguard Worker }
10269*89c4ff92SAndroid Build Coastguard Worker float clippingThresCell() const {
10270*89c4ff92SAndroid Build Coastguard Worker return GetField<float>(VT_CLIPPINGTHRESCELL, 0.0f);
10271*89c4ff92SAndroid Build Coastguard Worker }
10272*89c4ff92SAndroid Build Coastguard Worker float clippingThresProj() const {
10273*89c4ff92SAndroid Build Coastguard Worker return GetField<float>(VT_CLIPPINGTHRESPROJ, 0.0f);
10274*89c4ff92SAndroid Build Coastguard Worker }
10275*89c4ff92SAndroid Build Coastguard Worker bool cifgEnabled() const {
10276*89c4ff92SAndroid Build Coastguard Worker return GetField<uint8_t>(VT_CIFGENABLED, 1) != 0;
10277*89c4ff92SAndroid Build Coastguard Worker }
10278*89c4ff92SAndroid Build Coastguard Worker bool peepholeEnabled() const {
10279*89c4ff92SAndroid Build Coastguard Worker return GetField<uint8_t>(VT_PEEPHOLEENABLED, 0) != 0;
10280*89c4ff92SAndroid Build Coastguard Worker }
10281*89c4ff92SAndroid Build Coastguard Worker bool projectionEnabled() const {
10282*89c4ff92SAndroid Build Coastguard Worker return GetField<uint8_t>(VT_PROJECTIONENABLED, 0) != 0;
10283*89c4ff92SAndroid Build Coastguard Worker }
10284*89c4ff92SAndroid Build Coastguard Worker bool layerNormEnabled() const {
10285*89c4ff92SAndroid Build Coastguard Worker return GetField<uint8_t>(VT_LAYERNORMENABLED, 0) != 0;
10286*89c4ff92SAndroid Build Coastguard Worker }
10287*89c4ff92SAndroid Build Coastguard Worker bool timeMajor() const {
10288*89c4ff92SAndroid Build Coastguard Worker return GetField<uint8_t>(VT_TIMEMAJOR, 0) != 0;
10289*89c4ff92SAndroid Build Coastguard Worker }
10290*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
10291*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
10292*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_ACTIVATIONFUNC, 4) &&
10293*89c4ff92SAndroid Build Coastguard Worker VerifyField<float>(verifier, VT_CLIPPINGTHRESCELL, 4) &&
10294*89c4ff92SAndroid Build Coastguard Worker VerifyField<float>(verifier, VT_CLIPPINGTHRESPROJ, 4) &&
10295*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_CIFGENABLED, 1) &&
10296*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_PEEPHOLEENABLED, 1) &&
10297*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_PROJECTIONENABLED, 1) &&
10298*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_LAYERNORMENABLED, 1) &&
10299*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_TIMEMAJOR, 1) &&
10300*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
10301*89c4ff92SAndroid Build Coastguard Worker }
10302*89c4ff92SAndroid Build Coastguard Worker };
10303*89c4ff92SAndroid Build Coastguard Worker
10304*89c4ff92SAndroid Build Coastguard Worker struct UnidirectionalSequenceLstmDescriptorBuilder {
10305*89c4ff92SAndroid Build Coastguard Worker typedef UnidirectionalSequenceLstmDescriptor Table;
10306*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
10307*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
10308*89c4ff92SAndroid Build Coastguard Worker void add_activationFunc(uint32_t activationFunc) {
10309*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(UnidirectionalSequenceLstmDescriptor::VT_ACTIVATIONFUNC, activationFunc, 0);
10310*89c4ff92SAndroid Build Coastguard Worker }
10311*89c4ff92SAndroid Build Coastguard Worker void add_clippingThresCell(float clippingThresCell) {
10312*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<float>(UnidirectionalSequenceLstmDescriptor::VT_CLIPPINGTHRESCELL, clippingThresCell, 0.0f);
10313*89c4ff92SAndroid Build Coastguard Worker }
10314*89c4ff92SAndroid Build Coastguard Worker void add_clippingThresProj(float clippingThresProj) {
10315*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<float>(UnidirectionalSequenceLstmDescriptor::VT_CLIPPINGTHRESPROJ, clippingThresProj, 0.0f);
10316*89c4ff92SAndroid Build Coastguard Worker }
10317*89c4ff92SAndroid Build Coastguard Worker void add_cifgEnabled(bool cifgEnabled) {
10318*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(UnidirectionalSequenceLstmDescriptor::VT_CIFGENABLED, static_cast<uint8_t>(cifgEnabled), 1);
10319*89c4ff92SAndroid Build Coastguard Worker }
10320*89c4ff92SAndroid Build Coastguard Worker void add_peepholeEnabled(bool peepholeEnabled) {
10321*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(UnidirectionalSequenceLstmDescriptor::VT_PEEPHOLEENABLED, static_cast<uint8_t>(peepholeEnabled), 0);
10322*89c4ff92SAndroid Build Coastguard Worker }
10323*89c4ff92SAndroid Build Coastguard Worker void add_projectionEnabled(bool projectionEnabled) {
10324*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(UnidirectionalSequenceLstmDescriptor::VT_PROJECTIONENABLED, static_cast<uint8_t>(projectionEnabled), 0);
10325*89c4ff92SAndroid Build Coastguard Worker }
10326*89c4ff92SAndroid Build Coastguard Worker void add_layerNormEnabled(bool layerNormEnabled) {
10327*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(UnidirectionalSequenceLstmDescriptor::VT_LAYERNORMENABLED, static_cast<uint8_t>(layerNormEnabled), 0);
10328*89c4ff92SAndroid Build Coastguard Worker }
10329*89c4ff92SAndroid Build Coastguard Worker void add_timeMajor(bool timeMajor) {
10330*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(UnidirectionalSequenceLstmDescriptor::VT_TIMEMAJOR, static_cast<uint8_t>(timeMajor), 0);
10331*89c4ff92SAndroid Build Coastguard Worker }
10332*89c4ff92SAndroid Build Coastguard Worker explicit UnidirectionalSequenceLstmDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
10333*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
10334*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
10335*89c4ff92SAndroid Build Coastguard Worker }
10336*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<UnidirectionalSequenceLstmDescriptor> Finish() {
10337*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
10338*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<UnidirectionalSequenceLstmDescriptor>(end);
10339*89c4ff92SAndroid Build Coastguard Worker return o;
10340*89c4ff92SAndroid Build Coastguard Worker }
10341*89c4ff92SAndroid Build Coastguard Worker };
10342*89c4ff92SAndroid Build Coastguard Worker
10343*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<UnidirectionalSequenceLstmDescriptor> CreateUnidirectionalSequenceLstmDescriptor(
10344*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
10345*89c4ff92SAndroid Build Coastguard Worker uint32_t activationFunc = 0,
10346*89c4ff92SAndroid Build Coastguard Worker float clippingThresCell = 0.0f,
10347*89c4ff92SAndroid Build Coastguard Worker float clippingThresProj = 0.0f,
10348*89c4ff92SAndroid Build Coastguard Worker bool cifgEnabled = true,
10349*89c4ff92SAndroid Build Coastguard Worker bool peepholeEnabled = false,
10350*89c4ff92SAndroid Build Coastguard Worker bool projectionEnabled = false,
10351*89c4ff92SAndroid Build Coastguard Worker bool layerNormEnabled = false,
10352*89c4ff92SAndroid Build Coastguard Worker bool timeMajor = false) {
10353*89c4ff92SAndroid Build Coastguard Worker UnidirectionalSequenceLstmDescriptorBuilder builder_(_fbb);
10354*89c4ff92SAndroid Build Coastguard Worker builder_.add_clippingThresProj(clippingThresProj);
10355*89c4ff92SAndroid Build Coastguard Worker builder_.add_clippingThresCell(clippingThresCell);
10356*89c4ff92SAndroid Build Coastguard Worker builder_.add_activationFunc(activationFunc);
10357*89c4ff92SAndroid Build Coastguard Worker builder_.add_timeMajor(timeMajor);
10358*89c4ff92SAndroid Build Coastguard Worker builder_.add_layerNormEnabled(layerNormEnabled);
10359*89c4ff92SAndroid Build Coastguard Worker builder_.add_projectionEnabled(projectionEnabled);
10360*89c4ff92SAndroid Build Coastguard Worker builder_.add_peepholeEnabled(peepholeEnabled);
10361*89c4ff92SAndroid Build Coastguard Worker builder_.add_cifgEnabled(cifgEnabled);
10362*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
10363*89c4ff92SAndroid Build Coastguard Worker }
10364*89c4ff92SAndroid Build Coastguard Worker
10365*89c4ff92SAndroid Build Coastguard Worker struct UnidirectionalSequenceLstmLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
10366*89c4ff92SAndroid Build Coastguard Worker typedef UnidirectionalSequenceLstmLayerBuilder Builder;
10367*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
10368*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
10369*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6,
10370*89c4ff92SAndroid Build Coastguard Worker VT_INPUTPARAMS = 8
10371*89c4ff92SAndroid Build Coastguard Worker };
10372*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
10373*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
10374*89c4ff92SAndroid Build Coastguard Worker }
10375*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::UnidirectionalSequenceLstmDescriptor *descriptor() const {
10376*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::UnidirectionalSequenceLstmDescriptor *>(VT_DESCRIPTOR);
10377*89c4ff92SAndroid Build Coastguard Worker }
10378*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LstmInputParams *inputParams() const {
10379*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LstmInputParams *>(VT_INPUTPARAMS);
10380*89c4ff92SAndroid Build Coastguard Worker }
10381*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
10382*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
10383*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
10384*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
10385*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
10386*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
10387*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_INPUTPARAMS) &&
10388*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(inputParams()) &&
10389*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
10390*89c4ff92SAndroid Build Coastguard Worker }
10391*89c4ff92SAndroid Build Coastguard Worker };
10392*89c4ff92SAndroid Build Coastguard Worker
10393*89c4ff92SAndroid Build Coastguard Worker struct UnidirectionalSequenceLstmLayerBuilder {
10394*89c4ff92SAndroid Build Coastguard Worker typedef UnidirectionalSequenceLstmLayer Table;
10395*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
10396*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
10397*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
10398*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(UnidirectionalSequenceLstmLayer::VT_BASE, base);
10399*89c4ff92SAndroid Build Coastguard Worker }
10400*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::UnidirectionalSequenceLstmDescriptor> descriptor) {
10401*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(UnidirectionalSequenceLstmLayer::VT_DESCRIPTOR, descriptor);
10402*89c4ff92SAndroid Build Coastguard Worker }
10403*89c4ff92SAndroid Build Coastguard Worker void add_inputParams(flatbuffers::Offset<armnnSerializer::LstmInputParams> inputParams) {
10404*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(UnidirectionalSequenceLstmLayer::VT_INPUTPARAMS, inputParams);
10405*89c4ff92SAndroid Build Coastguard Worker }
10406*89c4ff92SAndroid Build Coastguard Worker explicit UnidirectionalSequenceLstmLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
10407*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
10408*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
10409*89c4ff92SAndroid Build Coastguard Worker }
10410*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<UnidirectionalSequenceLstmLayer> Finish() {
10411*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
10412*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<UnidirectionalSequenceLstmLayer>(end);
10413*89c4ff92SAndroid Build Coastguard Worker return o;
10414*89c4ff92SAndroid Build Coastguard Worker }
10415*89c4ff92SAndroid Build Coastguard Worker };
10416*89c4ff92SAndroid Build Coastguard Worker
10417*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<UnidirectionalSequenceLstmLayer> CreateUnidirectionalSequenceLstmLayer(
10418*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
10419*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
10420*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::UnidirectionalSequenceLstmDescriptor> descriptor = 0,
10421*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LstmInputParams> inputParams = 0) {
10422*89c4ff92SAndroid Build Coastguard Worker UnidirectionalSequenceLstmLayerBuilder builder_(_fbb);
10423*89c4ff92SAndroid Build Coastguard Worker builder_.add_inputParams(inputParams);
10424*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
10425*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
10426*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
10427*89c4ff92SAndroid Build Coastguard Worker }
10428*89c4ff92SAndroid Build Coastguard Worker
10429*89c4ff92SAndroid Build Coastguard Worker struct BatchMatMulDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
10430*89c4ff92SAndroid Build Coastguard Worker typedef BatchMatMulDescriptorBuilder Builder;
10431*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
10432*89c4ff92SAndroid Build Coastguard Worker VT_TRANSPOSEX = 4,
10433*89c4ff92SAndroid Build Coastguard Worker VT_TRANSPOSEY = 6,
10434*89c4ff92SAndroid Build Coastguard Worker VT_ADJOINTX = 8,
10435*89c4ff92SAndroid Build Coastguard Worker VT_ADJOINTY = 10,
10436*89c4ff92SAndroid Build Coastguard Worker VT_DATALAYOUTX = 12,
10437*89c4ff92SAndroid Build Coastguard Worker VT_DATALAYOUTY = 14
10438*89c4ff92SAndroid Build Coastguard Worker };
10439*89c4ff92SAndroid Build Coastguard Worker bool transposeX() const {
10440*89c4ff92SAndroid Build Coastguard Worker return GetField<uint8_t>(VT_TRANSPOSEX, 0) != 0;
10441*89c4ff92SAndroid Build Coastguard Worker }
10442*89c4ff92SAndroid Build Coastguard Worker bool transposeY() const {
10443*89c4ff92SAndroid Build Coastguard Worker return GetField<uint8_t>(VT_TRANSPOSEY, 0) != 0;
10444*89c4ff92SAndroid Build Coastguard Worker }
10445*89c4ff92SAndroid Build Coastguard Worker bool adjointX() const {
10446*89c4ff92SAndroid Build Coastguard Worker return GetField<uint8_t>(VT_ADJOINTX, 0) != 0;
10447*89c4ff92SAndroid Build Coastguard Worker }
10448*89c4ff92SAndroid Build Coastguard Worker bool adjointY() const {
10449*89c4ff92SAndroid Build Coastguard Worker return GetField<uint8_t>(VT_ADJOINTY, 0) != 0;
10450*89c4ff92SAndroid Build Coastguard Worker }
10451*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayoutX() const {
10452*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUTX, 1));
10453*89c4ff92SAndroid Build Coastguard Worker }
10454*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayoutY() const {
10455*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::DataLayout>(GetField<int8_t>(VT_DATALAYOUTY, 1));
10456*89c4ff92SAndroid Build Coastguard Worker }
10457*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
10458*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
10459*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_TRANSPOSEX, 1) &&
10460*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_TRANSPOSEY, 1) &&
10461*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_ADJOINTX, 1) &&
10462*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_ADJOINTY, 1) &&
10463*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_DATALAYOUTX, 1) &&
10464*89c4ff92SAndroid Build Coastguard Worker VerifyField<int8_t>(verifier, VT_DATALAYOUTY, 1) &&
10465*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
10466*89c4ff92SAndroid Build Coastguard Worker }
10467*89c4ff92SAndroid Build Coastguard Worker };
10468*89c4ff92SAndroid Build Coastguard Worker
10469*89c4ff92SAndroid Build Coastguard Worker struct BatchMatMulDescriptorBuilder {
10470*89c4ff92SAndroid Build Coastguard Worker typedef BatchMatMulDescriptor Table;
10471*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
10472*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
10473*89c4ff92SAndroid Build Coastguard Worker void add_transposeX(bool transposeX) {
10474*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(BatchMatMulDescriptor::VT_TRANSPOSEX, static_cast<uint8_t>(transposeX), 0);
10475*89c4ff92SAndroid Build Coastguard Worker }
10476*89c4ff92SAndroid Build Coastguard Worker void add_transposeY(bool transposeY) {
10477*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(BatchMatMulDescriptor::VT_TRANSPOSEY, static_cast<uint8_t>(transposeY), 0);
10478*89c4ff92SAndroid Build Coastguard Worker }
10479*89c4ff92SAndroid Build Coastguard Worker void add_adjointX(bool adjointX) {
10480*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(BatchMatMulDescriptor::VT_ADJOINTX, static_cast<uint8_t>(adjointX), 0);
10481*89c4ff92SAndroid Build Coastguard Worker }
10482*89c4ff92SAndroid Build Coastguard Worker void add_adjointY(bool adjointY) {
10483*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(BatchMatMulDescriptor::VT_ADJOINTY, static_cast<uint8_t>(adjointY), 0);
10484*89c4ff92SAndroid Build Coastguard Worker }
10485*89c4ff92SAndroid Build Coastguard Worker void add_dataLayoutX(armnnSerializer::DataLayout dataLayoutX) {
10486*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(BatchMatMulDescriptor::VT_DATALAYOUTX, static_cast<int8_t>(dataLayoutX), 1);
10487*89c4ff92SAndroid Build Coastguard Worker }
10488*89c4ff92SAndroid Build Coastguard Worker void add_dataLayoutY(armnnSerializer::DataLayout dataLayoutY) {
10489*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<int8_t>(BatchMatMulDescriptor::VT_DATALAYOUTY, static_cast<int8_t>(dataLayoutY), 1);
10490*89c4ff92SAndroid Build Coastguard Worker }
10491*89c4ff92SAndroid Build Coastguard Worker explicit BatchMatMulDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
10492*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
10493*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
10494*89c4ff92SAndroid Build Coastguard Worker }
10495*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<BatchMatMulDescriptor> Finish() {
10496*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
10497*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<BatchMatMulDescriptor>(end);
10498*89c4ff92SAndroid Build Coastguard Worker return o;
10499*89c4ff92SAndroid Build Coastguard Worker }
10500*89c4ff92SAndroid Build Coastguard Worker };
10501*89c4ff92SAndroid Build Coastguard Worker
10502*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<BatchMatMulDescriptor> CreateBatchMatMulDescriptor(
10503*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
10504*89c4ff92SAndroid Build Coastguard Worker bool transposeX = false,
10505*89c4ff92SAndroid Build Coastguard Worker bool transposeY = false,
10506*89c4ff92SAndroid Build Coastguard Worker bool adjointX = false,
10507*89c4ff92SAndroid Build Coastguard Worker bool adjointY = false,
10508*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayoutX = armnnSerializer::DataLayout_NCHW,
10509*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout dataLayoutY = armnnSerializer::DataLayout_NCHW) {
10510*89c4ff92SAndroid Build Coastguard Worker BatchMatMulDescriptorBuilder builder_(_fbb);
10511*89c4ff92SAndroid Build Coastguard Worker builder_.add_dataLayoutY(dataLayoutY);
10512*89c4ff92SAndroid Build Coastguard Worker builder_.add_dataLayoutX(dataLayoutX);
10513*89c4ff92SAndroid Build Coastguard Worker builder_.add_adjointY(adjointY);
10514*89c4ff92SAndroid Build Coastguard Worker builder_.add_adjointX(adjointX);
10515*89c4ff92SAndroid Build Coastguard Worker builder_.add_transposeY(transposeY);
10516*89c4ff92SAndroid Build Coastguard Worker builder_.add_transposeX(transposeX);
10517*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
10518*89c4ff92SAndroid Build Coastguard Worker }
10519*89c4ff92SAndroid Build Coastguard Worker
10520*89c4ff92SAndroid Build Coastguard Worker struct BatchMatMulLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
10521*89c4ff92SAndroid Build Coastguard Worker typedef BatchMatMulLayerBuilder Builder;
10522*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
10523*89c4ff92SAndroid Build Coastguard Worker VT_BASE = 4,
10524*89c4ff92SAndroid Build Coastguard Worker VT_DESCRIPTOR = 6
10525*89c4ff92SAndroid Build Coastguard Worker };
10526*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LayerBase *base() const {
10527*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::LayerBase *>(VT_BASE);
10528*89c4ff92SAndroid Build Coastguard Worker }
10529*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::BatchMatMulDescriptor *descriptor() const {
10530*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::BatchMatMulDescriptor *>(VT_DESCRIPTOR);
10531*89c4ff92SAndroid Build Coastguard Worker }
10532*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
10533*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
10534*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_BASE) &&
10535*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(base()) &&
10536*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_DESCRIPTOR) &&
10537*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(descriptor()) &&
10538*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
10539*89c4ff92SAndroid Build Coastguard Worker }
10540*89c4ff92SAndroid Build Coastguard Worker };
10541*89c4ff92SAndroid Build Coastguard Worker
10542*89c4ff92SAndroid Build Coastguard Worker struct BatchMatMulLayerBuilder {
10543*89c4ff92SAndroid Build Coastguard Worker typedef BatchMatMulLayer Table;
10544*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
10545*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
10546*89c4ff92SAndroid Build Coastguard Worker void add_base(flatbuffers::Offset<armnnSerializer::LayerBase> base) {
10547*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(BatchMatMulLayer::VT_BASE, base);
10548*89c4ff92SAndroid Build Coastguard Worker }
10549*89c4ff92SAndroid Build Coastguard Worker void add_descriptor(flatbuffers::Offset<armnnSerializer::BatchMatMulDescriptor> descriptor) {
10550*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(BatchMatMulLayer::VT_DESCRIPTOR, descriptor);
10551*89c4ff92SAndroid Build Coastguard Worker }
10552*89c4ff92SAndroid Build Coastguard Worker explicit BatchMatMulLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
10553*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
10554*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
10555*89c4ff92SAndroid Build Coastguard Worker }
10556*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<BatchMatMulLayer> Finish() {
10557*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
10558*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<BatchMatMulLayer>(end);
10559*89c4ff92SAndroid Build Coastguard Worker return o;
10560*89c4ff92SAndroid Build Coastguard Worker }
10561*89c4ff92SAndroid Build Coastguard Worker };
10562*89c4ff92SAndroid Build Coastguard Worker
10563*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<BatchMatMulLayer> CreateBatchMatMulLayer(
10564*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
10565*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::LayerBase> base = 0,
10566*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::BatchMatMulDescriptor> descriptor = 0) {
10567*89c4ff92SAndroid Build Coastguard Worker BatchMatMulLayerBuilder builder_(_fbb);
10568*89c4ff92SAndroid Build Coastguard Worker builder_.add_descriptor(descriptor);
10569*89c4ff92SAndroid Build Coastguard Worker builder_.add_base(base);
10570*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
10571*89c4ff92SAndroid Build Coastguard Worker }
10572*89c4ff92SAndroid Build Coastguard Worker
10573*89c4ff92SAndroid Build Coastguard Worker struct AnyLayer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
10574*89c4ff92SAndroid Build Coastguard Worker typedef AnyLayerBuilder Builder;
10575*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
10576*89c4ff92SAndroid Build Coastguard Worker VT_LAYER_TYPE = 4,
10577*89c4ff92SAndroid Build Coastguard Worker VT_LAYER = 6
10578*89c4ff92SAndroid Build Coastguard Worker };
10579*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::Layer layer_type() const {
10580*89c4ff92SAndroid Build Coastguard Worker return static_cast<armnnSerializer::Layer>(GetField<uint8_t>(VT_LAYER_TYPE, 0));
10581*89c4ff92SAndroid Build Coastguard Worker }
10582*89c4ff92SAndroid Build Coastguard Worker const void *layer() const {
10583*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const void *>(VT_LAYER);
10584*89c4ff92SAndroid Build Coastguard Worker }
10585*89c4ff92SAndroid Build Coastguard Worker template<typename T> const T *layer_as() const;
10586*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ActivationLayer *layer_as_ActivationLayer() const {
10587*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_ActivationLayer ? static_cast<const armnnSerializer::ActivationLayer *>(layer()) : nullptr;
10588*89c4ff92SAndroid Build Coastguard Worker }
10589*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::AdditionLayer *layer_as_AdditionLayer() const {
10590*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_AdditionLayer ? static_cast<const armnnSerializer::AdditionLayer *>(layer()) : nullptr;
10591*89c4ff92SAndroid Build Coastguard Worker }
10592*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::BatchToSpaceNdLayer *layer_as_BatchToSpaceNdLayer() const {
10593*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_BatchToSpaceNdLayer ? static_cast<const armnnSerializer::BatchToSpaceNdLayer *>(layer()) : nullptr;
10594*89c4ff92SAndroid Build Coastguard Worker }
10595*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::BatchNormalizationLayer *layer_as_BatchNormalizationLayer() const {
10596*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_BatchNormalizationLayer ? static_cast<const armnnSerializer::BatchNormalizationLayer *>(layer()) : nullptr;
10597*89c4ff92SAndroid Build Coastguard Worker }
10598*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConstantLayer *layer_as_ConstantLayer() const {
10599*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_ConstantLayer ? static_cast<const armnnSerializer::ConstantLayer *>(layer()) : nullptr;
10600*89c4ff92SAndroid Build Coastguard Worker }
10601*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::Convolution2dLayer *layer_as_Convolution2dLayer() const {
10602*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_Convolution2dLayer ? static_cast<const armnnSerializer::Convolution2dLayer *>(layer()) : nullptr;
10603*89c4ff92SAndroid Build Coastguard Worker }
10604*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::DepthwiseConvolution2dLayer *layer_as_DepthwiseConvolution2dLayer() const {
10605*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_DepthwiseConvolution2dLayer ? static_cast<const armnnSerializer::DepthwiseConvolution2dLayer *>(layer()) : nullptr;
10606*89c4ff92SAndroid Build Coastguard Worker }
10607*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::FullyConnectedLayer *layer_as_FullyConnectedLayer() const {
10608*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_FullyConnectedLayer ? static_cast<const armnnSerializer::FullyConnectedLayer *>(layer()) : nullptr;
10609*89c4ff92SAndroid Build Coastguard Worker }
10610*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::InputLayer *layer_as_InputLayer() const {
10611*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_InputLayer ? static_cast<const armnnSerializer::InputLayer *>(layer()) : nullptr;
10612*89c4ff92SAndroid Build Coastguard Worker }
10613*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::MultiplicationLayer *layer_as_MultiplicationLayer() const {
10614*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_MultiplicationLayer ? static_cast<const armnnSerializer::MultiplicationLayer *>(layer()) : nullptr;
10615*89c4ff92SAndroid Build Coastguard Worker }
10616*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::OutputLayer *layer_as_OutputLayer() const {
10617*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_OutputLayer ? static_cast<const armnnSerializer::OutputLayer *>(layer()) : nullptr;
10618*89c4ff92SAndroid Build Coastguard Worker }
10619*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::PermuteLayer *layer_as_PermuteLayer() const {
10620*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_PermuteLayer ? static_cast<const armnnSerializer::PermuteLayer *>(layer()) : nullptr;
10621*89c4ff92SAndroid Build Coastguard Worker }
10622*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::Pooling2dLayer *layer_as_Pooling2dLayer() const {
10623*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_Pooling2dLayer ? static_cast<const armnnSerializer::Pooling2dLayer *>(layer()) : nullptr;
10624*89c4ff92SAndroid Build Coastguard Worker }
10625*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ReshapeLayer *layer_as_ReshapeLayer() const {
10626*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_ReshapeLayer ? static_cast<const armnnSerializer::ReshapeLayer *>(layer()) : nullptr;
10627*89c4ff92SAndroid Build Coastguard Worker }
10628*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::SoftmaxLayer *layer_as_SoftmaxLayer() const {
10629*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_SoftmaxLayer ? static_cast<const armnnSerializer::SoftmaxLayer *>(layer()) : nullptr;
10630*89c4ff92SAndroid Build Coastguard Worker }
10631*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::SpaceToBatchNdLayer *layer_as_SpaceToBatchNdLayer() const {
10632*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_SpaceToBatchNdLayer ? static_cast<const armnnSerializer::SpaceToBatchNdLayer *>(layer()) : nullptr;
10633*89c4ff92SAndroid Build Coastguard Worker }
10634*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::DivisionLayer *layer_as_DivisionLayer() const {
10635*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_DivisionLayer ? static_cast<const armnnSerializer::DivisionLayer *>(layer()) : nullptr;
10636*89c4ff92SAndroid Build Coastguard Worker }
10637*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::MinimumLayer *layer_as_MinimumLayer() const {
10638*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_MinimumLayer ? static_cast<const armnnSerializer::MinimumLayer *>(layer()) : nullptr;
10639*89c4ff92SAndroid Build Coastguard Worker }
10640*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::EqualLayer *layer_as_EqualLayer() const {
10641*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_EqualLayer ? static_cast<const armnnSerializer::EqualLayer *>(layer()) : nullptr;
10642*89c4ff92SAndroid Build Coastguard Worker }
10643*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::MaximumLayer *layer_as_MaximumLayer() const {
10644*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_MaximumLayer ? static_cast<const armnnSerializer::MaximumLayer *>(layer()) : nullptr;
10645*89c4ff92SAndroid Build Coastguard Worker }
10646*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::NormalizationLayer *layer_as_NormalizationLayer() const {
10647*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_NormalizationLayer ? static_cast<const armnnSerializer::NormalizationLayer *>(layer()) : nullptr;
10648*89c4ff92SAndroid Build Coastguard Worker }
10649*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::PadLayer *layer_as_PadLayer() const {
10650*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_PadLayer ? static_cast<const armnnSerializer::PadLayer *>(layer()) : nullptr;
10651*89c4ff92SAndroid Build Coastguard Worker }
10652*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::RsqrtLayer *layer_as_RsqrtLayer() const {
10653*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_RsqrtLayer ? static_cast<const armnnSerializer::RsqrtLayer *>(layer()) : nullptr;
10654*89c4ff92SAndroid Build Coastguard Worker }
10655*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::FloorLayer *layer_as_FloorLayer() const {
10656*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_FloorLayer ? static_cast<const armnnSerializer::FloorLayer *>(layer()) : nullptr;
10657*89c4ff92SAndroid Build Coastguard Worker }
10658*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::GreaterLayer *layer_as_GreaterLayer() const {
10659*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_GreaterLayer ? static_cast<const armnnSerializer::GreaterLayer *>(layer()) : nullptr;
10660*89c4ff92SAndroid Build Coastguard Worker }
10661*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ResizeBilinearLayer *layer_as_ResizeBilinearLayer() const {
10662*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_ResizeBilinearLayer ? static_cast<const armnnSerializer::ResizeBilinearLayer *>(layer()) : nullptr;
10663*89c4ff92SAndroid Build Coastguard Worker }
10664*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::SubtractionLayer *layer_as_SubtractionLayer() const {
10665*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_SubtractionLayer ? static_cast<const armnnSerializer::SubtractionLayer *>(layer()) : nullptr;
10666*89c4ff92SAndroid Build Coastguard Worker }
10667*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::StridedSliceLayer *layer_as_StridedSliceLayer() const {
10668*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_StridedSliceLayer ? static_cast<const armnnSerializer::StridedSliceLayer *>(layer()) : nullptr;
10669*89c4ff92SAndroid Build Coastguard Worker }
10670*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::GatherLayer *layer_as_GatherLayer() const {
10671*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_GatherLayer ? static_cast<const armnnSerializer::GatherLayer *>(layer()) : nullptr;
10672*89c4ff92SAndroid Build Coastguard Worker }
10673*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::MeanLayer *layer_as_MeanLayer() const {
10674*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_MeanLayer ? static_cast<const armnnSerializer::MeanLayer *>(layer()) : nullptr;
10675*89c4ff92SAndroid Build Coastguard Worker }
10676*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::MergerLayer *layer_as_MergerLayer() const {
10677*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_MergerLayer ? static_cast<const armnnSerializer::MergerLayer *>(layer()) : nullptr;
10678*89c4ff92SAndroid Build Coastguard Worker }
10679*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::L2NormalizationLayer *layer_as_L2NormalizationLayer() const {
10680*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_L2NormalizationLayer ? static_cast<const armnnSerializer::L2NormalizationLayer *>(layer()) : nullptr;
10681*89c4ff92SAndroid Build Coastguard Worker }
10682*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::SplitterLayer *layer_as_SplitterLayer() const {
10683*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_SplitterLayer ? static_cast<const armnnSerializer::SplitterLayer *>(layer()) : nullptr;
10684*89c4ff92SAndroid Build Coastguard Worker }
10685*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::DetectionPostProcessLayer *layer_as_DetectionPostProcessLayer() const {
10686*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_DetectionPostProcessLayer ? static_cast<const armnnSerializer::DetectionPostProcessLayer *>(layer()) : nullptr;
10687*89c4ff92SAndroid Build Coastguard Worker }
10688*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LstmLayer *layer_as_LstmLayer() const {
10689*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_LstmLayer ? static_cast<const armnnSerializer::LstmLayer *>(layer()) : nullptr;
10690*89c4ff92SAndroid Build Coastguard Worker }
10691*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::QuantizedLstmLayer *layer_as_QuantizedLstmLayer() const {
10692*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_QuantizedLstmLayer ? static_cast<const armnnSerializer::QuantizedLstmLayer *>(layer()) : nullptr;
10693*89c4ff92SAndroid Build Coastguard Worker }
10694*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::QuantizeLayer *layer_as_QuantizeLayer() const {
10695*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_QuantizeLayer ? static_cast<const armnnSerializer::QuantizeLayer *>(layer()) : nullptr;
10696*89c4ff92SAndroid Build Coastguard Worker }
10697*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::DequantizeLayer *layer_as_DequantizeLayer() const {
10698*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_DequantizeLayer ? static_cast<const armnnSerializer::DequantizeLayer *>(layer()) : nullptr;
10699*89c4ff92SAndroid Build Coastguard Worker }
10700*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::MergeLayer *layer_as_MergeLayer() const {
10701*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_MergeLayer ? static_cast<const armnnSerializer::MergeLayer *>(layer()) : nullptr;
10702*89c4ff92SAndroid Build Coastguard Worker }
10703*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::SwitchLayer *layer_as_SwitchLayer() const {
10704*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_SwitchLayer ? static_cast<const armnnSerializer::SwitchLayer *>(layer()) : nullptr;
10705*89c4ff92SAndroid Build Coastguard Worker }
10706*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ConcatLayer *layer_as_ConcatLayer() const {
10707*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_ConcatLayer ? static_cast<const armnnSerializer::ConcatLayer *>(layer()) : nullptr;
10708*89c4ff92SAndroid Build Coastguard Worker }
10709*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::SpaceToDepthLayer *layer_as_SpaceToDepthLayer() const {
10710*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_SpaceToDepthLayer ? static_cast<const armnnSerializer::SpaceToDepthLayer *>(layer()) : nullptr;
10711*89c4ff92SAndroid Build Coastguard Worker }
10712*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::PreluLayer *layer_as_PreluLayer() const {
10713*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_PreluLayer ? static_cast<const armnnSerializer::PreluLayer *>(layer()) : nullptr;
10714*89c4ff92SAndroid Build Coastguard Worker }
10715*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::TransposeConvolution2dLayer *layer_as_TransposeConvolution2dLayer() const {
10716*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_TransposeConvolution2dLayer ? static_cast<const armnnSerializer::TransposeConvolution2dLayer *>(layer()) : nullptr;
10717*89c4ff92SAndroid Build Coastguard Worker }
10718*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ResizeLayer *layer_as_ResizeLayer() const {
10719*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_ResizeLayer ? static_cast<const armnnSerializer::ResizeLayer *>(layer()) : nullptr;
10720*89c4ff92SAndroid Build Coastguard Worker }
10721*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::StackLayer *layer_as_StackLayer() const {
10722*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_StackLayer ? static_cast<const armnnSerializer::StackLayer *>(layer()) : nullptr;
10723*89c4ff92SAndroid Build Coastguard Worker }
10724*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::AbsLayer *layer_as_AbsLayer() const {
10725*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_AbsLayer ? static_cast<const armnnSerializer::AbsLayer *>(layer()) : nullptr;
10726*89c4ff92SAndroid Build Coastguard Worker }
10727*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ArgMinMaxLayer *layer_as_ArgMinMaxLayer() const {
10728*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_ArgMinMaxLayer ? static_cast<const armnnSerializer::ArgMinMaxLayer *>(layer()) : nullptr;
10729*89c4ff92SAndroid Build Coastguard Worker }
10730*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::SliceLayer *layer_as_SliceLayer() const {
10731*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_SliceLayer ? static_cast<const armnnSerializer::SliceLayer *>(layer()) : nullptr;
10732*89c4ff92SAndroid Build Coastguard Worker }
10733*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::DepthToSpaceLayer *layer_as_DepthToSpaceLayer() const {
10734*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_DepthToSpaceLayer ? static_cast<const armnnSerializer::DepthToSpaceLayer *>(layer()) : nullptr;
10735*89c4ff92SAndroid Build Coastguard Worker }
10736*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::InstanceNormalizationLayer *layer_as_InstanceNormalizationLayer() const {
10737*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_InstanceNormalizationLayer ? static_cast<const armnnSerializer::InstanceNormalizationLayer *>(layer()) : nullptr;
10738*89c4ff92SAndroid Build Coastguard Worker }
10739*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LogSoftmaxLayer *layer_as_LogSoftmaxLayer() const {
10740*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_LogSoftmaxLayer ? static_cast<const armnnSerializer::LogSoftmaxLayer *>(layer()) : nullptr;
10741*89c4ff92SAndroid Build Coastguard Worker }
10742*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ComparisonLayer *layer_as_ComparisonLayer() const {
10743*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_ComparisonLayer ? static_cast<const armnnSerializer::ComparisonLayer *>(layer()) : nullptr;
10744*89c4ff92SAndroid Build Coastguard Worker }
10745*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::StandInLayer *layer_as_StandInLayer() const {
10746*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_StandInLayer ? static_cast<const armnnSerializer::StandInLayer *>(layer()) : nullptr;
10747*89c4ff92SAndroid Build Coastguard Worker }
10748*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ElementwiseUnaryLayer *layer_as_ElementwiseUnaryLayer() const {
10749*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_ElementwiseUnaryLayer ? static_cast<const armnnSerializer::ElementwiseUnaryLayer *>(layer()) : nullptr;
10750*89c4ff92SAndroid Build Coastguard Worker }
10751*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::TransposeLayer *layer_as_TransposeLayer() const {
10752*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_TransposeLayer ? static_cast<const armnnSerializer::TransposeLayer *>(layer()) : nullptr;
10753*89c4ff92SAndroid Build Coastguard Worker }
10754*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::QLstmLayer *layer_as_QLstmLayer() const {
10755*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_QLstmLayer ? static_cast<const armnnSerializer::QLstmLayer *>(layer()) : nullptr;
10756*89c4ff92SAndroid Build Coastguard Worker }
10757*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::FillLayer *layer_as_FillLayer() const {
10758*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_FillLayer ? static_cast<const armnnSerializer::FillLayer *>(layer()) : nullptr;
10759*89c4ff92SAndroid Build Coastguard Worker }
10760*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::RankLayer *layer_as_RankLayer() const {
10761*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_RankLayer ? static_cast<const armnnSerializer::RankLayer *>(layer()) : nullptr;
10762*89c4ff92SAndroid Build Coastguard Worker }
10763*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::LogicalBinaryLayer *layer_as_LogicalBinaryLayer() const {
10764*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_LogicalBinaryLayer ? static_cast<const armnnSerializer::LogicalBinaryLayer *>(layer()) : nullptr;
10765*89c4ff92SAndroid Build Coastguard Worker }
10766*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ReduceLayer *layer_as_ReduceLayer() const {
10767*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_ReduceLayer ? static_cast<const armnnSerializer::ReduceLayer *>(layer()) : nullptr;
10768*89c4ff92SAndroid Build Coastguard Worker }
10769*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::CastLayer *layer_as_CastLayer() const {
10770*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_CastLayer ? static_cast<const armnnSerializer::CastLayer *>(layer()) : nullptr;
10771*89c4ff92SAndroid Build Coastguard Worker }
10772*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ShapeLayer *layer_as_ShapeLayer() const {
10773*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_ShapeLayer ? static_cast<const armnnSerializer::ShapeLayer *>(layer()) : nullptr;
10774*89c4ff92SAndroid Build Coastguard Worker }
10775*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::UnidirectionalSequenceLstmLayer *layer_as_UnidirectionalSequenceLstmLayer() const {
10776*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_UnidirectionalSequenceLstmLayer ? static_cast<const armnnSerializer::UnidirectionalSequenceLstmLayer *>(layer()) : nullptr;
10777*89c4ff92SAndroid Build Coastguard Worker }
10778*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ChannelShuffleLayer *layer_as_ChannelShuffleLayer() const {
10779*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_ChannelShuffleLayer ? static_cast<const armnnSerializer::ChannelShuffleLayer *>(layer()) : nullptr;
10780*89c4ff92SAndroid Build Coastguard Worker }
10781*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::Convolution3dLayer *layer_as_Convolution3dLayer() const {
10782*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_Convolution3dLayer ? static_cast<const armnnSerializer::Convolution3dLayer *>(layer()) : nullptr;
10783*89c4ff92SAndroid Build Coastguard Worker }
10784*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::Pooling3dLayer *layer_as_Pooling3dLayer() const {
10785*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_Pooling3dLayer ? static_cast<const armnnSerializer::Pooling3dLayer *>(layer()) : nullptr;
10786*89c4ff92SAndroid Build Coastguard Worker }
10787*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::GatherNdLayer *layer_as_GatherNdLayer() const {
10788*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_GatherNdLayer ? static_cast<const armnnSerializer::GatherNdLayer *>(layer()) : nullptr;
10789*89c4ff92SAndroid Build Coastguard Worker }
10790*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::BatchMatMulLayer *layer_as_BatchMatMulLayer() const {
10791*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_BatchMatMulLayer ? static_cast<const armnnSerializer::BatchMatMulLayer *>(layer()) : nullptr;
10792*89c4ff92SAndroid Build Coastguard Worker }
10793*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::ElementwiseBinaryLayer *layer_as_ElementwiseBinaryLayer() const {
10794*89c4ff92SAndroid Build Coastguard Worker return layer_type() == armnnSerializer::Layer_ElementwiseBinaryLayer ? static_cast<const armnnSerializer::ElementwiseBinaryLayer *>(layer()) : nullptr;
10795*89c4ff92SAndroid Build Coastguard Worker }
10796*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
10797*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
10798*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint8_t>(verifier, VT_LAYER_TYPE, 1) &&
10799*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_LAYER) &&
10800*89c4ff92SAndroid Build Coastguard Worker VerifyLayer(verifier, layer(), layer_type()) &&
10801*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
10802*89c4ff92SAndroid Build Coastguard Worker }
10803*89c4ff92SAndroid Build Coastguard Worker };
10804*89c4ff92SAndroid Build Coastguard Worker
10805*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::ActivationLayer *AnyLayer::layer_as<armnnSerializer::ActivationLayer>() const {
10806*89c4ff92SAndroid Build Coastguard Worker return layer_as_ActivationLayer();
10807*89c4ff92SAndroid Build Coastguard Worker }
10808*89c4ff92SAndroid Build Coastguard Worker
10809*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::AdditionLayer *AnyLayer::layer_as<armnnSerializer::AdditionLayer>() const {
10810*89c4ff92SAndroid Build Coastguard Worker return layer_as_AdditionLayer();
10811*89c4ff92SAndroid Build Coastguard Worker }
10812*89c4ff92SAndroid Build Coastguard Worker
10813*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::BatchToSpaceNdLayer *AnyLayer::layer_as<armnnSerializer::BatchToSpaceNdLayer>() const {
10814*89c4ff92SAndroid Build Coastguard Worker return layer_as_BatchToSpaceNdLayer();
10815*89c4ff92SAndroid Build Coastguard Worker }
10816*89c4ff92SAndroid Build Coastguard Worker
10817*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::BatchNormalizationLayer *AnyLayer::layer_as<armnnSerializer::BatchNormalizationLayer>() const {
10818*89c4ff92SAndroid Build Coastguard Worker return layer_as_BatchNormalizationLayer();
10819*89c4ff92SAndroid Build Coastguard Worker }
10820*89c4ff92SAndroid Build Coastguard Worker
10821*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::ConstantLayer *AnyLayer::layer_as<armnnSerializer::ConstantLayer>() const {
10822*89c4ff92SAndroid Build Coastguard Worker return layer_as_ConstantLayer();
10823*89c4ff92SAndroid Build Coastguard Worker }
10824*89c4ff92SAndroid Build Coastguard Worker
10825*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::Convolution2dLayer *AnyLayer::layer_as<armnnSerializer::Convolution2dLayer>() const {
10826*89c4ff92SAndroid Build Coastguard Worker return layer_as_Convolution2dLayer();
10827*89c4ff92SAndroid Build Coastguard Worker }
10828*89c4ff92SAndroid Build Coastguard Worker
10829*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::DepthwiseConvolution2dLayer *AnyLayer::layer_as<armnnSerializer::DepthwiseConvolution2dLayer>() const {
10830*89c4ff92SAndroid Build Coastguard Worker return layer_as_DepthwiseConvolution2dLayer();
10831*89c4ff92SAndroid Build Coastguard Worker }
10832*89c4ff92SAndroid Build Coastguard Worker
10833*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::FullyConnectedLayer *AnyLayer::layer_as<armnnSerializer::FullyConnectedLayer>() const {
10834*89c4ff92SAndroid Build Coastguard Worker return layer_as_FullyConnectedLayer();
10835*89c4ff92SAndroid Build Coastguard Worker }
10836*89c4ff92SAndroid Build Coastguard Worker
10837*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::InputLayer *AnyLayer::layer_as<armnnSerializer::InputLayer>() const {
10838*89c4ff92SAndroid Build Coastguard Worker return layer_as_InputLayer();
10839*89c4ff92SAndroid Build Coastguard Worker }
10840*89c4ff92SAndroid Build Coastguard Worker
10841*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::MultiplicationLayer *AnyLayer::layer_as<armnnSerializer::MultiplicationLayer>() const {
10842*89c4ff92SAndroid Build Coastguard Worker return layer_as_MultiplicationLayer();
10843*89c4ff92SAndroid Build Coastguard Worker }
10844*89c4ff92SAndroid Build Coastguard Worker
10845*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::OutputLayer *AnyLayer::layer_as<armnnSerializer::OutputLayer>() const {
10846*89c4ff92SAndroid Build Coastguard Worker return layer_as_OutputLayer();
10847*89c4ff92SAndroid Build Coastguard Worker }
10848*89c4ff92SAndroid Build Coastguard Worker
10849*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::PermuteLayer *AnyLayer::layer_as<armnnSerializer::PermuteLayer>() const {
10850*89c4ff92SAndroid Build Coastguard Worker return layer_as_PermuteLayer();
10851*89c4ff92SAndroid Build Coastguard Worker }
10852*89c4ff92SAndroid Build Coastguard Worker
10853*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::Pooling2dLayer *AnyLayer::layer_as<armnnSerializer::Pooling2dLayer>() const {
10854*89c4ff92SAndroid Build Coastguard Worker return layer_as_Pooling2dLayer();
10855*89c4ff92SAndroid Build Coastguard Worker }
10856*89c4ff92SAndroid Build Coastguard Worker
10857*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::ReshapeLayer *AnyLayer::layer_as<armnnSerializer::ReshapeLayer>() const {
10858*89c4ff92SAndroid Build Coastguard Worker return layer_as_ReshapeLayer();
10859*89c4ff92SAndroid Build Coastguard Worker }
10860*89c4ff92SAndroid Build Coastguard Worker
10861*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::SoftmaxLayer *AnyLayer::layer_as<armnnSerializer::SoftmaxLayer>() const {
10862*89c4ff92SAndroid Build Coastguard Worker return layer_as_SoftmaxLayer();
10863*89c4ff92SAndroid Build Coastguard Worker }
10864*89c4ff92SAndroid Build Coastguard Worker
10865*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::SpaceToBatchNdLayer *AnyLayer::layer_as<armnnSerializer::SpaceToBatchNdLayer>() const {
10866*89c4ff92SAndroid Build Coastguard Worker return layer_as_SpaceToBatchNdLayer();
10867*89c4ff92SAndroid Build Coastguard Worker }
10868*89c4ff92SAndroid Build Coastguard Worker
10869*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::DivisionLayer *AnyLayer::layer_as<armnnSerializer::DivisionLayer>() const {
10870*89c4ff92SAndroid Build Coastguard Worker return layer_as_DivisionLayer();
10871*89c4ff92SAndroid Build Coastguard Worker }
10872*89c4ff92SAndroid Build Coastguard Worker
10873*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::MinimumLayer *AnyLayer::layer_as<armnnSerializer::MinimumLayer>() const {
10874*89c4ff92SAndroid Build Coastguard Worker return layer_as_MinimumLayer();
10875*89c4ff92SAndroid Build Coastguard Worker }
10876*89c4ff92SAndroid Build Coastguard Worker
10877*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::EqualLayer *AnyLayer::layer_as<armnnSerializer::EqualLayer>() const {
10878*89c4ff92SAndroid Build Coastguard Worker return layer_as_EqualLayer();
10879*89c4ff92SAndroid Build Coastguard Worker }
10880*89c4ff92SAndroid Build Coastguard Worker
10881*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::MaximumLayer *AnyLayer::layer_as<armnnSerializer::MaximumLayer>() const {
10882*89c4ff92SAndroid Build Coastguard Worker return layer_as_MaximumLayer();
10883*89c4ff92SAndroid Build Coastguard Worker }
10884*89c4ff92SAndroid Build Coastguard Worker
10885*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::NormalizationLayer *AnyLayer::layer_as<armnnSerializer::NormalizationLayer>() const {
10886*89c4ff92SAndroid Build Coastguard Worker return layer_as_NormalizationLayer();
10887*89c4ff92SAndroid Build Coastguard Worker }
10888*89c4ff92SAndroid Build Coastguard Worker
10889*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::PadLayer *AnyLayer::layer_as<armnnSerializer::PadLayer>() const {
10890*89c4ff92SAndroid Build Coastguard Worker return layer_as_PadLayer();
10891*89c4ff92SAndroid Build Coastguard Worker }
10892*89c4ff92SAndroid Build Coastguard Worker
10893*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::RsqrtLayer *AnyLayer::layer_as<armnnSerializer::RsqrtLayer>() const {
10894*89c4ff92SAndroid Build Coastguard Worker return layer_as_RsqrtLayer();
10895*89c4ff92SAndroid Build Coastguard Worker }
10896*89c4ff92SAndroid Build Coastguard Worker
10897*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::FloorLayer *AnyLayer::layer_as<armnnSerializer::FloorLayer>() const {
10898*89c4ff92SAndroid Build Coastguard Worker return layer_as_FloorLayer();
10899*89c4ff92SAndroid Build Coastguard Worker }
10900*89c4ff92SAndroid Build Coastguard Worker
10901*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::GreaterLayer *AnyLayer::layer_as<armnnSerializer::GreaterLayer>() const {
10902*89c4ff92SAndroid Build Coastguard Worker return layer_as_GreaterLayer();
10903*89c4ff92SAndroid Build Coastguard Worker }
10904*89c4ff92SAndroid Build Coastguard Worker
10905*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::ResizeBilinearLayer *AnyLayer::layer_as<armnnSerializer::ResizeBilinearLayer>() const {
10906*89c4ff92SAndroid Build Coastguard Worker return layer_as_ResizeBilinearLayer();
10907*89c4ff92SAndroid Build Coastguard Worker }
10908*89c4ff92SAndroid Build Coastguard Worker
10909*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::SubtractionLayer *AnyLayer::layer_as<armnnSerializer::SubtractionLayer>() const {
10910*89c4ff92SAndroid Build Coastguard Worker return layer_as_SubtractionLayer();
10911*89c4ff92SAndroid Build Coastguard Worker }
10912*89c4ff92SAndroid Build Coastguard Worker
10913*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::StridedSliceLayer *AnyLayer::layer_as<armnnSerializer::StridedSliceLayer>() const {
10914*89c4ff92SAndroid Build Coastguard Worker return layer_as_StridedSliceLayer();
10915*89c4ff92SAndroid Build Coastguard Worker }
10916*89c4ff92SAndroid Build Coastguard Worker
10917*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::GatherLayer *AnyLayer::layer_as<armnnSerializer::GatherLayer>() const {
10918*89c4ff92SAndroid Build Coastguard Worker return layer_as_GatherLayer();
10919*89c4ff92SAndroid Build Coastguard Worker }
10920*89c4ff92SAndroid Build Coastguard Worker
10921*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::MeanLayer *AnyLayer::layer_as<armnnSerializer::MeanLayer>() const {
10922*89c4ff92SAndroid Build Coastguard Worker return layer_as_MeanLayer();
10923*89c4ff92SAndroid Build Coastguard Worker }
10924*89c4ff92SAndroid Build Coastguard Worker
10925*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::MergerLayer *AnyLayer::layer_as<armnnSerializer::MergerLayer>() const {
10926*89c4ff92SAndroid Build Coastguard Worker return layer_as_MergerLayer();
10927*89c4ff92SAndroid Build Coastguard Worker }
10928*89c4ff92SAndroid Build Coastguard Worker
10929*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::L2NormalizationLayer *AnyLayer::layer_as<armnnSerializer::L2NormalizationLayer>() const {
10930*89c4ff92SAndroid Build Coastguard Worker return layer_as_L2NormalizationLayer();
10931*89c4ff92SAndroid Build Coastguard Worker }
10932*89c4ff92SAndroid Build Coastguard Worker
10933*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::SplitterLayer *AnyLayer::layer_as<armnnSerializer::SplitterLayer>() const {
10934*89c4ff92SAndroid Build Coastguard Worker return layer_as_SplitterLayer();
10935*89c4ff92SAndroid Build Coastguard Worker }
10936*89c4ff92SAndroid Build Coastguard Worker
10937*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::DetectionPostProcessLayer *AnyLayer::layer_as<armnnSerializer::DetectionPostProcessLayer>() const {
10938*89c4ff92SAndroid Build Coastguard Worker return layer_as_DetectionPostProcessLayer();
10939*89c4ff92SAndroid Build Coastguard Worker }
10940*89c4ff92SAndroid Build Coastguard Worker
10941*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::LstmLayer *AnyLayer::layer_as<armnnSerializer::LstmLayer>() const {
10942*89c4ff92SAndroid Build Coastguard Worker return layer_as_LstmLayer();
10943*89c4ff92SAndroid Build Coastguard Worker }
10944*89c4ff92SAndroid Build Coastguard Worker
10945*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::QuantizedLstmLayer *AnyLayer::layer_as<armnnSerializer::QuantizedLstmLayer>() const {
10946*89c4ff92SAndroid Build Coastguard Worker return layer_as_QuantizedLstmLayer();
10947*89c4ff92SAndroid Build Coastguard Worker }
10948*89c4ff92SAndroid Build Coastguard Worker
10949*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::QuantizeLayer *AnyLayer::layer_as<armnnSerializer::QuantizeLayer>() const {
10950*89c4ff92SAndroid Build Coastguard Worker return layer_as_QuantizeLayer();
10951*89c4ff92SAndroid Build Coastguard Worker }
10952*89c4ff92SAndroid Build Coastguard Worker
10953*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::DequantizeLayer *AnyLayer::layer_as<armnnSerializer::DequantizeLayer>() const {
10954*89c4ff92SAndroid Build Coastguard Worker return layer_as_DequantizeLayer();
10955*89c4ff92SAndroid Build Coastguard Worker }
10956*89c4ff92SAndroid Build Coastguard Worker
10957*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::MergeLayer *AnyLayer::layer_as<armnnSerializer::MergeLayer>() const {
10958*89c4ff92SAndroid Build Coastguard Worker return layer_as_MergeLayer();
10959*89c4ff92SAndroid Build Coastguard Worker }
10960*89c4ff92SAndroid Build Coastguard Worker
10961*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::SwitchLayer *AnyLayer::layer_as<armnnSerializer::SwitchLayer>() const {
10962*89c4ff92SAndroid Build Coastguard Worker return layer_as_SwitchLayer();
10963*89c4ff92SAndroid Build Coastguard Worker }
10964*89c4ff92SAndroid Build Coastguard Worker
10965*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::ConcatLayer *AnyLayer::layer_as<armnnSerializer::ConcatLayer>() const {
10966*89c4ff92SAndroid Build Coastguard Worker return layer_as_ConcatLayer();
10967*89c4ff92SAndroid Build Coastguard Worker }
10968*89c4ff92SAndroid Build Coastguard Worker
10969*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::SpaceToDepthLayer *AnyLayer::layer_as<armnnSerializer::SpaceToDepthLayer>() const {
10970*89c4ff92SAndroid Build Coastguard Worker return layer_as_SpaceToDepthLayer();
10971*89c4ff92SAndroid Build Coastguard Worker }
10972*89c4ff92SAndroid Build Coastguard Worker
10973*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::PreluLayer *AnyLayer::layer_as<armnnSerializer::PreluLayer>() const {
10974*89c4ff92SAndroid Build Coastguard Worker return layer_as_PreluLayer();
10975*89c4ff92SAndroid Build Coastguard Worker }
10976*89c4ff92SAndroid Build Coastguard Worker
10977*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::TransposeConvolution2dLayer *AnyLayer::layer_as<armnnSerializer::TransposeConvolution2dLayer>() const {
10978*89c4ff92SAndroid Build Coastguard Worker return layer_as_TransposeConvolution2dLayer();
10979*89c4ff92SAndroid Build Coastguard Worker }
10980*89c4ff92SAndroid Build Coastguard Worker
10981*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::ResizeLayer *AnyLayer::layer_as<armnnSerializer::ResizeLayer>() const {
10982*89c4ff92SAndroid Build Coastguard Worker return layer_as_ResizeLayer();
10983*89c4ff92SAndroid Build Coastguard Worker }
10984*89c4ff92SAndroid Build Coastguard Worker
10985*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::StackLayer *AnyLayer::layer_as<armnnSerializer::StackLayer>() const {
10986*89c4ff92SAndroid Build Coastguard Worker return layer_as_StackLayer();
10987*89c4ff92SAndroid Build Coastguard Worker }
10988*89c4ff92SAndroid Build Coastguard Worker
10989*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::AbsLayer *AnyLayer::layer_as<armnnSerializer::AbsLayer>() const {
10990*89c4ff92SAndroid Build Coastguard Worker return layer_as_AbsLayer();
10991*89c4ff92SAndroid Build Coastguard Worker }
10992*89c4ff92SAndroid Build Coastguard Worker
10993*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::ArgMinMaxLayer *AnyLayer::layer_as<armnnSerializer::ArgMinMaxLayer>() const {
10994*89c4ff92SAndroid Build Coastguard Worker return layer_as_ArgMinMaxLayer();
10995*89c4ff92SAndroid Build Coastguard Worker }
10996*89c4ff92SAndroid Build Coastguard Worker
10997*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::SliceLayer *AnyLayer::layer_as<armnnSerializer::SliceLayer>() const {
10998*89c4ff92SAndroid Build Coastguard Worker return layer_as_SliceLayer();
10999*89c4ff92SAndroid Build Coastguard Worker }
11000*89c4ff92SAndroid Build Coastguard Worker
11001*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::DepthToSpaceLayer *AnyLayer::layer_as<armnnSerializer::DepthToSpaceLayer>() const {
11002*89c4ff92SAndroid Build Coastguard Worker return layer_as_DepthToSpaceLayer();
11003*89c4ff92SAndroid Build Coastguard Worker }
11004*89c4ff92SAndroid Build Coastguard Worker
11005*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::InstanceNormalizationLayer *AnyLayer::layer_as<armnnSerializer::InstanceNormalizationLayer>() const {
11006*89c4ff92SAndroid Build Coastguard Worker return layer_as_InstanceNormalizationLayer();
11007*89c4ff92SAndroid Build Coastguard Worker }
11008*89c4ff92SAndroid Build Coastguard Worker
11009*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::LogSoftmaxLayer *AnyLayer::layer_as<armnnSerializer::LogSoftmaxLayer>() const {
11010*89c4ff92SAndroid Build Coastguard Worker return layer_as_LogSoftmaxLayer();
11011*89c4ff92SAndroid Build Coastguard Worker }
11012*89c4ff92SAndroid Build Coastguard Worker
11013*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::ComparisonLayer *AnyLayer::layer_as<armnnSerializer::ComparisonLayer>() const {
11014*89c4ff92SAndroid Build Coastguard Worker return layer_as_ComparisonLayer();
11015*89c4ff92SAndroid Build Coastguard Worker }
11016*89c4ff92SAndroid Build Coastguard Worker
11017*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::StandInLayer *AnyLayer::layer_as<armnnSerializer::StandInLayer>() const {
11018*89c4ff92SAndroid Build Coastguard Worker return layer_as_StandInLayer();
11019*89c4ff92SAndroid Build Coastguard Worker }
11020*89c4ff92SAndroid Build Coastguard Worker
11021*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::ElementwiseUnaryLayer *AnyLayer::layer_as<armnnSerializer::ElementwiseUnaryLayer>() const {
11022*89c4ff92SAndroid Build Coastguard Worker return layer_as_ElementwiseUnaryLayer();
11023*89c4ff92SAndroid Build Coastguard Worker }
11024*89c4ff92SAndroid Build Coastguard Worker
11025*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::TransposeLayer *AnyLayer::layer_as<armnnSerializer::TransposeLayer>() const {
11026*89c4ff92SAndroid Build Coastguard Worker return layer_as_TransposeLayer();
11027*89c4ff92SAndroid Build Coastguard Worker }
11028*89c4ff92SAndroid Build Coastguard Worker
11029*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::QLstmLayer *AnyLayer::layer_as<armnnSerializer::QLstmLayer>() const {
11030*89c4ff92SAndroid Build Coastguard Worker return layer_as_QLstmLayer();
11031*89c4ff92SAndroid Build Coastguard Worker }
11032*89c4ff92SAndroid Build Coastguard Worker
11033*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::FillLayer *AnyLayer::layer_as<armnnSerializer::FillLayer>() const {
11034*89c4ff92SAndroid Build Coastguard Worker return layer_as_FillLayer();
11035*89c4ff92SAndroid Build Coastguard Worker }
11036*89c4ff92SAndroid Build Coastguard Worker
11037*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::RankLayer *AnyLayer::layer_as<armnnSerializer::RankLayer>() const {
11038*89c4ff92SAndroid Build Coastguard Worker return layer_as_RankLayer();
11039*89c4ff92SAndroid Build Coastguard Worker }
11040*89c4ff92SAndroid Build Coastguard Worker
11041*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::LogicalBinaryLayer *AnyLayer::layer_as<armnnSerializer::LogicalBinaryLayer>() const {
11042*89c4ff92SAndroid Build Coastguard Worker return layer_as_LogicalBinaryLayer();
11043*89c4ff92SAndroid Build Coastguard Worker }
11044*89c4ff92SAndroid Build Coastguard Worker
11045*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::ReduceLayer *AnyLayer::layer_as<armnnSerializer::ReduceLayer>() const {
11046*89c4ff92SAndroid Build Coastguard Worker return layer_as_ReduceLayer();
11047*89c4ff92SAndroid Build Coastguard Worker }
11048*89c4ff92SAndroid Build Coastguard Worker
11049*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::CastLayer *AnyLayer::layer_as<armnnSerializer::CastLayer>() const {
11050*89c4ff92SAndroid Build Coastguard Worker return layer_as_CastLayer();
11051*89c4ff92SAndroid Build Coastguard Worker }
11052*89c4ff92SAndroid Build Coastguard Worker
11053*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::ShapeLayer *AnyLayer::layer_as<armnnSerializer::ShapeLayer>() const {
11054*89c4ff92SAndroid Build Coastguard Worker return layer_as_ShapeLayer();
11055*89c4ff92SAndroid Build Coastguard Worker }
11056*89c4ff92SAndroid Build Coastguard Worker
11057*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::UnidirectionalSequenceLstmLayer *AnyLayer::layer_as<armnnSerializer::UnidirectionalSequenceLstmLayer>() const {
11058*89c4ff92SAndroid Build Coastguard Worker return layer_as_UnidirectionalSequenceLstmLayer();
11059*89c4ff92SAndroid Build Coastguard Worker }
11060*89c4ff92SAndroid Build Coastguard Worker
11061*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::ChannelShuffleLayer *AnyLayer::layer_as<armnnSerializer::ChannelShuffleLayer>() const {
11062*89c4ff92SAndroid Build Coastguard Worker return layer_as_ChannelShuffleLayer();
11063*89c4ff92SAndroid Build Coastguard Worker }
11064*89c4ff92SAndroid Build Coastguard Worker
11065*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::Convolution3dLayer *AnyLayer::layer_as<armnnSerializer::Convolution3dLayer>() const {
11066*89c4ff92SAndroid Build Coastguard Worker return layer_as_Convolution3dLayer();
11067*89c4ff92SAndroid Build Coastguard Worker }
11068*89c4ff92SAndroid Build Coastguard Worker
11069*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::Pooling3dLayer *AnyLayer::layer_as<armnnSerializer::Pooling3dLayer>() const {
11070*89c4ff92SAndroid Build Coastguard Worker return layer_as_Pooling3dLayer();
11071*89c4ff92SAndroid Build Coastguard Worker }
11072*89c4ff92SAndroid Build Coastguard Worker
11073*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::GatherNdLayer *AnyLayer::layer_as<armnnSerializer::GatherNdLayer>() const {
11074*89c4ff92SAndroid Build Coastguard Worker return layer_as_GatherNdLayer();
11075*89c4ff92SAndroid Build Coastguard Worker }
11076*89c4ff92SAndroid Build Coastguard Worker
11077*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::BatchMatMulLayer *AnyLayer::layer_as<armnnSerializer::BatchMatMulLayer>() const {
11078*89c4ff92SAndroid Build Coastguard Worker return layer_as_BatchMatMulLayer();
11079*89c4ff92SAndroid Build Coastguard Worker }
11080*89c4ff92SAndroid Build Coastguard Worker
11081*89c4ff92SAndroid Build Coastguard Worker template<> inline const armnnSerializer::ElementwiseBinaryLayer *AnyLayer::layer_as<armnnSerializer::ElementwiseBinaryLayer>() const {
11082*89c4ff92SAndroid Build Coastguard Worker return layer_as_ElementwiseBinaryLayer();
11083*89c4ff92SAndroid Build Coastguard Worker }
11084*89c4ff92SAndroid Build Coastguard Worker
11085*89c4ff92SAndroid Build Coastguard Worker struct AnyLayerBuilder {
11086*89c4ff92SAndroid Build Coastguard Worker typedef AnyLayer Table;
11087*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
11088*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
11089*89c4ff92SAndroid Build Coastguard Worker void add_layer_type(armnnSerializer::Layer layer_type) {
11090*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint8_t>(AnyLayer::VT_LAYER_TYPE, static_cast<uint8_t>(layer_type), 0);
11091*89c4ff92SAndroid Build Coastguard Worker }
11092*89c4ff92SAndroid Build Coastguard Worker void add_layer(flatbuffers::Offset<void> layer) {
11093*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(AnyLayer::VT_LAYER, layer);
11094*89c4ff92SAndroid Build Coastguard Worker }
11095*89c4ff92SAndroid Build Coastguard Worker explicit AnyLayerBuilder(flatbuffers::FlatBufferBuilder &_fbb)
11096*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
11097*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
11098*89c4ff92SAndroid Build Coastguard Worker }
11099*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<AnyLayer> Finish() {
11100*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
11101*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<AnyLayer>(end);
11102*89c4ff92SAndroid Build Coastguard Worker return o;
11103*89c4ff92SAndroid Build Coastguard Worker }
11104*89c4ff92SAndroid Build Coastguard Worker };
11105*89c4ff92SAndroid Build Coastguard Worker
11106*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<AnyLayer> CreateAnyLayer(
11107*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
11108*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::Layer layer_type = armnnSerializer::Layer_NONE,
11109*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<void> layer = 0) {
11110*89c4ff92SAndroid Build Coastguard Worker AnyLayerBuilder builder_(_fbb);
11111*89c4ff92SAndroid Build Coastguard Worker builder_.add_layer(layer);
11112*89c4ff92SAndroid Build Coastguard Worker builder_.add_layer_type(layer_type);
11113*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
11114*89c4ff92SAndroid Build Coastguard Worker }
11115*89c4ff92SAndroid Build Coastguard Worker
11116*89c4ff92SAndroid Build Coastguard Worker struct FeatureCompatibilityVersions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
11117*89c4ff92SAndroid Build Coastguard Worker typedef FeatureCompatibilityVersionsBuilder Builder;
11118*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
11119*89c4ff92SAndroid Build Coastguard Worker VT_BINDINGIDSSCHEME = 4,
11120*89c4ff92SAndroid Build Coastguard Worker VT_WEIGHTSLAYOUTSCHEME = 6,
11121*89c4ff92SAndroid Build Coastguard Worker VT_CONSTANTTENSORSASINPUTS = 8
11122*89c4ff92SAndroid Build Coastguard Worker };
11123*89c4ff92SAndroid Build Coastguard Worker uint32_t bindingIdsScheme() const {
11124*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_BINDINGIDSSCHEME, 0);
11125*89c4ff92SAndroid Build Coastguard Worker }
11126*89c4ff92SAndroid Build Coastguard Worker uint32_t weightsLayoutScheme() const {
11127*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_WEIGHTSLAYOUTSCHEME, 0);
11128*89c4ff92SAndroid Build Coastguard Worker }
11129*89c4ff92SAndroid Build Coastguard Worker uint32_t constantTensorsAsInputs() const {
11130*89c4ff92SAndroid Build Coastguard Worker return GetField<uint32_t>(VT_CONSTANTTENSORSASINPUTS, 0);
11131*89c4ff92SAndroid Build Coastguard Worker }
11132*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
11133*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
11134*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_BINDINGIDSSCHEME, 4) &&
11135*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_WEIGHTSLAYOUTSCHEME, 4) &&
11136*89c4ff92SAndroid Build Coastguard Worker VerifyField<uint32_t>(verifier, VT_CONSTANTTENSORSASINPUTS, 4) &&
11137*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
11138*89c4ff92SAndroid Build Coastguard Worker }
11139*89c4ff92SAndroid Build Coastguard Worker };
11140*89c4ff92SAndroid Build Coastguard Worker
11141*89c4ff92SAndroid Build Coastguard Worker struct FeatureCompatibilityVersionsBuilder {
11142*89c4ff92SAndroid Build Coastguard Worker typedef FeatureCompatibilityVersions Table;
11143*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
11144*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
11145*89c4ff92SAndroid Build Coastguard Worker void add_bindingIdsScheme(uint32_t bindingIdsScheme) {
11146*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(FeatureCompatibilityVersions::VT_BINDINGIDSSCHEME, bindingIdsScheme, 0);
11147*89c4ff92SAndroid Build Coastguard Worker }
11148*89c4ff92SAndroid Build Coastguard Worker void add_weightsLayoutScheme(uint32_t weightsLayoutScheme) {
11149*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(FeatureCompatibilityVersions::VT_WEIGHTSLAYOUTSCHEME, weightsLayoutScheme, 0);
11150*89c4ff92SAndroid Build Coastguard Worker }
11151*89c4ff92SAndroid Build Coastguard Worker void add_constantTensorsAsInputs(uint32_t constantTensorsAsInputs) {
11152*89c4ff92SAndroid Build Coastguard Worker fbb_.AddElement<uint32_t>(FeatureCompatibilityVersions::VT_CONSTANTTENSORSASINPUTS, constantTensorsAsInputs, 0);
11153*89c4ff92SAndroid Build Coastguard Worker }
11154*89c4ff92SAndroid Build Coastguard Worker explicit FeatureCompatibilityVersionsBuilder(flatbuffers::FlatBufferBuilder &_fbb)
11155*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
11156*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
11157*89c4ff92SAndroid Build Coastguard Worker }
11158*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<FeatureCompatibilityVersions> Finish() {
11159*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
11160*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<FeatureCompatibilityVersions>(end);
11161*89c4ff92SAndroid Build Coastguard Worker return o;
11162*89c4ff92SAndroid Build Coastguard Worker }
11163*89c4ff92SAndroid Build Coastguard Worker };
11164*89c4ff92SAndroid Build Coastguard Worker
11165*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<FeatureCompatibilityVersions> CreateFeatureCompatibilityVersions(
11166*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
11167*89c4ff92SAndroid Build Coastguard Worker uint32_t bindingIdsScheme = 0,
11168*89c4ff92SAndroid Build Coastguard Worker uint32_t weightsLayoutScheme = 0,
11169*89c4ff92SAndroid Build Coastguard Worker uint32_t constantTensorsAsInputs = 0) {
11170*89c4ff92SAndroid Build Coastguard Worker FeatureCompatibilityVersionsBuilder builder_(_fbb);
11171*89c4ff92SAndroid Build Coastguard Worker builder_.add_constantTensorsAsInputs(constantTensorsAsInputs);
11172*89c4ff92SAndroid Build Coastguard Worker builder_.add_weightsLayoutScheme(weightsLayoutScheme);
11173*89c4ff92SAndroid Build Coastguard Worker builder_.add_bindingIdsScheme(bindingIdsScheme);
11174*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
11175*89c4ff92SAndroid Build Coastguard Worker }
11176*89c4ff92SAndroid Build Coastguard Worker
11177*89c4ff92SAndroid Build Coastguard Worker struct SerializedGraph FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
11178*89c4ff92SAndroid Build Coastguard Worker typedef SerializedGraphBuilder Builder;
11179*89c4ff92SAndroid Build Coastguard Worker enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
11180*89c4ff92SAndroid Build Coastguard Worker VT_LAYERS = 4,
11181*89c4ff92SAndroid Build Coastguard Worker VT_INPUTIDS = 6,
11182*89c4ff92SAndroid Build Coastguard Worker VT_OUTPUTIDS = 8,
11183*89c4ff92SAndroid Build Coastguard Worker VT_FEATUREVERSIONS = 10
11184*89c4ff92SAndroid Build Coastguard Worker };
11185*89c4ff92SAndroid Build Coastguard Worker const flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::AnyLayer>> *layers() const {
11186*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::AnyLayer>> *>(VT_LAYERS);
11187*89c4ff92SAndroid Build Coastguard Worker }
11188*89c4ff92SAndroid Build Coastguard Worker const flatbuffers::Vector<int32_t> *inputIds() const {
11189*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_INPUTIDS);
11190*89c4ff92SAndroid Build Coastguard Worker }
11191*89c4ff92SAndroid Build Coastguard Worker const flatbuffers::Vector<int32_t> *outputIds() const {
11192*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_OUTPUTIDS);
11193*89c4ff92SAndroid Build Coastguard Worker }
11194*89c4ff92SAndroid Build Coastguard Worker const armnnSerializer::FeatureCompatibilityVersions *featureVersions() const {
11195*89c4ff92SAndroid Build Coastguard Worker return GetPointer<const armnnSerializer::FeatureCompatibilityVersions *>(VT_FEATUREVERSIONS);
11196*89c4ff92SAndroid Build Coastguard Worker }
11197*89c4ff92SAndroid Build Coastguard Worker bool Verify(flatbuffers::Verifier &verifier) const {
11198*89c4ff92SAndroid Build Coastguard Worker return VerifyTableStart(verifier) &&
11199*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_LAYERS) &&
11200*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVector(layers()) &&
11201*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVectorOfTables(layers()) &&
11202*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_INPUTIDS) &&
11203*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVector(inputIds()) &&
11204*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_OUTPUTIDS) &&
11205*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyVector(outputIds()) &&
11206*89c4ff92SAndroid Build Coastguard Worker VerifyOffset(verifier, VT_FEATUREVERSIONS) &&
11207*89c4ff92SAndroid Build Coastguard Worker verifier.VerifyTable(featureVersions()) &&
11208*89c4ff92SAndroid Build Coastguard Worker verifier.EndTable();
11209*89c4ff92SAndroid Build Coastguard Worker }
11210*89c4ff92SAndroid Build Coastguard Worker };
11211*89c4ff92SAndroid Build Coastguard Worker
11212*89c4ff92SAndroid Build Coastguard Worker struct SerializedGraphBuilder {
11213*89c4ff92SAndroid Build Coastguard Worker typedef SerializedGraph Table;
11214*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb_;
11215*89c4ff92SAndroid Build Coastguard Worker flatbuffers::uoffset_t start_;
11216*89c4ff92SAndroid Build Coastguard Worker void add_layers(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::AnyLayer>>> layers) {
11217*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(SerializedGraph::VT_LAYERS, layers);
11218*89c4ff92SAndroid Build Coastguard Worker }
11219*89c4ff92SAndroid Build Coastguard Worker void add_inputIds(flatbuffers::Offset<flatbuffers::Vector<int32_t>> inputIds) {
11220*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(SerializedGraph::VT_INPUTIDS, inputIds);
11221*89c4ff92SAndroid Build Coastguard Worker }
11222*89c4ff92SAndroid Build Coastguard Worker void add_outputIds(flatbuffers::Offset<flatbuffers::Vector<int32_t>> outputIds) {
11223*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(SerializedGraph::VT_OUTPUTIDS, outputIds);
11224*89c4ff92SAndroid Build Coastguard Worker }
11225*89c4ff92SAndroid Build Coastguard Worker void add_featureVersions(flatbuffers::Offset<armnnSerializer::FeatureCompatibilityVersions> featureVersions) {
11226*89c4ff92SAndroid Build Coastguard Worker fbb_.AddOffset(SerializedGraph::VT_FEATUREVERSIONS, featureVersions);
11227*89c4ff92SAndroid Build Coastguard Worker }
11228*89c4ff92SAndroid Build Coastguard Worker explicit SerializedGraphBuilder(flatbuffers::FlatBufferBuilder &_fbb)
11229*89c4ff92SAndroid Build Coastguard Worker : fbb_(_fbb) {
11230*89c4ff92SAndroid Build Coastguard Worker start_ = fbb_.StartTable();
11231*89c4ff92SAndroid Build Coastguard Worker }
11232*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<SerializedGraph> Finish() {
11233*89c4ff92SAndroid Build Coastguard Worker const auto end = fbb_.EndTable(start_);
11234*89c4ff92SAndroid Build Coastguard Worker auto o = flatbuffers::Offset<SerializedGraph>(end);
11235*89c4ff92SAndroid Build Coastguard Worker return o;
11236*89c4ff92SAndroid Build Coastguard Worker }
11237*89c4ff92SAndroid Build Coastguard Worker };
11238*89c4ff92SAndroid Build Coastguard Worker
11239*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<SerializedGraph> CreateSerializedGraph(
11240*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
11241*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<armnnSerializer::AnyLayer>>> layers = 0,
11242*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<flatbuffers::Vector<int32_t>> inputIds = 0,
11243*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<flatbuffers::Vector<int32_t>> outputIds = 0,
11244*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::FeatureCompatibilityVersions> featureVersions = 0) {
11245*89c4ff92SAndroid Build Coastguard Worker SerializedGraphBuilder builder_(_fbb);
11246*89c4ff92SAndroid Build Coastguard Worker builder_.add_featureVersions(featureVersions);
11247*89c4ff92SAndroid Build Coastguard Worker builder_.add_outputIds(outputIds);
11248*89c4ff92SAndroid Build Coastguard Worker builder_.add_inputIds(inputIds);
11249*89c4ff92SAndroid Build Coastguard Worker builder_.add_layers(layers);
11250*89c4ff92SAndroid Build Coastguard Worker return builder_.Finish();
11251*89c4ff92SAndroid Build Coastguard Worker }
11252*89c4ff92SAndroid Build Coastguard Worker
11253*89c4ff92SAndroid Build Coastguard Worker inline flatbuffers::Offset<SerializedGraph> CreateSerializedGraphDirect(
11254*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &_fbb,
11255*89c4ff92SAndroid Build Coastguard Worker const std::vector<flatbuffers::Offset<armnnSerializer::AnyLayer>> *layers = nullptr,
11256*89c4ff92SAndroid Build Coastguard Worker const std::vector<int32_t> *inputIds = nullptr,
11257*89c4ff92SAndroid Build Coastguard Worker const std::vector<int32_t> *outputIds = nullptr,
11258*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::FeatureCompatibilityVersions> featureVersions = 0) {
11259*89c4ff92SAndroid Build Coastguard Worker auto layers__ = layers ? _fbb.CreateVector<flatbuffers::Offset<armnnSerializer::AnyLayer>>(*layers) : 0;
11260*89c4ff92SAndroid Build Coastguard Worker auto inputIds__ = inputIds ? _fbb.CreateVector<int32_t>(*inputIds) : 0;
11261*89c4ff92SAndroid Build Coastguard Worker auto outputIds__ = outputIds ? _fbb.CreateVector<int32_t>(*outputIds) : 0;
11262*89c4ff92SAndroid Build Coastguard Worker return armnnSerializer::CreateSerializedGraph(
11263*89c4ff92SAndroid Build Coastguard Worker _fbb,
11264*89c4ff92SAndroid Build Coastguard Worker layers__,
11265*89c4ff92SAndroid Build Coastguard Worker inputIds__,
11266*89c4ff92SAndroid Build Coastguard Worker outputIds__,
11267*89c4ff92SAndroid Build Coastguard Worker featureVersions);
11268*89c4ff92SAndroid Build Coastguard Worker }
11269*89c4ff92SAndroid Build Coastguard Worker
11270*89c4ff92SAndroid Build Coastguard Worker inline bool VerifyConstTensorData(flatbuffers::Verifier &verifier, const void *obj, ConstTensorData type) {
11271*89c4ff92SAndroid Build Coastguard Worker switch (type) {
11272*89c4ff92SAndroid Build Coastguard Worker case ConstTensorData_NONE: {
11273*89c4ff92SAndroid Build Coastguard Worker return true;
11274*89c4ff92SAndroid Build Coastguard Worker }
11275*89c4ff92SAndroid Build Coastguard Worker case ConstTensorData_ByteData: {
11276*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::ByteData *>(obj);
11277*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11278*89c4ff92SAndroid Build Coastguard Worker }
11279*89c4ff92SAndroid Build Coastguard Worker case ConstTensorData_ShortData: {
11280*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::ShortData *>(obj);
11281*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11282*89c4ff92SAndroid Build Coastguard Worker }
11283*89c4ff92SAndroid Build Coastguard Worker case ConstTensorData_IntData: {
11284*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::IntData *>(obj);
11285*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11286*89c4ff92SAndroid Build Coastguard Worker }
11287*89c4ff92SAndroid Build Coastguard Worker case ConstTensorData_LongData: {
11288*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::LongData *>(obj);
11289*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11290*89c4ff92SAndroid Build Coastguard Worker }
11291*89c4ff92SAndroid Build Coastguard Worker default: return true;
11292*89c4ff92SAndroid Build Coastguard Worker }
11293*89c4ff92SAndroid Build Coastguard Worker }
11294*89c4ff92SAndroid Build Coastguard Worker
11295*89c4ff92SAndroid Build Coastguard Worker inline bool VerifyConstTensorDataVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types) {
11296*89c4ff92SAndroid Build Coastguard Worker if (!values || !types) return !values && !types;
11297*89c4ff92SAndroid Build Coastguard Worker if (values->size() != types->size()) return false;
11298*89c4ff92SAndroid Build Coastguard Worker for (flatbuffers::uoffset_t i = 0; i < values->size(); ++i) {
11299*89c4ff92SAndroid Build Coastguard Worker if (!VerifyConstTensorData(
11300*89c4ff92SAndroid Build Coastguard Worker verifier, values->Get(i), types->GetEnum<ConstTensorData>(i))) {
11301*89c4ff92SAndroid Build Coastguard Worker return false;
11302*89c4ff92SAndroid Build Coastguard Worker }
11303*89c4ff92SAndroid Build Coastguard Worker }
11304*89c4ff92SAndroid Build Coastguard Worker return true;
11305*89c4ff92SAndroid Build Coastguard Worker }
11306*89c4ff92SAndroid Build Coastguard Worker
11307*89c4ff92SAndroid Build Coastguard Worker inline bool VerifyLayer(flatbuffers::Verifier &verifier, const void *obj, Layer type) {
11308*89c4ff92SAndroid Build Coastguard Worker switch (type) {
11309*89c4ff92SAndroid Build Coastguard Worker case Layer_NONE: {
11310*89c4ff92SAndroid Build Coastguard Worker return true;
11311*89c4ff92SAndroid Build Coastguard Worker }
11312*89c4ff92SAndroid Build Coastguard Worker case Layer_ActivationLayer: {
11313*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::ActivationLayer *>(obj);
11314*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11315*89c4ff92SAndroid Build Coastguard Worker }
11316*89c4ff92SAndroid Build Coastguard Worker case Layer_AdditionLayer: {
11317*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::AdditionLayer *>(obj);
11318*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11319*89c4ff92SAndroid Build Coastguard Worker }
11320*89c4ff92SAndroid Build Coastguard Worker case Layer_BatchToSpaceNdLayer: {
11321*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::BatchToSpaceNdLayer *>(obj);
11322*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11323*89c4ff92SAndroid Build Coastguard Worker }
11324*89c4ff92SAndroid Build Coastguard Worker case Layer_BatchNormalizationLayer: {
11325*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::BatchNormalizationLayer *>(obj);
11326*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11327*89c4ff92SAndroid Build Coastguard Worker }
11328*89c4ff92SAndroid Build Coastguard Worker case Layer_ConstantLayer: {
11329*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::ConstantLayer *>(obj);
11330*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11331*89c4ff92SAndroid Build Coastguard Worker }
11332*89c4ff92SAndroid Build Coastguard Worker case Layer_Convolution2dLayer: {
11333*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::Convolution2dLayer *>(obj);
11334*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11335*89c4ff92SAndroid Build Coastguard Worker }
11336*89c4ff92SAndroid Build Coastguard Worker case Layer_DepthwiseConvolution2dLayer: {
11337*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::DepthwiseConvolution2dLayer *>(obj);
11338*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11339*89c4ff92SAndroid Build Coastguard Worker }
11340*89c4ff92SAndroid Build Coastguard Worker case Layer_FullyConnectedLayer: {
11341*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::FullyConnectedLayer *>(obj);
11342*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11343*89c4ff92SAndroid Build Coastguard Worker }
11344*89c4ff92SAndroid Build Coastguard Worker case Layer_InputLayer: {
11345*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::InputLayer *>(obj);
11346*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11347*89c4ff92SAndroid Build Coastguard Worker }
11348*89c4ff92SAndroid Build Coastguard Worker case Layer_MultiplicationLayer: {
11349*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::MultiplicationLayer *>(obj);
11350*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11351*89c4ff92SAndroid Build Coastguard Worker }
11352*89c4ff92SAndroid Build Coastguard Worker case Layer_OutputLayer: {
11353*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::OutputLayer *>(obj);
11354*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11355*89c4ff92SAndroid Build Coastguard Worker }
11356*89c4ff92SAndroid Build Coastguard Worker case Layer_PermuteLayer: {
11357*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::PermuteLayer *>(obj);
11358*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11359*89c4ff92SAndroid Build Coastguard Worker }
11360*89c4ff92SAndroid Build Coastguard Worker case Layer_Pooling2dLayer: {
11361*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::Pooling2dLayer *>(obj);
11362*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11363*89c4ff92SAndroid Build Coastguard Worker }
11364*89c4ff92SAndroid Build Coastguard Worker case Layer_ReshapeLayer: {
11365*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::ReshapeLayer *>(obj);
11366*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11367*89c4ff92SAndroid Build Coastguard Worker }
11368*89c4ff92SAndroid Build Coastguard Worker case Layer_SoftmaxLayer: {
11369*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::SoftmaxLayer *>(obj);
11370*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11371*89c4ff92SAndroid Build Coastguard Worker }
11372*89c4ff92SAndroid Build Coastguard Worker case Layer_SpaceToBatchNdLayer: {
11373*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::SpaceToBatchNdLayer *>(obj);
11374*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11375*89c4ff92SAndroid Build Coastguard Worker }
11376*89c4ff92SAndroid Build Coastguard Worker case Layer_DivisionLayer: {
11377*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::DivisionLayer *>(obj);
11378*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11379*89c4ff92SAndroid Build Coastguard Worker }
11380*89c4ff92SAndroid Build Coastguard Worker case Layer_MinimumLayer: {
11381*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::MinimumLayer *>(obj);
11382*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11383*89c4ff92SAndroid Build Coastguard Worker }
11384*89c4ff92SAndroid Build Coastguard Worker case Layer_EqualLayer: {
11385*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::EqualLayer *>(obj);
11386*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11387*89c4ff92SAndroid Build Coastguard Worker }
11388*89c4ff92SAndroid Build Coastguard Worker case Layer_MaximumLayer: {
11389*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::MaximumLayer *>(obj);
11390*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11391*89c4ff92SAndroid Build Coastguard Worker }
11392*89c4ff92SAndroid Build Coastguard Worker case Layer_NormalizationLayer: {
11393*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::NormalizationLayer *>(obj);
11394*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11395*89c4ff92SAndroid Build Coastguard Worker }
11396*89c4ff92SAndroid Build Coastguard Worker case Layer_PadLayer: {
11397*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::PadLayer *>(obj);
11398*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11399*89c4ff92SAndroid Build Coastguard Worker }
11400*89c4ff92SAndroid Build Coastguard Worker case Layer_RsqrtLayer: {
11401*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::RsqrtLayer *>(obj);
11402*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11403*89c4ff92SAndroid Build Coastguard Worker }
11404*89c4ff92SAndroid Build Coastguard Worker case Layer_FloorLayer: {
11405*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::FloorLayer *>(obj);
11406*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11407*89c4ff92SAndroid Build Coastguard Worker }
11408*89c4ff92SAndroid Build Coastguard Worker case Layer_GreaterLayer: {
11409*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::GreaterLayer *>(obj);
11410*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11411*89c4ff92SAndroid Build Coastguard Worker }
11412*89c4ff92SAndroid Build Coastguard Worker case Layer_ResizeBilinearLayer: {
11413*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::ResizeBilinearLayer *>(obj);
11414*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11415*89c4ff92SAndroid Build Coastguard Worker }
11416*89c4ff92SAndroid Build Coastguard Worker case Layer_SubtractionLayer: {
11417*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::SubtractionLayer *>(obj);
11418*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11419*89c4ff92SAndroid Build Coastguard Worker }
11420*89c4ff92SAndroid Build Coastguard Worker case Layer_StridedSliceLayer: {
11421*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::StridedSliceLayer *>(obj);
11422*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11423*89c4ff92SAndroid Build Coastguard Worker }
11424*89c4ff92SAndroid Build Coastguard Worker case Layer_GatherLayer: {
11425*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::GatherLayer *>(obj);
11426*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11427*89c4ff92SAndroid Build Coastguard Worker }
11428*89c4ff92SAndroid Build Coastguard Worker case Layer_MeanLayer: {
11429*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::MeanLayer *>(obj);
11430*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11431*89c4ff92SAndroid Build Coastguard Worker }
11432*89c4ff92SAndroid Build Coastguard Worker case Layer_MergerLayer: {
11433*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::MergerLayer *>(obj);
11434*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11435*89c4ff92SAndroid Build Coastguard Worker }
11436*89c4ff92SAndroid Build Coastguard Worker case Layer_L2NormalizationLayer: {
11437*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::L2NormalizationLayer *>(obj);
11438*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11439*89c4ff92SAndroid Build Coastguard Worker }
11440*89c4ff92SAndroid Build Coastguard Worker case Layer_SplitterLayer: {
11441*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::SplitterLayer *>(obj);
11442*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11443*89c4ff92SAndroid Build Coastguard Worker }
11444*89c4ff92SAndroid Build Coastguard Worker case Layer_DetectionPostProcessLayer: {
11445*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::DetectionPostProcessLayer *>(obj);
11446*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11447*89c4ff92SAndroid Build Coastguard Worker }
11448*89c4ff92SAndroid Build Coastguard Worker case Layer_LstmLayer: {
11449*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::LstmLayer *>(obj);
11450*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11451*89c4ff92SAndroid Build Coastguard Worker }
11452*89c4ff92SAndroid Build Coastguard Worker case Layer_QuantizedLstmLayer: {
11453*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::QuantizedLstmLayer *>(obj);
11454*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11455*89c4ff92SAndroid Build Coastguard Worker }
11456*89c4ff92SAndroid Build Coastguard Worker case Layer_QuantizeLayer: {
11457*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::QuantizeLayer *>(obj);
11458*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11459*89c4ff92SAndroid Build Coastguard Worker }
11460*89c4ff92SAndroid Build Coastguard Worker case Layer_DequantizeLayer: {
11461*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::DequantizeLayer *>(obj);
11462*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11463*89c4ff92SAndroid Build Coastguard Worker }
11464*89c4ff92SAndroid Build Coastguard Worker case Layer_MergeLayer: {
11465*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::MergeLayer *>(obj);
11466*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11467*89c4ff92SAndroid Build Coastguard Worker }
11468*89c4ff92SAndroid Build Coastguard Worker case Layer_SwitchLayer: {
11469*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::SwitchLayer *>(obj);
11470*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11471*89c4ff92SAndroid Build Coastguard Worker }
11472*89c4ff92SAndroid Build Coastguard Worker case Layer_ConcatLayer: {
11473*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::ConcatLayer *>(obj);
11474*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11475*89c4ff92SAndroid Build Coastguard Worker }
11476*89c4ff92SAndroid Build Coastguard Worker case Layer_SpaceToDepthLayer: {
11477*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::SpaceToDepthLayer *>(obj);
11478*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11479*89c4ff92SAndroid Build Coastguard Worker }
11480*89c4ff92SAndroid Build Coastguard Worker case Layer_PreluLayer: {
11481*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::PreluLayer *>(obj);
11482*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11483*89c4ff92SAndroid Build Coastguard Worker }
11484*89c4ff92SAndroid Build Coastguard Worker case Layer_TransposeConvolution2dLayer: {
11485*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::TransposeConvolution2dLayer *>(obj);
11486*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11487*89c4ff92SAndroid Build Coastguard Worker }
11488*89c4ff92SAndroid Build Coastguard Worker case Layer_ResizeLayer: {
11489*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::ResizeLayer *>(obj);
11490*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11491*89c4ff92SAndroid Build Coastguard Worker }
11492*89c4ff92SAndroid Build Coastguard Worker case Layer_StackLayer: {
11493*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::StackLayer *>(obj);
11494*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11495*89c4ff92SAndroid Build Coastguard Worker }
11496*89c4ff92SAndroid Build Coastguard Worker case Layer_AbsLayer: {
11497*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::AbsLayer *>(obj);
11498*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11499*89c4ff92SAndroid Build Coastguard Worker }
11500*89c4ff92SAndroid Build Coastguard Worker case Layer_ArgMinMaxLayer: {
11501*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::ArgMinMaxLayer *>(obj);
11502*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11503*89c4ff92SAndroid Build Coastguard Worker }
11504*89c4ff92SAndroid Build Coastguard Worker case Layer_SliceLayer: {
11505*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::SliceLayer *>(obj);
11506*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11507*89c4ff92SAndroid Build Coastguard Worker }
11508*89c4ff92SAndroid Build Coastguard Worker case Layer_DepthToSpaceLayer: {
11509*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::DepthToSpaceLayer *>(obj);
11510*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11511*89c4ff92SAndroid Build Coastguard Worker }
11512*89c4ff92SAndroid Build Coastguard Worker case Layer_InstanceNormalizationLayer: {
11513*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::InstanceNormalizationLayer *>(obj);
11514*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11515*89c4ff92SAndroid Build Coastguard Worker }
11516*89c4ff92SAndroid Build Coastguard Worker case Layer_LogSoftmaxLayer: {
11517*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::LogSoftmaxLayer *>(obj);
11518*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11519*89c4ff92SAndroid Build Coastguard Worker }
11520*89c4ff92SAndroid Build Coastguard Worker case Layer_ComparisonLayer: {
11521*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::ComparisonLayer *>(obj);
11522*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11523*89c4ff92SAndroid Build Coastguard Worker }
11524*89c4ff92SAndroid Build Coastguard Worker case Layer_StandInLayer: {
11525*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::StandInLayer *>(obj);
11526*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11527*89c4ff92SAndroid Build Coastguard Worker }
11528*89c4ff92SAndroid Build Coastguard Worker case Layer_ElementwiseUnaryLayer: {
11529*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::ElementwiseUnaryLayer *>(obj);
11530*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11531*89c4ff92SAndroid Build Coastguard Worker }
11532*89c4ff92SAndroid Build Coastguard Worker case Layer_TransposeLayer: {
11533*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::TransposeLayer *>(obj);
11534*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11535*89c4ff92SAndroid Build Coastguard Worker }
11536*89c4ff92SAndroid Build Coastguard Worker case Layer_QLstmLayer: {
11537*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::QLstmLayer *>(obj);
11538*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11539*89c4ff92SAndroid Build Coastguard Worker }
11540*89c4ff92SAndroid Build Coastguard Worker case Layer_FillLayer: {
11541*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::FillLayer *>(obj);
11542*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11543*89c4ff92SAndroid Build Coastguard Worker }
11544*89c4ff92SAndroid Build Coastguard Worker case Layer_RankLayer: {
11545*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::RankLayer *>(obj);
11546*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11547*89c4ff92SAndroid Build Coastguard Worker }
11548*89c4ff92SAndroid Build Coastguard Worker case Layer_LogicalBinaryLayer: {
11549*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::LogicalBinaryLayer *>(obj);
11550*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11551*89c4ff92SAndroid Build Coastguard Worker }
11552*89c4ff92SAndroid Build Coastguard Worker case Layer_ReduceLayer: {
11553*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::ReduceLayer *>(obj);
11554*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11555*89c4ff92SAndroid Build Coastguard Worker }
11556*89c4ff92SAndroid Build Coastguard Worker case Layer_CastLayer: {
11557*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::CastLayer *>(obj);
11558*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11559*89c4ff92SAndroid Build Coastguard Worker }
11560*89c4ff92SAndroid Build Coastguard Worker case Layer_ShapeLayer: {
11561*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::ShapeLayer *>(obj);
11562*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11563*89c4ff92SAndroid Build Coastguard Worker }
11564*89c4ff92SAndroid Build Coastguard Worker case Layer_UnidirectionalSequenceLstmLayer: {
11565*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::UnidirectionalSequenceLstmLayer *>(obj);
11566*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11567*89c4ff92SAndroid Build Coastguard Worker }
11568*89c4ff92SAndroid Build Coastguard Worker case Layer_ChannelShuffleLayer: {
11569*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::ChannelShuffleLayer *>(obj);
11570*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11571*89c4ff92SAndroid Build Coastguard Worker }
11572*89c4ff92SAndroid Build Coastguard Worker case Layer_Convolution3dLayer: {
11573*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::Convolution3dLayer *>(obj);
11574*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11575*89c4ff92SAndroid Build Coastguard Worker }
11576*89c4ff92SAndroid Build Coastguard Worker case Layer_Pooling3dLayer: {
11577*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::Pooling3dLayer *>(obj);
11578*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11579*89c4ff92SAndroid Build Coastguard Worker }
11580*89c4ff92SAndroid Build Coastguard Worker case Layer_GatherNdLayer: {
11581*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::GatherNdLayer *>(obj);
11582*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11583*89c4ff92SAndroid Build Coastguard Worker }
11584*89c4ff92SAndroid Build Coastguard Worker case Layer_BatchMatMulLayer: {
11585*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::BatchMatMulLayer *>(obj);
11586*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11587*89c4ff92SAndroid Build Coastguard Worker }
11588*89c4ff92SAndroid Build Coastguard Worker case Layer_ElementwiseBinaryLayer: {
11589*89c4ff92SAndroid Build Coastguard Worker auto ptr = reinterpret_cast<const armnnSerializer::ElementwiseBinaryLayer *>(obj);
11590*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyTable(ptr);
11591*89c4ff92SAndroid Build Coastguard Worker }
11592*89c4ff92SAndroid Build Coastguard Worker default: return true;
11593*89c4ff92SAndroid Build Coastguard Worker }
11594*89c4ff92SAndroid Build Coastguard Worker }
11595*89c4ff92SAndroid Build Coastguard Worker
11596*89c4ff92SAndroid Build Coastguard Worker inline bool VerifyLayerVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types) {
11597*89c4ff92SAndroid Build Coastguard Worker if (!values || !types) return !values && !types;
11598*89c4ff92SAndroid Build Coastguard Worker if (values->size() != types->size()) return false;
11599*89c4ff92SAndroid Build Coastguard Worker for (flatbuffers::uoffset_t i = 0; i < values->size(); ++i) {
11600*89c4ff92SAndroid Build Coastguard Worker if (!VerifyLayer(
11601*89c4ff92SAndroid Build Coastguard Worker verifier, values->Get(i), types->GetEnum<Layer>(i))) {
11602*89c4ff92SAndroid Build Coastguard Worker return false;
11603*89c4ff92SAndroid Build Coastguard Worker }
11604*89c4ff92SAndroid Build Coastguard Worker }
11605*89c4ff92SAndroid Build Coastguard Worker return true;
11606*89c4ff92SAndroid Build Coastguard Worker }
11607*89c4ff92SAndroid Build Coastguard Worker
11608*89c4ff92SAndroid Build Coastguard Worker inline const armnnSerializer::SerializedGraph *GetSerializedGraph(const void *buf) {
11609*89c4ff92SAndroid Build Coastguard Worker return flatbuffers::GetRoot<armnnSerializer::SerializedGraph>(buf);
11610*89c4ff92SAndroid Build Coastguard Worker }
11611*89c4ff92SAndroid Build Coastguard Worker
11612*89c4ff92SAndroid Build Coastguard Worker inline const armnnSerializer::SerializedGraph *GetSizePrefixedSerializedGraph(const void *buf) {
11613*89c4ff92SAndroid Build Coastguard Worker return flatbuffers::GetSizePrefixedRoot<armnnSerializer::SerializedGraph>(buf);
11614*89c4ff92SAndroid Build Coastguard Worker }
11615*89c4ff92SAndroid Build Coastguard Worker
11616*89c4ff92SAndroid Build Coastguard Worker inline const char *SerializedGraphIdentifier() {
11617*89c4ff92SAndroid Build Coastguard Worker return "ARMN";
11618*89c4ff92SAndroid Build Coastguard Worker }
11619*89c4ff92SAndroid Build Coastguard Worker
11620*89c4ff92SAndroid Build Coastguard Worker inline bool SerializedGraphBufferHasIdentifier(const void *buf) {
11621*89c4ff92SAndroid Build Coastguard Worker return flatbuffers::BufferHasIdentifier(
11622*89c4ff92SAndroid Build Coastguard Worker buf, SerializedGraphIdentifier());
11623*89c4ff92SAndroid Build Coastguard Worker }
11624*89c4ff92SAndroid Build Coastguard Worker
11625*89c4ff92SAndroid Build Coastguard Worker inline bool SizePrefixedSerializedGraphBufferHasIdentifier(const void *buf) {
11626*89c4ff92SAndroid Build Coastguard Worker return flatbuffers::BufferHasIdentifier(
11627*89c4ff92SAndroid Build Coastguard Worker buf, SerializedGraphIdentifier(), true);
11628*89c4ff92SAndroid Build Coastguard Worker }
11629*89c4ff92SAndroid Build Coastguard Worker
11630*89c4ff92SAndroid Build Coastguard Worker inline bool VerifySerializedGraphBuffer(
11631*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Verifier &verifier) {
11632*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifyBuffer<armnnSerializer::SerializedGraph>(SerializedGraphIdentifier());
11633*89c4ff92SAndroid Build Coastguard Worker }
11634*89c4ff92SAndroid Build Coastguard Worker
11635*89c4ff92SAndroid Build Coastguard Worker inline bool VerifySizePrefixedSerializedGraphBuffer(
11636*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Verifier &verifier) {
11637*89c4ff92SAndroid Build Coastguard Worker return verifier.VerifySizePrefixedBuffer<armnnSerializer::SerializedGraph>(SerializedGraphIdentifier());
11638*89c4ff92SAndroid Build Coastguard Worker }
11639*89c4ff92SAndroid Build Coastguard Worker
11640*89c4ff92SAndroid Build Coastguard Worker inline const char *SerializedGraphExtension() {
11641*89c4ff92SAndroid Build Coastguard Worker return "armnn";
11642*89c4ff92SAndroid Build Coastguard Worker }
11643*89c4ff92SAndroid Build Coastguard Worker
11644*89c4ff92SAndroid Build Coastguard Worker inline void FinishSerializedGraphBuffer(
11645*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb,
11646*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::SerializedGraph> root) {
11647*89c4ff92SAndroid Build Coastguard Worker fbb.Finish(root, SerializedGraphIdentifier());
11648*89c4ff92SAndroid Build Coastguard Worker }
11649*89c4ff92SAndroid Build Coastguard Worker
11650*89c4ff92SAndroid Build Coastguard Worker inline void FinishSizePrefixedSerializedGraphBuffer(
11651*89c4ff92SAndroid Build Coastguard Worker flatbuffers::FlatBufferBuilder &fbb,
11652*89c4ff92SAndroid Build Coastguard Worker flatbuffers::Offset<armnnSerializer::SerializedGraph> root) {
11653*89c4ff92SAndroid Build Coastguard Worker fbb.FinishSizePrefixed(root, SerializedGraphIdentifier());
11654*89c4ff92SAndroid Build Coastguard Worker }
11655*89c4ff92SAndroid Build Coastguard Worker
11656*89c4ff92SAndroid Build Coastguard Worker } // namespace armnnSerializer
11657*89c4ff92SAndroid Build Coastguard Worker
11658*89c4ff92SAndroid Build Coastguard Worker #endif // FLATBUFFERS_GENERATED_ARMNNSCHEMA_ARMNNSERIALIZER_H_
11659