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 WorkerarmnnSerializer::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 WorkerarmnnSerializer::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 WorkerarmnnSerializer::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 WorkerarmnnSerializer::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 WorkerarmnnSerializer::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 WorkerarmnnSerializer::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 WorkerarmnnSerializer::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 WorkerarmnnSerializer::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 WorkerarmnnSerializer::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 WorkerarmnnSerializer::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 WorkerarmnnSerializer::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 WorkerarmnnSerializer::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 WorkerarmnnSerializer::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 WorkerarmnnSerializer::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 WorkerarmnnSerializer::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