ArmNN
 22.02
SerializeLayerParameters.hpp
Go to the documentation of this file.
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 #pragma once
6 
7 #include <string>
8 #include <functional>
9 #include <armnn/Descriptors.hpp>
10 
11 namespace armnn
12 {
13 
14 using ParameterStringifyFunction = std::function<void(const std::string& name, const std::string& value)>;
15 
16 ///
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.
21 ///
22 template <typename LayerParameter>
24 {
25  static void Serialize(ParameterStringifyFunction&, const LayerParameter&) {}
26 };
27 
29 {
30  static void Serialize(ParameterStringifyFunction& fn, const ActivationDescriptor& desc);
31 };
32 
34 {
36 };
37 
39 {
41 };
42 
44 {
46 };
47 
49 {
50  static void Serialize(ParameterStringifyFunction& fn, const ComparisonDescriptor& desc);
51 };
52 
54 {
55  static void Serialize(ParameterStringifyFunction& fn, const Convolution2dDescriptor& desc);
56 };
57 
59 {
60  static void Serialize(ParameterStringifyFunction& fn, const Convolution3dDescriptor& desc);
61 };
62 
64 {
66 };
67 
69 {
71 };
72 
74 {
76 };
77 
79 {
81 };
82 
84 {
86 };
87 
89 {
91 };
92 
94 {
95  static void Serialize(ParameterStringifyFunction& fn, const LstmDescriptor& desc);
96 };
97 
99 {
100  static void Serialize(ParameterStringifyFunction& fn, const MeanDescriptor& desc);
101 };
102 
104 {
105  static void Serialize(ParameterStringifyFunction& fn, const NormalizationDescriptor& desc);
106 };
107 
109 {
110  static void Serialize(ParameterStringifyFunction& fn, const OriginsDescriptor& desc);
111 };
112 
114 {
115  static void Serialize(ParameterStringifyFunction& fn, const PadDescriptor& desc);
116 };
118 {
119  static void Serialize(ParameterStringifyFunction& fn, const PermuteDescriptor& desc);
120 };
121 
123 {
124  static void Serialize(ParameterStringifyFunction& fn, const Pooling2dDescriptor& desc);
125 };
126 
128 {
129  static void Serialize(ParameterStringifyFunction& fn, const Pooling3dDescriptor& desc);
130 };
131 
133 {
134  static void Serialize(ParameterStringifyFunction& fn, const PreCompiledDescriptor& desc);
135 };
136 
138 {
139  static void Serialize(ParameterStringifyFunction& fn, const ReduceDescriptor& desc);
140 };
141 
143 {
144  static void Serialize(ParameterStringifyFunction& fn, const ReshapeDescriptor& desc);
145 };
146 
148 {
149  static void Serialize(ParameterStringifyFunction& fn, const ResizeDescriptor& desc);
150 };
151 
153 {
154  static void Serialize(ParameterStringifyFunction& fn, const SpaceToBatchNdDescriptor& desc);
155 };
156 
158 {
159  static void Serialize(ParameterStringifyFunction& fn, const SpaceToDepthDescriptor& desc);
160 };
161 
163 {
164  static void Serialize(ParameterStringifyFunction& fn, const StackDescriptor& desc);
165 };
166 
168 {
169  static void Serialize(ParameterStringifyFunction& fn, const StridedSliceDescriptor& desc);
170 };
171 
173 {
174  static void Serialize(ParameterStringifyFunction& fn, const SoftmaxDescriptor& desc);
175 };
176 
178 {
180 };
181 
183 {
184  static void Serialize(ParameterStringifyFunction& fn, const TransposeDescriptor& desc);
185 };
186 
188 {
189  static void Serialize(ParameterStringifyFunction& fn, const ViewsDescriptor& desc);
190 };
191 
192 } // namespace armnn
A ViewsDescriptor for the SplitterLayer.
A TransposeConvolution2dDescriptor for the TransposeConvolution2dLayer.
A ReshapeDescriptor for the ReshapeLayer.
A ComparisonDescriptor for the ComparisonLayer.
Definition: Descriptors.hpp:89
A Convolution2dDescriptor for the Convolution2dLayer.
Copyright (c) 2021 ARM Limited and Contributors.
A SpaceToDepthDescriptor for the SpaceToDepthLayer.
A BatchToSpaceNdDescriptor for the BatchToSpaceNdLayer.
A ResizeBilinearDescriptor for the ResizeBilinearLayer.
A StackDescriptor for the StackLayer.
A PadDescriptor for the PadLayer.
An LstmDescriptor for the LstmLayer.
A L2NormalizationDescriptor for the L2NormalizationLayer.
An OriginsDescriptor for the ConcatLayer.
A ReduceDescriptor for the REDUCE operators.
A FullyConnectedDescriptor for the FullyConnectedLayer.
A FakeQuantizationDescriptor for the FakeQuantizationLayer.
StringifyLayerParameters allows serializing layer parameters to string.
An ActivationDescriptor for the ActivationLayer.
Definition: Descriptors.hpp:36
A Convolution3dDescriptor for the Convolution3dLayer.
A Pooling3dDescriptor for the Pooling3dLayer.
A SpaceToBatchNdDescriptor for the SpaceToBatchNdLayer.
A ElementwiseUnaryDescriptor for the ElementwiseUnaryLayer.
A MeanDescriptor for the MeanLayer.
A TransposeDescriptor for the TransposeLayer.
A StridedSliceDescriptor for the StridedSliceLayer.
A PreCompiledDescriptor for the PreCompiledLayer.
A Pooling2dDescriptor for the Pooling2dLayer.
A NormalizationDescriptor for the NormalizationLayer.
std::function< void(const std::string &name, const std::string &value)> ParameterStringifyFunction
static void Serialize(ParameterStringifyFunction &, const LayerParameter &)
A ChannelShuffleDescriptor for the ChannelShuffle operator.
A SoftmaxDescriptor for the SoftmaxLayer.
A DepthwiseConvolution2dDescriptor for the DepthwiseConvolution2dLayer.
A BatchNormalizationDescriptor for the BatchNormalizationLayer.
A PermuteDescriptor for the PermuteLayer.