From bceff2fb3fc68bb0aa88b886900c34b77340c826 Mon Sep 17 00:00:00 2001 From: surmeh01 Date: Thu, 29 Mar 2018 16:29:27 +0100 Subject: Release 18.03 --- src/armnn/SerializeLayerParameters.hpp | 73 ++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 src/armnn/SerializeLayerParameters.hpp (limited to 'src/armnn/SerializeLayerParameters.hpp') diff --git a/src/armnn/SerializeLayerParameters.hpp b/src/armnn/SerializeLayerParameters.hpp new file mode 100644 index 0000000000..b00816067d --- /dev/null +++ b/src/armnn/SerializeLayerParameters.hpp @@ -0,0 +1,73 @@ +// +// Copyright © 2017 Arm Ltd. All rights reserved. +// See LICENSE file in the project root for full license information. +// +#pragma once + +#include +#include +#include + +namespace armnn +{ + +using ParameterStringifyFunction = std::function; + +/// +/// StringifyLayerParameters allows serializing layer parameters to string. +/// The default implementation is a no-op because this operation is considered +/// non-vital for ArmNN and thus we allow adding new layer parameters without +/// supplying the corresponding stringify functionality. +/// +template +struct StringifyLayerParameters +{ + static void Serialize(ParameterStringifyFunction &, const LayerParameter &) {} +}; + +template <> struct StringifyLayerParameters +{ + static void Serialize(ParameterStringifyFunction & fn, const PermuteDescriptor & desc); +}; + +template <> struct StringifyLayerParameters +{ + static void Serialize(ParameterStringifyFunction & fn, const ReshapeDescriptor & desc); +}; + +template <> struct StringifyLayerParameters +{ + static void Serialize(ParameterStringifyFunction & fn, const ActivationDescriptor & desc); +}; + +template <> struct StringifyLayerParameters +{ + static void Serialize(ParameterStringifyFunction & fn, const Convolution2dDescriptor & desc); +}; + +template <> struct StringifyLayerParameters +{ + static void Serialize(ParameterStringifyFunction & fn, const BatchNormalizationDescriptor & desc); +}; + +template <> struct StringifyLayerParameters +{ + static void Serialize(ParameterStringifyFunction & fn, const DepthwiseConvolution2dDescriptor & desc); +}; + +template <> struct StringifyLayerParameters +{ + static void Serialize(ParameterStringifyFunction & fn, const Pooling2dDescriptor & desc); +}; + +template <> struct StringifyLayerParameters +{ + static void Serialize(ParameterStringifyFunction & fn, const SoftmaxDescriptor & desc); +}; + +template <> struct StringifyLayerParameters +{ + static void Serialize(ParameterStringifyFunction & fn, const FullyConnectedDescriptor & desc); +}; + +} \ No newline at end of file -- cgit v1.2.1