From 3166c3edeb64d834ba27031ddd39b5b1f940b604 Mon Sep 17 00:00:00 2001 From: Saoirse Stewart Date: Mon, 18 Feb 2019 15:24:53 +0000 Subject: IVGCVSW-2645 Add Serializer & Deserializer for Pooling2d Change-Id: Iba41da3cccd539a0175f2ed0ff9a8b6a23c5fb6f Signed-off-by: Aron Virginas-Tar Signed-off-by: Saoirse Stewart --- src/armnnSerializer/SerializerUtils.cpp | 83 +++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 src/armnnSerializer/SerializerUtils.cpp (limited to 'src/armnnSerializer/SerializerUtils.cpp') diff --git a/src/armnnSerializer/SerializerUtils.cpp b/src/armnnSerializer/SerializerUtils.cpp new file mode 100644 index 0000000000..5772eab56c --- /dev/null +++ b/src/armnnSerializer/SerializerUtils.cpp @@ -0,0 +1,83 @@ +// +// Copyright © 2017 Arm Ltd. All rights reserved. +// SPDX-License-Identifier: MIT +// + +#include "SerializerUtils.hpp" + +namespace armnnSerializer +{ + +using namespace armnn; +namespace serializer = armnn::armnnSerializer; + +serializer::DataType GetFlatBufferDataType(DataType dataType) +{ + switch (dataType) + { + case DataType::Float32: + return serializer::DataType::DataType_Float32; + case DataType::Float16: + return serializer::DataType::DataType_Float16; + case DataType::Signed32: + return serializer::DataType::DataType_Signed32; + case DataType::QuantisedAsymm8: + return serializer::DataType::DataType_QuantisedAsymm8; + case DataType::Boolean: + return serializer::DataType::DataType_Boolean; + default: + return serializer::DataType::DataType_Float16; + } +} + +serializer::DataLayout GetFlatBufferDataLayout(DataLayout dataLayout) +{ + switch (dataLayout) + { + case DataLayout::NHWC: + return serializer::DataLayout::DataLayout_NHWC; + case DataLayout::NCHW: + default: + return serializer::DataLayout::DataLayout_NCHW; + } +} + +serializer::PoolingAlgorithm GetFlatBufferPoolingAlgorithm(PoolingAlgorithm poolingAlgorithm) +{ + switch (poolingAlgorithm) + { + case PoolingAlgorithm::Average: + return serializer::PoolingAlgorithm::PoolingAlgorithm_Average; + case PoolingAlgorithm::L2: + return serializer::PoolingAlgorithm::PoolingAlgorithm_L2; + case PoolingAlgorithm::Max: + default: + return serializer::PoolingAlgorithm::PoolingAlgorithm_Max; + } +} + +serializer::OutputShapeRounding GetFlatBufferOutputShapeRounding(OutputShapeRounding outputShapeRounding) +{ + switch (outputShapeRounding) + { + case OutputShapeRounding::Ceiling: + return serializer::OutputShapeRounding::OutputShapeRounding_Ceiling; + case OutputShapeRounding::Floor: + default: + return serializer::OutputShapeRounding::OutputShapeRounding_Floor; + } +} + +serializer::PaddingMethod GetFlatBufferPaddingMethod(PaddingMethod paddingMethod) +{ + switch (paddingMethod) + { + case PaddingMethod::IgnoreValue: + return serializer::PaddingMethod::PaddingMethod_IgnoreValue; + case PaddingMethod::Exclude: + default: + return serializer::PaddingMethod::PaddingMethod_Exclude; + } +} + +} // namespace armnnSerializer \ No newline at end of file -- cgit v1.2.1