ArmNN
 23.05
armnnSerializer Namespace Reference

Classes

class  ISerializer
 
class  SerializerStrategy
 

Typedefs

using ISerializerPtr = std::unique_ptr< ISerializer, void(*)(ISerializer *serializer)>
 

Functions

serializer::ActivationFunction GetFlatBufferActivationFunction (armnn::ActivationFunction function)
 
serializer::ArgMinMaxFunction GetFlatBufferArgMinMaxFunction (armnn::ArgMinMaxFunction function)
 
armnnSerializer::ComparisonOperation GetFlatBufferComparisonOperation (armnn::ComparisonOperation comparisonOperation)
 
armnnSerializer::LogicalBinaryOperation GetFlatBufferLogicalBinaryOperation (armnn::LogicalBinaryOperation logicalBinaryOperation)
 
armnnSerializer::ConstTensorData GetFlatBufferConstTensorData (armnn::DataType dataType)
 
armnnSerializer::DataType GetFlatBufferDataType (armnn::DataType dataType)
 
armnnSerializer::DataLayout GetFlatBufferDataLayout (armnn::DataLayout dataLayout)
 
armnnSerializer::BinaryOperation GetFlatBufferBinaryOperation (armnn::BinaryOperation binaryOperation)
 
armnnSerializer::UnaryOperation GetFlatBufferUnaryOperation (armnn::UnaryOperation unaryOperation)
 
armnnSerializer::PoolingAlgorithm GetFlatBufferPoolingAlgorithm (armnn::PoolingAlgorithm poolingAlgorithm)
 
armnnSerializer::OutputShapeRounding GetFlatBufferOutputShapeRounding (armnn::OutputShapeRounding outputShapeRounding)
 
armnnSerializer::PaddingMethod GetFlatBufferPaddingMethod (armnn::PaddingMethod paddingMethod)
 
armnnSerializer::PaddingMode GetFlatBufferPaddingMode (armnn::PaddingMode paddingMode)
 
armnnSerializer::NormalizationAlgorithmChannel GetFlatBufferNormalizationAlgorithmChannel (armnn::NormalizationAlgorithmChannel normalizationAlgorithmChannel)
 
armnnSerializer::NormalizationAlgorithmMethod GetFlatBufferNormalizationAlgorithmMethod (armnn::NormalizationAlgorithmMethod normalizationAlgorithmMethod)
 
armnnSerializer::ResizeMethod GetFlatBufferResizeMethod (armnn::ResizeMethod method)
 
armnnSerializer::ReduceOperation GetFlatBufferReduceOperation (armnn::ReduceOperation reduceOperation)
 

Typedef Documentation

◆ ISerializerPtr

using ISerializerPtr = std::unique_ptr<ISerializer, void(*)(ISerializer* serializer)>

Definition at line 15 of file ISerializer.hpp.

Function Documentation

◆ GetFlatBufferActivationFunction()

serializer::ActivationFunction armnnSerializer::GetFlatBufferActivationFunction ( armnn::ActivationFunction  function)

Definition at line 55 of file Serializer.cpp.

56 {
57  switch (function)
58  {
60  return serializer::ActivationFunction::ActivationFunction_Sigmoid;
62  return serializer::ActivationFunction::ActivationFunction_TanH;
64  return serializer::ActivationFunction::ActivationFunction_Linear;
66  return serializer::ActivationFunction::ActivationFunction_ReLu;
68  return serializer::ActivationFunction::ActivationFunction_BoundedReLu;
70  return serializer::ActivationFunction::ActivationFunction_LeakyReLu;
72  return serializer::ActivationFunction::ActivationFunction_Abs;
74  return serializer::ActivationFunction::ActivationFunction_Sqrt;
76  return serializer::ActivationFunction::ActivationFunction_Square;
78  return serializer::ActivationFunction::ActivationFunction_Elu;
80  return serializer::ActivationFunction::ActivationFunction_HardSwish;
81  default:
82  return serializer::ActivationFunction::ActivationFunction_Sigmoid;
83  }
84 }

References armnn::Abs, armnn::BoundedReLu, armnn::Elu, armnn::HardSwish, armnn::LeakyReLu, armnn::Linear, armnn::ReLu, armnn::Sigmoid, armnn::Sqrt, armnn::Square, and armnn::TanH.

◆ GetFlatBufferArgMinMaxFunction()

serializer::ArgMinMaxFunction armnnSerializer::GetFlatBufferArgMinMaxFunction ( armnn::ArgMinMaxFunction  function)

Definition at line 86 of file Serializer.cpp.

87 {
88  switch (function)
89  {
91  return serializer::ArgMinMaxFunction::ArgMinMaxFunction_Max;
93  default:
94  return serializer::ArgMinMaxFunction::ArgMinMaxFunction_Min;
95  }
96 }

References armnn::Max, and armnn::Min.

◆ GetFlatBufferBinaryOperation()

armnnSerializer::BinaryOperation GetFlatBufferBinaryOperation ( armnn::BinaryOperation  binaryOperation)

Definition at line 110 of file SerializerUtils.cpp.

111 {
112  switch (binaryOperation)
113  {
115  return armnnSerializer::BinaryOperation::BinaryOperation_Add;
117  return armnnSerializer::BinaryOperation::BinaryOperation_Div;
119  return armnnSerializer::BinaryOperation::BinaryOperation_Maximum;
121  return armnnSerializer::BinaryOperation::BinaryOperation_Minimum;
123  return armnnSerializer::BinaryOperation::BinaryOperation_Mul;
125  return armnnSerializer::BinaryOperation::BinaryOperation_Sub;
126  default:
127  throw armnn::InvalidArgumentException("Elementwise Binary operation unknown");
128  }
129 }

References armnn::Add, armnn::Div, armnn::Maximum, armnn::Minimum, armnn::Mul, and armnn::Sub.

◆ GetFlatBufferComparisonOperation()

armnnSerializer::ComparisonOperation GetFlatBufferComparisonOperation ( armnn::ComparisonOperation  comparisonOperation)

Definition at line 11 of file SerializerUtils.cpp.

12 {
13  switch (comparisonOperation)
14  {
16  return armnnSerializer::ComparisonOperation::ComparisonOperation_Equal;
18  return armnnSerializer::ComparisonOperation::ComparisonOperation_Greater;
20  return armnnSerializer::ComparisonOperation::ComparisonOperation_GreaterOrEqual;
22  return armnnSerializer::ComparisonOperation::ComparisonOperation_Less;
24  return armnnSerializer::ComparisonOperation::ComparisonOperation_LessOrEqual;
26  default:
27  return armnnSerializer::ComparisonOperation::ComparisonOperation_NotEqual;
28  }
29 }

References armnn::Equal, armnn::Greater, armnn::GreaterOrEqual, armnn::Less, armnn::LessOrEqual, and armnn::NotEqual.

◆ GetFlatBufferConstTensorData()

armnnSerializer::ConstTensorData GetFlatBufferConstTensorData ( armnn::DataType  dataType)

Definition at line 45 of file SerializerUtils.cpp.

46 {
47  switch (dataType)
48  {
51  return armnnSerializer::ConstTensorData::ConstTensorData_IntData;
54  return armnnSerializer::ConstTensorData::ConstTensorData_ShortData;
59  return armnnSerializer::ConstTensorData::ConstTensorData_ByteData;
61  return armnnSerializer::ConstTensorData::ConstTensorData_LongData;
62  default:
63  return armnnSerializer::ConstTensorData::ConstTensorData_NONE;
64  }
65 }

References armnn::Boolean, armnn::Float16, armnn::Float32, armnn::QAsymmS8, armnn::QAsymmU8, armnn::QSymmS16, armnn::QSymmS8, armnn::Signed32, and armnn::Signed64.

◆ GetFlatBufferDataLayout()

armnnSerializer::DataLayout GetFlatBufferDataLayout ( armnn::DataLayout  dataLayout)

Definition at line 94 of file SerializerUtils.cpp.

95 {
96  switch (dataLayout)
97  {
99  return armnnSerializer::DataLayout::DataLayout_NHWC;
101  return armnnSerializer::DataLayout::DataLayout_NDHWC;
103  return armnnSerializer::DataLayout::DataLayout_NCDHW;
105  default:
106  return armnnSerializer::DataLayout::DataLayout_NCHW;
107  }
108 }

References armnn::NCDHW, armnn::NCHW, armnn::NDHWC, and armnn::NHWC.

◆ GetFlatBufferDataType()

armnnSerializer::DataType GetFlatBufferDataType ( armnn::DataType  dataType)

Definition at line 67 of file SerializerUtils.cpp.

68 {
69  switch (dataType)
70  {
72  return armnnSerializer::DataType::DataType_Float32;
74  return armnnSerializer::DataType::DataType_Float16;
76  return armnnSerializer::DataType::DataType_Signed32;
78  return armnnSerializer::DataType::DataType_Signed64;
80  return armnnSerializer::DataType::DataType_QSymmS16;
82  return armnnSerializer::DataType::DataType_QAsymmS8;
84  return armnnSerializer::DataType::DataType_QAsymmU8;
86  return armnnSerializer::DataType::DataType_QSymmS8;
88  return armnnSerializer::DataType::DataType_Boolean;
89  default:
90  return armnnSerializer::DataType::DataType_Float16;
91  }
92 }

References armnn::Boolean, armnn::Float16, armnn::Float32, armnn::QAsymmS8, armnn::QAsymmU8, armnn::QSymmS16, armnn::QSymmS8, armnn::Signed32, and armnn::Signed64.

◆ GetFlatBufferLogicalBinaryOperation()

armnnSerializer::LogicalBinaryOperation GetFlatBufferLogicalBinaryOperation ( armnn::LogicalBinaryOperation  logicalBinaryOperation)

Definition at line 31 of file SerializerUtils.cpp.

33 {
34  switch (logicalBinaryOperation)
35  {
37  return armnnSerializer::LogicalBinaryOperation::LogicalBinaryOperation_LogicalAnd;
39  return armnnSerializer::LogicalBinaryOperation::LogicalBinaryOperation_LogicalOr;
40  default:
41  throw armnn::InvalidArgumentException("Logical Binary operation unknown");
42  }
43 }

References armnn::LogicalAnd, and armnn::LogicalOr.

◆ GetFlatBufferNormalizationAlgorithmChannel()

armnnSerializer::NormalizationAlgorithmChannel GetFlatBufferNormalizationAlgorithmChannel ( armnn::NormalizationAlgorithmChannel  normalizationAlgorithmChannel)

Definition at line 209 of file SerializerUtils.cpp.

211 {
212  switch (normalizationAlgorithmChannel)
213  {
215  return armnnSerializer::NormalizationAlgorithmChannel::NormalizationAlgorithmChannel_Across;
217  return armnnSerializer::NormalizationAlgorithmChannel::NormalizationAlgorithmChannel_Within;
218  default:
219  return armnnSerializer::NormalizationAlgorithmChannel::NormalizationAlgorithmChannel_Across;
220  }
221 }

References armnn::Across, and armnn::Within.

◆ GetFlatBufferNormalizationAlgorithmMethod()

armnnSerializer::NormalizationAlgorithmMethod GetFlatBufferNormalizationAlgorithmMethod ( armnn::NormalizationAlgorithmMethod  normalizationAlgorithmMethod)

Definition at line 223 of file SerializerUtils.cpp.

225 {
226  switch (normalizationAlgorithmMethod)
227  {
229  return armnnSerializer::NormalizationAlgorithmMethod::NormalizationAlgorithmMethod_LocalBrightness;
231  return armnnSerializer::NormalizationAlgorithmMethod::NormalizationAlgorithmMethod_LocalContrast;
232  default:
233  return armnnSerializer::NormalizationAlgorithmMethod::NormalizationAlgorithmMethod_LocalBrightness;
234  }
235 }

References armnn::LocalBrightness, and armnn::LocalContrast.

◆ GetFlatBufferOutputShapeRounding()

armnnSerializer::OutputShapeRounding GetFlatBufferOutputShapeRounding ( armnn::OutputShapeRounding  outputShapeRounding)

Definition at line 172 of file SerializerUtils.cpp.

173 {
174  switch (outputShapeRounding)
175  {
177  return armnnSerializer::OutputShapeRounding::OutputShapeRounding_Ceiling;
179  default:
180  return armnnSerializer::OutputShapeRounding::OutputShapeRounding_Floor;
181  }
182 }

References armnn::Ceiling, and armnn::Floor.

◆ GetFlatBufferPaddingMethod()

armnnSerializer::PaddingMethod GetFlatBufferPaddingMethod ( armnn::PaddingMethod  paddingMethod)

Definition at line 184 of file SerializerUtils.cpp.

185 {
186  switch (paddingMethod)
187  {
189  return armnnSerializer::PaddingMethod::PaddingMethod_IgnoreValue;
191  default:
192  return armnnSerializer::PaddingMethod::PaddingMethod_Exclude;
193  }
194 }

References armnn::Exclude, and armnn::IgnoreValue.

◆ GetFlatBufferPaddingMode()

armnnSerializer::PaddingMode GetFlatBufferPaddingMode ( armnn::PaddingMode  paddingMode)

Definition at line 196 of file SerializerUtils.cpp.

197 {
198  switch (paddingMode)
199  {
201  return armnnSerializer::PaddingMode::PaddingMode_Reflect;
203  return armnnSerializer::PaddingMode::PaddingMode_Symmetric;
204  default:
205  return armnnSerializer::PaddingMode::PaddingMode_Constant;
206  }
207 }

References armnn::Reflect, and armnn::Symmetric.

◆ GetFlatBufferPoolingAlgorithm()

armnnSerializer::PoolingAlgorithm GetFlatBufferPoolingAlgorithm ( armnn::PoolingAlgorithm  poolingAlgorithm)

Definition at line 158 of file SerializerUtils.cpp.

159 {
160  switch (poolingAlgorithm)
161  {
163  return armnnSerializer::PoolingAlgorithm::PoolingAlgorithm_Average;
165  return armnnSerializer::PoolingAlgorithm::PoolingAlgorithm_L2;
167  default:
168  return armnnSerializer::PoolingAlgorithm::PoolingAlgorithm_Max;
169  }
170 }

References armnn::Average, armnn::L2, and armnn::Max.

◆ GetFlatBufferReduceOperation()

armnnSerializer::ReduceOperation GetFlatBufferReduceOperation ( armnn::ReduceOperation  reduceOperation)

Definition at line 250 of file SerializerUtils.cpp.

251 {
252  switch (reduceOperation)
253  {
255  return armnnSerializer::ReduceOperation::ReduceOperation_Sum;
257  return armnnSerializer::ReduceOperation::ReduceOperation_Max;
259  return armnnSerializer::ReduceOperation::ReduceOperation_Mean;
261  return armnnSerializer::ReduceOperation::ReduceOperation_Min;
263  return armnnSerializer::ReduceOperation::ReduceOperation_Prod;
264  default:
265  return armnnSerializer::ReduceOperation::ReduceOperation_Sum;
266  }
267 }

References armnn::Max, armnn::Mean, armnn::Min, armnn::Prod, and armnn::Sum.

◆ GetFlatBufferResizeMethod()

armnnSerializer::ResizeMethod GetFlatBufferResizeMethod ( armnn::ResizeMethod  method)

Definition at line 237 of file SerializerUtils.cpp.

238 {
239  switch (method)
240  {
242  return armnnSerializer::ResizeMethod_NearestNeighbor;
244  return armnnSerializer::ResizeMethod_Bilinear;
245  default:
246  return armnnSerializer::ResizeMethod_NearestNeighbor;
247  }
248 }

References armnn::Bilinear, and armnn::NearestNeighbor.

◆ GetFlatBufferUnaryOperation()

armnnSerializer::UnaryOperation GetFlatBufferUnaryOperation ( armnn::UnaryOperation  unaryOperation)

Definition at line 131 of file SerializerUtils.cpp.

132 {
133  switch (unaryOperation)
134  {
136  return armnnSerializer::UnaryOperation::UnaryOperation_Abs;
138  return armnnSerializer::UnaryOperation::UnaryOperation_Ceil;
140  return armnnSerializer::UnaryOperation::UnaryOperation_Rsqrt;
142  return armnnSerializer::UnaryOperation::UnaryOperation_Sqrt;
144  return armnnSerializer::UnaryOperation::UnaryOperation_Exp;
146  return armnnSerializer::UnaryOperation::UnaryOperation_Neg;
148  return armnnSerializer::UnaryOperation::UnaryOperation_LogicalNot;
150  return armnnSerializer::UnaryOperation::UnaryOperation_Log;
152  return armnnSerializer::UnaryOperation::UnaryOperation_Sin;
153  default:
154  throw armnn::InvalidArgumentException("Elementwise Unary operation unknown");
155  }
156 }

References armnn::Abs, armnn::Ceil, armnn::Exp, armnn::Log, armnn::LogicalNot, armnn::Neg, armnn::Rsqrt, armnn::Sin, and armnn::Sqrt.

armnn::ActivationFunction::Abs
@ Abs
armnn::ActivationFunction::Elu
@ Elu
armnn::ReduceOperation::Mean
@ Mean
armnn::OutputShapeRounding::Ceiling
@ Ceiling
armnn::DataType::QAsymmU8
@ QAsymmU8
armnn::ComparisonOperation::Equal
@ Equal
armnn::ActivationFunction::Linear
@ Linear
armnn::LogicalBinaryOperation::LogicalAnd
@ LogicalAnd
armnn::DataType::Float16
@ Float16
armnn::OutputShapeRounding::Floor
@ Floor
armnn::NormalizationAlgorithmMethod::LocalContrast
@ LocalContrast
Jarret 2009: Local Contrast Normalization.
armnn::ComparisonOperation::NotEqual
@ NotEqual
armnn::UnaryOperation::Exp
@ Exp
armnn::UnaryOperation::Sqrt
@ Sqrt
armnn::DataType::Signed32
@ Signed32
armnn::UnaryOperation::Neg
@ Neg
armnn::ActivationFunction::HardSwish
@ HardSwish
armnn::ComparisonOperation::LessOrEqual
@ LessOrEqual
armnn::DataType::QAsymmS8
@ QAsymmS8
armnn::PaddingMethod::IgnoreValue
@ IgnoreValue
The padding fields count, but are ignored.
armnn::PoolingAlgorithm::L2
@ L2
armnn::NormalizationAlgorithmChannel::Within
@ Within
armnn::ReduceOperation::Min
@ Min
armnn::BinaryOperation::Sub
@ Sub
armnn::ResizeMethod::NearestNeighbor
@ NearestNeighbor
armnn::ReduceOperation::Sum
@ Sum
armnn::LogicalBinaryOperation::LogicalOr
@ LogicalOr
armnn::UnaryOperation::Ceil
@ Ceil
armnn::DataLayout::NCHW
@ NCHW
armnn::ReduceOperation::Max
@ Max
armnn::NormalizationAlgorithmChannel::Across
@ Across
armnn::NormalizationAlgorithmMethod::LocalBrightness
@ LocalBrightness
Krichevsky 2012: Local Brightness Normalization.
armnn::ActivationFunction::Sigmoid
@ Sigmoid
armnn::BinaryOperation::Mul
@ Mul
armnn::DataLayout::NCDHW
@ NCDHW
armnn::ComparisonOperation::Greater
@ Greater
armnn::ComparisonOperation::GreaterOrEqual
@ GreaterOrEqual
armnn::DataType::Float32
@ Float32
armnn::ResizeMethod::Bilinear
@ Bilinear
armnn::ArgMinMaxFunction::Min
@ Min
armnn::DataType::Signed64
@ Signed64
armnn::ArgMinMaxFunction::Max
@ Max
armnn::BinaryOperation::Minimum
@ Minimum
armnn::DataLayout::NHWC
@ NHWC
armnn::ActivationFunction::Square
@ Square
armnn::PaddingMode::Reflect
@ Reflect
armnn::BinaryOperation::Maximum
@ Maximum
armnn::UnaryOperation::Abs
@ Abs
armnn::BinaryOperation::Add
@ Add
armnn::ActivationFunction::TanH
@ TanH
armnn::PaddingMode::Symmetric
@ Symmetric
armnn::PoolingAlgorithm::Max
@ Max
armnn::UnaryOperation::LogicalNot
@ LogicalNot
armnn::UnaryOperation::Sin
@ Sin
armnn::PoolingAlgorithm::Average
@ Average
armnn::DataType::QSymmS8
@ QSymmS8
armnn::UnaryOperation::Rsqrt
@ Rsqrt
armnn::DataType::QSymmS16
@ QSymmS16
armnn::ReduceOperation::Prod
@ Prod
armnn::ActivationFunction::ReLu
@ ReLu
armnn::ActivationFunction::Sqrt
@ Sqrt
armnn::PaddingMethod::Exclude
@ Exclude
The padding fields don't count and are ignored.
armnn::DataLayout::NDHWC
@ NDHWC
armnn::DataType::Boolean
@ Boolean
armnn::InvalidArgumentException
Definition: Exceptions.hpp:80
armnn::BinaryOperation::Div
@ Div
armnn::ComparisonOperation::Less
@ Less
armnn::ActivationFunction::BoundedReLu
@ BoundedReLu
min(a, max(b, input)) ReLu1 & ReLu6.
armnn::UnaryOperation::Log
@ Log
armnn::ActivationFunction::LeakyReLu
@ LeakyReLu