xref: /aosp_15_r20/external/armnn/src/armnnSerializer/SerializerUtils.cpp (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1*89c4ff92SAndroid Build Coastguard Worker //
2*89c4ff92SAndroid Build Coastguard Worker // Copyright © 2017,2019-2021,2023 Arm Ltd and Contributors. All rights reserved.
3*89c4ff92SAndroid Build Coastguard Worker // SPDX-License-Identifier: MIT
4*89c4ff92SAndroid Build Coastguard Worker //
5*89c4ff92SAndroid Build Coastguard Worker 
6*89c4ff92SAndroid Build Coastguard Worker #include "SerializerUtils.hpp"
7*89c4ff92SAndroid Build Coastguard Worker 
8*89c4ff92SAndroid Build Coastguard Worker namespace armnnSerializer
9*89c4ff92SAndroid Build Coastguard Worker {
10*89c4ff92SAndroid Build Coastguard Worker 
GetFlatBufferComparisonOperation(armnn::ComparisonOperation comparisonOperation)11*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::ComparisonOperation GetFlatBufferComparisonOperation(armnn::ComparisonOperation comparisonOperation)
12*89c4ff92SAndroid Build Coastguard Worker {
13*89c4ff92SAndroid Build Coastguard Worker     switch (comparisonOperation)
14*89c4ff92SAndroid Build Coastguard Worker     {
15*89c4ff92SAndroid Build Coastguard Worker         case armnn::ComparisonOperation::Equal:
16*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::ComparisonOperation::ComparisonOperation_Equal;
17*89c4ff92SAndroid Build Coastguard Worker         case armnn::ComparisonOperation::Greater:
18*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::ComparisonOperation::ComparisonOperation_Greater;
19*89c4ff92SAndroid Build Coastguard Worker         case armnn::ComparisonOperation::GreaterOrEqual:
20*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::ComparisonOperation::ComparisonOperation_GreaterOrEqual;
21*89c4ff92SAndroid Build Coastguard Worker         case armnn::ComparisonOperation::Less:
22*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::ComparisonOperation::ComparisonOperation_Less;
23*89c4ff92SAndroid Build Coastguard Worker         case armnn::ComparisonOperation::LessOrEqual:
24*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::ComparisonOperation::ComparisonOperation_LessOrEqual;
25*89c4ff92SAndroid Build Coastguard Worker         case armnn::ComparisonOperation::NotEqual:
26*89c4ff92SAndroid Build Coastguard Worker         default:
27*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::ComparisonOperation::ComparisonOperation_NotEqual;
28*89c4ff92SAndroid Build Coastguard Worker     }
29*89c4ff92SAndroid Build Coastguard Worker }
30*89c4ff92SAndroid Build Coastguard Worker 
GetFlatBufferLogicalBinaryOperation(armnn::LogicalBinaryOperation logicalBinaryOperation)31*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::LogicalBinaryOperation GetFlatBufferLogicalBinaryOperation(
32*89c4ff92SAndroid Build Coastguard Worker     armnn::LogicalBinaryOperation logicalBinaryOperation)
33*89c4ff92SAndroid Build Coastguard Worker {
34*89c4ff92SAndroid Build Coastguard Worker     switch (logicalBinaryOperation)
35*89c4ff92SAndroid Build Coastguard Worker     {
36*89c4ff92SAndroid Build Coastguard Worker         case armnn::LogicalBinaryOperation::LogicalAnd:
37*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::LogicalBinaryOperation::LogicalBinaryOperation_LogicalAnd;
38*89c4ff92SAndroid Build Coastguard Worker         case armnn::LogicalBinaryOperation::LogicalOr:
39*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::LogicalBinaryOperation::LogicalBinaryOperation_LogicalOr;
40*89c4ff92SAndroid Build Coastguard Worker         default:
41*89c4ff92SAndroid Build Coastguard Worker             throw armnn::InvalidArgumentException("Logical Binary operation unknown");
42*89c4ff92SAndroid Build Coastguard Worker     }
43*89c4ff92SAndroid Build Coastguard Worker }
44*89c4ff92SAndroid Build Coastguard Worker 
GetFlatBufferConstTensorData(armnn::DataType dataType)45*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::ConstTensorData GetFlatBufferConstTensorData(armnn::DataType dataType)
46*89c4ff92SAndroid Build Coastguard Worker {
47*89c4ff92SAndroid Build Coastguard Worker     switch (dataType)
48*89c4ff92SAndroid Build Coastguard Worker     {
49*89c4ff92SAndroid Build Coastguard Worker         case armnn::DataType::Float32:
50*89c4ff92SAndroid Build Coastguard Worker         case armnn::DataType::Signed32:
51*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::ConstTensorData::ConstTensorData_IntData;
52*89c4ff92SAndroid Build Coastguard Worker         case armnn::DataType::Float16:
53*89c4ff92SAndroid Build Coastguard Worker         case armnn::DataType::QSymmS16:
54*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::ConstTensorData::ConstTensorData_ShortData;
55*89c4ff92SAndroid Build Coastguard Worker         case armnn::DataType::QAsymmS8:
56*89c4ff92SAndroid Build Coastguard Worker         case armnn::DataType::QAsymmU8:
57*89c4ff92SAndroid Build Coastguard Worker         case armnn::DataType::QSymmS8:
58*89c4ff92SAndroid Build Coastguard Worker         case armnn::DataType::Boolean:
59*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::ConstTensorData::ConstTensorData_ByteData;
60*89c4ff92SAndroid Build Coastguard Worker         case armnn::DataType::Signed64:
61*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::ConstTensorData::ConstTensorData_LongData;
62*89c4ff92SAndroid Build Coastguard Worker         default:
63*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::ConstTensorData::ConstTensorData_NONE;
64*89c4ff92SAndroid Build Coastguard Worker     }
65*89c4ff92SAndroid Build Coastguard Worker }
66*89c4ff92SAndroid Build Coastguard Worker 
GetFlatBufferDataType(armnn::DataType dataType)67*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataType GetFlatBufferDataType(armnn::DataType dataType)
68*89c4ff92SAndroid Build Coastguard Worker {
69*89c4ff92SAndroid Build Coastguard Worker     switch (dataType)
70*89c4ff92SAndroid Build Coastguard Worker     {
71*89c4ff92SAndroid Build Coastguard Worker         case armnn::DataType::Float32:
72*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::DataType::DataType_Float32;
73*89c4ff92SAndroid Build Coastguard Worker         case armnn::DataType::Float16:
74*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::DataType::DataType_Float16;
75*89c4ff92SAndroid Build Coastguard Worker         case armnn::DataType::Signed32:
76*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::DataType::DataType_Signed32;
77*89c4ff92SAndroid Build Coastguard Worker         case armnn::DataType::Signed64:
78*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::DataType::DataType_Signed64;
79*89c4ff92SAndroid Build Coastguard Worker         case armnn::DataType::QSymmS16:
80*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::DataType::DataType_QSymmS16;
81*89c4ff92SAndroid Build Coastguard Worker         case armnn::DataType::QAsymmS8:
82*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::DataType::DataType_QAsymmS8;
83*89c4ff92SAndroid Build Coastguard Worker         case armnn::DataType::QAsymmU8:
84*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::DataType::DataType_QAsymmU8;
85*89c4ff92SAndroid Build Coastguard Worker         case armnn::DataType::QSymmS8:
86*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::DataType::DataType_QSymmS8;
87*89c4ff92SAndroid Build Coastguard Worker         case armnn::DataType::Boolean:
88*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::DataType::DataType_Boolean;
89*89c4ff92SAndroid Build Coastguard Worker         default:
90*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::DataType::DataType_Float16;
91*89c4ff92SAndroid Build Coastguard Worker     }
92*89c4ff92SAndroid Build Coastguard Worker }
93*89c4ff92SAndroid Build Coastguard Worker 
GetFlatBufferDataLayout(armnn::DataLayout dataLayout)94*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::DataLayout GetFlatBufferDataLayout(armnn::DataLayout dataLayout)
95*89c4ff92SAndroid Build Coastguard Worker {
96*89c4ff92SAndroid Build Coastguard Worker     switch (dataLayout)
97*89c4ff92SAndroid Build Coastguard Worker     {
98*89c4ff92SAndroid Build Coastguard Worker         case armnn::DataLayout::NHWC:
99*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::DataLayout::DataLayout_NHWC;
100*89c4ff92SAndroid Build Coastguard Worker         case armnn::DataLayout::NDHWC:
101*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::DataLayout::DataLayout_NDHWC;
102*89c4ff92SAndroid Build Coastguard Worker         case armnn::DataLayout::NCDHW:
103*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::DataLayout::DataLayout_NCDHW;
104*89c4ff92SAndroid Build Coastguard Worker         case armnn::DataLayout::NCHW:
105*89c4ff92SAndroid Build Coastguard Worker         default:
106*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::DataLayout::DataLayout_NCHW;
107*89c4ff92SAndroid Build Coastguard Worker     }
108*89c4ff92SAndroid Build Coastguard Worker }
109*89c4ff92SAndroid Build Coastguard Worker 
GetFlatBufferBinaryOperation(armnn::BinaryOperation binaryOperation)110*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::BinaryOperation GetFlatBufferBinaryOperation(armnn::BinaryOperation binaryOperation)
111*89c4ff92SAndroid Build Coastguard Worker {
112*89c4ff92SAndroid Build Coastguard Worker     switch (binaryOperation)
113*89c4ff92SAndroid Build Coastguard Worker     {
114*89c4ff92SAndroid Build Coastguard Worker         case armnn::BinaryOperation::Add:
115*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::BinaryOperation::BinaryOperation_Add;
116*89c4ff92SAndroid Build Coastguard Worker         case armnn::BinaryOperation::Div:
117*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::BinaryOperation::BinaryOperation_Div;
118*89c4ff92SAndroid Build Coastguard Worker         case armnn::BinaryOperation::Maximum:
119*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::BinaryOperation::BinaryOperation_Maximum;
120*89c4ff92SAndroid Build Coastguard Worker         case armnn::BinaryOperation::Minimum:
121*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::BinaryOperation::BinaryOperation_Minimum;
122*89c4ff92SAndroid Build Coastguard Worker         case armnn::BinaryOperation::Mul:
123*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::BinaryOperation::BinaryOperation_Mul;
124*89c4ff92SAndroid Build Coastguard Worker         case armnn::BinaryOperation::Sub:
125*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::BinaryOperation::BinaryOperation_Sub;
126*89c4ff92SAndroid Build Coastguard Worker         default:
127*89c4ff92SAndroid Build Coastguard Worker             throw armnn::InvalidArgumentException("Elementwise Binary operation unknown");
128*89c4ff92SAndroid Build Coastguard Worker     }
129*89c4ff92SAndroid Build Coastguard Worker }
130*89c4ff92SAndroid Build Coastguard Worker 
GetFlatBufferUnaryOperation(armnn::UnaryOperation unaryOperation)131*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::UnaryOperation GetFlatBufferUnaryOperation(armnn::UnaryOperation unaryOperation)
132*89c4ff92SAndroid Build Coastguard Worker {
133*89c4ff92SAndroid Build Coastguard Worker     switch (unaryOperation)
134*89c4ff92SAndroid Build Coastguard Worker     {
135*89c4ff92SAndroid Build Coastguard Worker         case armnn::UnaryOperation::Abs:
136*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::UnaryOperation::UnaryOperation_Abs;
137*89c4ff92SAndroid Build Coastguard Worker         case armnn::UnaryOperation::Ceil:
138*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::UnaryOperation::UnaryOperation_Ceil;
139*89c4ff92SAndroid Build Coastguard Worker         case armnn::UnaryOperation::Rsqrt:
140*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::UnaryOperation::UnaryOperation_Rsqrt;
141*89c4ff92SAndroid Build Coastguard Worker         case armnn::UnaryOperation::Sqrt:
142*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::UnaryOperation::UnaryOperation_Sqrt;
143*89c4ff92SAndroid Build Coastguard Worker         case armnn::UnaryOperation::Exp:
144*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::UnaryOperation::UnaryOperation_Exp;
145*89c4ff92SAndroid Build Coastguard Worker         case armnn::UnaryOperation::Neg:
146*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::UnaryOperation::UnaryOperation_Neg;
147*89c4ff92SAndroid Build Coastguard Worker         case armnn::UnaryOperation::LogicalNot:
148*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::UnaryOperation::UnaryOperation_LogicalNot;
149*89c4ff92SAndroid Build Coastguard Worker         case armnn::UnaryOperation::Log:
150*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::UnaryOperation::UnaryOperation_Log;
151*89c4ff92SAndroid Build Coastguard Worker         case armnn::UnaryOperation::Sin:
152*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::UnaryOperation::UnaryOperation_Sin;
153*89c4ff92SAndroid Build Coastguard Worker         default:
154*89c4ff92SAndroid Build Coastguard Worker             throw armnn::InvalidArgumentException("Elementwise Unary operation unknown");
155*89c4ff92SAndroid Build Coastguard Worker     }
156*89c4ff92SAndroid Build Coastguard Worker }
157*89c4ff92SAndroid Build Coastguard Worker 
GetFlatBufferPoolingAlgorithm(armnn::PoolingAlgorithm poolingAlgorithm)158*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::PoolingAlgorithm GetFlatBufferPoolingAlgorithm(armnn::PoolingAlgorithm poolingAlgorithm)
159*89c4ff92SAndroid Build Coastguard Worker {
160*89c4ff92SAndroid Build Coastguard Worker     switch (poolingAlgorithm)
161*89c4ff92SAndroid Build Coastguard Worker     {
162*89c4ff92SAndroid Build Coastguard Worker         case armnn::PoolingAlgorithm::Average:
163*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::PoolingAlgorithm::PoolingAlgorithm_Average;
164*89c4ff92SAndroid Build Coastguard Worker         case armnn::PoolingAlgorithm::L2:
165*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::PoolingAlgorithm::PoolingAlgorithm_L2;
166*89c4ff92SAndroid Build Coastguard Worker         case armnn::PoolingAlgorithm::Max:
167*89c4ff92SAndroid Build Coastguard Worker         default:
168*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::PoolingAlgorithm::PoolingAlgorithm_Max;
169*89c4ff92SAndroid Build Coastguard Worker     }
170*89c4ff92SAndroid Build Coastguard Worker }
171*89c4ff92SAndroid Build Coastguard Worker 
GetFlatBufferOutputShapeRounding(armnn::OutputShapeRounding outputShapeRounding)172*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::OutputShapeRounding GetFlatBufferOutputShapeRounding(armnn::OutputShapeRounding outputShapeRounding)
173*89c4ff92SAndroid Build Coastguard Worker {
174*89c4ff92SAndroid Build Coastguard Worker     switch (outputShapeRounding)
175*89c4ff92SAndroid Build Coastguard Worker     {
176*89c4ff92SAndroid Build Coastguard Worker         case armnn::OutputShapeRounding::Ceiling:
177*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::OutputShapeRounding::OutputShapeRounding_Ceiling;
178*89c4ff92SAndroid Build Coastguard Worker         case armnn::OutputShapeRounding::Floor:
179*89c4ff92SAndroid Build Coastguard Worker         default:
180*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::OutputShapeRounding::OutputShapeRounding_Floor;
181*89c4ff92SAndroid Build Coastguard Worker     }
182*89c4ff92SAndroid Build Coastguard Worker }
183*89c4ff92SAndroid Build Coastguard Worker 
GetFlatBufferPaddingMethod(armnn::PaddingMethod paddingMethod)184*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::PaddingMethod GetFlatBufferPaddingMethod(armnn::PaddingMethod paddingMethod)
185*89c4ff92SAndroid Build Coastguard Worker {
186*89c4ff92SAndroid Build Coastguard Worker     switch (paddingMethod)
187*89c4ff92SAndroid Build Coastguard Worker     {
188*89c4ff92SAndroid Build Coastguard Worker         case armnn::PaddingMethod::IgnoreValue:
189*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::PaddingMethod::PaddingMethod_IgnoreValue;
190*89c4ff92SAndroid Build Coastguard Worker         case armnn::PaddingMethod::Exclude:
191*89c4ff92SAndroid Build Coastguard Worker         default:
192*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::PaddingMethod::PaddingMethod_Exclude;
193*89c4ff92SAndroid Build Coastguard Worker     }
194*89c4ff92SAndroid Build Coastguard Worker }
195*89c4ff92SAndroid Build Coastguard Worker 
GetFlatBufferPaddingMode(armnn::PaddingMode paddingMode)196*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::PaddingMode GetFlatBufferPaddingMode(armnn::PaddingMode paddingMode)
197*89c4ff92SAndroid Build Coastguard Worker {
198*89c4ff92SAndroid Build Coastguard Worker     switch (paddingMode)
199*89c4ff92SAndroid Build Coastguard Worker     {
200*89c4ff92SAndroid Build Coastguard Worker         case armnn::PaddingMode::Reflect:
201*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::PaddingMode::PaddingMode_Reflect;
202*89c4ff92SAndroid Build Coastguard Worker         case armnn::PaddingMode::Symmetric:
203*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::PaddingMode::PaddingMode_Symmetric;
204*89c4ff92SAndroid Build Coastguard Worker         default:
205*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::PaddingMode::PaddingMode_Constant;
206*89c4ff92SAndroid Build Coastguard Worker     }
207*89c4ff92SAndroid Build Coastguard Worker }
208*89c4ff92SAndroid Build Coastguard Worker 
GetFlatBufferNormalizationAlgorithmChannel(armnn::NormalizationAlgorithmChannel normalizationAlgorithmChannel)209*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::NormalizationAlgorithmChannel GetFlatBufferNormalizationAlgorithmChannel(
210*89c4ff92SAndroid Build Coastguard Worker     armnn::NormalizationAlgorithmChannel normalizationAlgorithmChannel)
211*89c4ff92SAndroid Build Coastguard Worker {
212*89c4ff92SAndroid Build Coastguard Worker     switch (normalizationAlgorithmChannel)
213*89c4ff92SAndroid Build Coastguard Worker     {
214*89c4ff92SAndroid Build Coastguard Worker         case armnn::NormalizationAlgorithmChannel::Across:
215*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::NormalizationAlgorithmChannel::NormalizationAlgorithmChannel_Across;
216*89c4ff92SAndroid Build Coastguard Worker         case armnn::NormalizationAlgorithmChannel::Within:
217*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::NormalizationAlgorithmChannel::NormalizationAlgorithmChannel_Within;
218*89c4ff92SAndroid Build Coastguard Worker         default:
219*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::NormalizationAlgorithmChannel::NormalizationAlgorithmChannel_Across;
220*89c4ff92SAndroid Build Coastguard Worker     }
221*89c4ff92SAndroid Build Coastguard Worker }
222*89c4ff92SAndroid Build Coastguard Worker 
GetFlatBufferNormalizationAlgorithmMethod(armnn::NormalizationAlgorithmMethod normalizationAlgorithmMethod)223*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::NormalizationAlgorithmMethod GetFlatBufferNormalizationAlgorithmMethod(
224*89c4ff92SAndroid Build Coastguard Worker     armnn::NormalizationAlgorithmMethod normalizationAlgorithmMethod)
225*89c4ff92SAndroid Build Coastguard Worker {
226*89c4ff92SAndroid Build Coastguard Worker     switch (normalizationAlgorithmMethod)
227*89c4ff92SAndroid Build Coastguard Worker     {
228*89c4ff92SAndroid Build Coastguard Worker         case armnn::NormalizationAlgorithmMethod::LocalBrightness:
229*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::NormalizationAlgorithmMethod::NormalizationAlgorithmMethod_LocalBrightness;
230*89c4ff92SAndroid Build Coastguard Worker         case armnn::NormalizationAlgorithmMethod::LocalContrast:
231*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::NormalizationAlgorithmMethod::NormalizationAlgorithmMethod_LocalContrast;
232*89c4ff92SAndroid Build Coastguard Worker         default:
233*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::NormalizationAlgorithmMethod::NormalizationAlgorithmMethod_LocalBrightness;
234*89c4ff92SAndroid Build Coastguard Worker     }
235*89c4ff92SAndroid Build Coastguard Worker }
236*89c4ff92SAndroid Build Coastguard Worker 
GetFlatBufferResizeMethod(armnn::ResizeMethod method)237*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::ResizeMethod GetFlatBufferResizeMethod(armnn::ResizeMethod method)
238*89c4ff92SAndroid Build Coastguard Worker {
239*89c4ff92SAndroid Build Coastguard Worker     switch (method)
240*89c4ff92SAndroid Build Coastguard Worker     {
241*89c4ff92SAndroid Build Coastguard Worker         case armnn::ResizeMethod::NearestNeighbor:
242*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::ResizeMethod_NearestNeighbor;
243*89c4ff92SAndroid Build Coastguard Worker         case armnn::ResizeMethod::Bilinear:
244*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::ResizeMethod_Bilinear;
245*89c4ff92SAndroid Build Coastguard Worker         default:
246*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::ResizeMethod_NearestNeighbor;
247*89c4ff92SAndroid Build Coastguard Worker     }
248*89c4ff92SAndroid Build Coastguard Worker }
249*89c4ff92SAndroid Build Coastguard Worker 
GetFlatBufferReduceOperation(armnn::ReduceOperation reduceOperation)250*89c4ff92SAndroid Build Coastguard Worker armnnSerializer::ReduceOperation GetFlatBufferReduceOperation(armnn::ReduceOperation reduceOperation)
251*89c4ff92SAndroid Build Coastguard Worker {
252*89c4ff92SAndroid Build Coastguard Worker     switch (reduceOperation)
253*89c4ff92SAndroid Build Coastguard Worker     {
254*89c4ff92SAndroid Build Coastguard Worker         case armnn::ReduceOperation::Sum:
255*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::ReduceOperation::ReduceOperation_Sum;
256*89c4ff92SAndroid Build Coastguard Worker         case armnn::ReduceOperation::Max:
257*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::ReduceOperation::ReduceOperation_Max;
258*89c4ff92SAndroid Build Coastguard Worker         case armnn::ReduceOperation::Mean:
259*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::ReduceOperation::ReduceOperation_Mean;
260*89c4ff92SAndroid Build Coastguard Worker         case armnn::ReduceOperation::Min:
261*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::ReduceOperation::ReduceOperation_Min;
262*89c4ff92SAndroid Build Coastguard Worker         case armnn::ReduceOperation::Prod:
263*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::ReduceOperation::ReduceOperation_Prod;
264*89c4ff92SAndroid Build Coastguard Worker         default:
265*89c4ff92SAndroid Build Coastguard Worker             return armnnSerializer::ReduceOperation::ReduceOperation_Sum;
266*89c4ff92SAndroid Build Coastguard Worker     }
267*89c4ff92SAndroid Build Coastguard Worker }
268*89c4ff92SAndroid Build Coastguard Worker 
269*89c4ff92SAndroid Build Coastguard Worker } // namespace armnnSerializer
270