2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
9 #include <armnn/Descriptors.hpp>
14 using ParameterStringifyFunction = std::function<void(const std::string & name, const std::string & value)>;
17 /// StringifyLayerParameters allows serializing layer parameters to string.
18 /// The default implementation is a no-op because this operation is considered
19 /// non-vital for ArmNN and thus we allow adding new layer parameters without
20 /// supplying the corresponding stringify functionality.
22 template <typename LayerParameter>
23 struct StringifyLayerParameters
25 static void Serialize(ParameterStringifyFunction &, const LayerParameter &) {}
28 template <> struct StringifyLayerParameters<PermuteDescriptor>
30 static void Serialize(ParameterStringifyFunction & fn, const PermuteDescriptor & desc);
33 template <> struct StringifyLayerParameters<ReshapeDescriptor>
35 static void Serialize(ParameterStringifyFunction & fn, const ReshapeDescriptor & desc);
38 template <> struct StringifyLayerParameters<ActivationDescriptor>
40 static void Serialize(ParameterStringifyFunction & fn, const ActivationDescriptor & desc);
43 template <> struct StringifyLayerParameters<Convolution2dDescriptor>
45 static void Serialize(ParameterStringifyFunction & fn, const Convolution2dDescriptor & desc);
48 template <> struct StringifyLayerParameters<BatchNormalizationDescriptor>
50 static void Serialize(ParameterStringifyFunction & fn, const BatchNormalizationDescriptor & desc);
53 template <> struct StringifyLayerParameters<DepthwiseConvolution2dDescriptor>
55 static void Serialize(ParameterStringifyFunction & fn, const DepthwiseConvolution2dDescriptor & desc);
58 template <> struct StringifyLayerParameters<Pooling2dDescriptor>
60 static void Serialize(ParameterStringifyFunction & fn, const Pooling2dDescriptor & desc);
63 template <> struct StringifyLayerParameters<SoftmaxDescriptor>
65 static void Serialize(ParameterStringifyFunction & fn, const SoftmaxDescriptor & desc);
68 template <> struct StringifyLayerParameters<FullyConnectedDescriptor>
70 static void Serialize(ParameterStringifyFunction & fn, const FullyConnectedDescriptor & desc);
73 template <> struct StringifyLayerParameters<OriginsDescriptor>
75 static void Serialize(ParameterStringifyFunction & fn, const OriginsDescriptor & desc);