diff options
author | surmeh01 <surabhi.mehta@arm.com> | 2018-03-29 16:29:27 +0100 |
---|---|---|
committer | surmeh01 <surabhi.mehta@arm.com> | 2018-03-29 16:29:27 +0100 |
commit | bceff2fb3fc68bb0aa88b886900c34b77340c826 (patch) | |
tree | d867d3e090d58d3012dfbbac456e9ea8c7f789bc /src/armnn/SerializeLayerParameters.hpp | |
parent | 4fcda0101ec3d110c1d6d7bee5c83416b645528a (diff) | |
download | armnn-bceff2fb3fc68bb0aa88b886900c34b77340c826.tar.gz |
Release 18.03
Diffstat (limited to 'src/armnn/SerializeLayerParameters.hpp')
-rw-r--r-- | src/armnn/SerializeLayerParameters.hpp | 73 |
1 files changed, 73 insertions, 0 deletions
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 <string> +#include <functional> +#include <armnn/Descriptors.hpp> + +namespace armnn +{ + +using ParameterStringifyFunction = std::function<void(const std::string & name, const std::string & value)>; + +/// +/// 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 <typename LayerParameter> +struct StringifyLayerParameters +{ + static void Serialize(ParameterStringifyFunction &, const LayerParameter &) {} +}; + +template <> struct StringifyLayerParameters<PermuteDescriptor> +{ + static void Serialize(ParameterStringifyFunction & fn, const PermuteDescriptor & desc); +}; + +template <> struct StringifyLayerParameters<ReshapeDescriptor> +{ + static void Serialize(ParameterStringifyFunction & fn, const ReshapeDescriptor & desc); +}; + +template <> struct StringifyLayerParameters<ActivationDescriptor> +{ + static void Serialize(ParameterStringifyFunction & fn, const ActivationDescriptor & desc); +}; + +template <> struct StringifyLayerParameters<Convolution2dDescriptor> +{ + static void Serialize(ParameterStringifyFunction & fn, const Convolution2dDescriptor & desc); +}; + +template <> struct StringifyLayerParameters<BatchNormalizationDescriptor> +{ + static void Serialize(ParameterStringifyFunction & fn, const BatchNormalizationDescriptor & desc); +}; + +template <> struct StringifyLayerParameters<DepthwiseConvolution2dDescriptor> +{ + static void Serialize(ParameterStringifyFunction & fn, const DepthwiseConvolution2dDescriptor & desc); +}; + +template <> struct StringifyLayerParameters<Pooling2dDescriptor> +{ + static void Serialize(ParameterStringifyFunction & fn, const Pooling2dDescriptor & desc); +}; + +template <> struct StringifyLayerParameters<SoftmaxDescriptor> +{ + static void Serialize(ParameterStringifyFunction & fn, const SoftmaxDescriptor & desc); +}; + +template <> struct StringifyLayerParameters<FullyConnectedDescriptor> +{ + static void Serialize(ParameterStringifyFunction & fn, const FullyConnectedDescriptor & desc); +}; + +}
\ No newline at end of file |