From 6940dd720ebb6b3d1df8ca203ab696daefe58189 Mon Sep 17 00:00:00 2001 From: Jim Flynn Date: Fri, 20 Mar 2020 12:25:56 +0000 Subject: renamed Documentation folder 20.02 and added .nojekyll file Signed-off-by: Jim Flynn --- 20.02/namespacearmnn_deserializer.xhtml | 486 ++++++++++++++++++++++++++++++++ 1 file changed, 486 insertions(+) create mode 100644 20.02/namespacearmnn_deserializer.xhtml (limited to '20.02/namespacearmnn_deserializer.xhtml') diff --git a/20.02/namespacearmnn_deserializer.xhtml b/20.02/namespacearmnn_deserializer.xhtml new file mode 100644 index 0000000000..d60a011501 --- /dev/null +++ b/20.02/namespacearmnn_deserializer.xhtml @@ -0,0 +1,486 @@ + + + + + + + + + + + + + +ArmNN: armnnDeserializer Namespace Reference + + + + + + + + + + + + + + + + +
+
+ + + + ArmNN + + + +
+
+  20.02 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
armnnDeserializer Namespace Reference
+
+
+ + + + + + + + +

+Classes

struct  BindingPointInfo
 
class  Deserializer
 
class  IDeserializer
 
+ + + +

+Typedefs

using IDeserializerPtr = std::unique_ptr< IDeserializer, void(*)(IDeserializer *parser)>
 
+ + + + + + + + + + + + + + + + + + + + + +

+Functions

bool CheckShape (const armnn::TensorShape &actual, const std::vector< uint32_t > &expected)
 
armnn::DataLayout ToDataLayout (armnnSerializer::DataLayout dataLayout)
 
armnn::ActivationFunction ToActivationFunction (armnnSerializer::ActivationFunction function)
 
armnn::ArgMinMaxFunction ToArgMinMaxFunction (armnnSerializer::ArgMinMaxFunction function)
 
armnn::ComparisonOperation ToComparisonOperation (armnnSerializer::ComparisonOperation operation)
 
armnn::UnaryOperation ToUnaryOperation (armnnSerializer::UnaryOperation operation)
 
armnn::ResizeMethod ToResizeMethod (armnnSerializer::ResizeMethod method)
 
armnn::TensorInfo ToTensorInfo (Deserializer::TensorRawPtr tensorPtr)
 
armnn::ConstTensor ToConstTensor (Deserializer::ConstTensorRawPtr constTensorPtr)
 
const armnnSerializer::OriginsDescriptor * GetOriginsDescriptor (const armnnSerializer::SerializedGraph *graph, unsigned int layerIndex)
 
+

Typedef Documentation

+ +

◆ IDeserializerPtr

+ +
+
+ + + + +
using IDeserializerPtr = std::unique_ptr<IDeserializer, void(*)(IDeserializer* parser)>
+
+ +

Definition at line 25 of file IDeserializer.hpp.

+ +
+
+

Function Documentation

+ +

◆ CheckShape()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool armnnDeserializer::CheckShape (const armnn::TensorShapeactual,
const std::vector< uint32_t > & expected 
)
+
+ +

Definition at line 167 of file Deserializer.cpp.

+ +

References TensorShape::GetNumDimensions().

+ +

Referenced by Deserializer::OutputShapeOfReshape(), and TfLiteParser::OutputShapeOfReshape().

+
168 {
169  const unsigned int actualSize = actual.GetNumDimensions();
170  if (actualSize != expected.size())
171  {
172  return false;
173  }
174 
175  for (unsigned int i = 0u; i < actualSize; i++)
176  {
177  if (actual[i] != static_cast<unsigned int>(expected[i]))
178  {
179  return false;
180  }
181  }
182 
183  return true;
184 }
unsigned int GetNumDimensions() const
Definition: Tensor.hpp:43
+
+
+
+ +

◆ GetOriginsDescriptor()

+ +
+
+ + + + + + + + + + + + + + + + + + +
const armnnSerializer::OriginsDescriptor* armnnDeserializer::GetOriginsDescriptor (const armnnSerializer::SerializedGraph * graph,
unsigned int layerIndex 
)
+
+ +

Definition at line 1554 of file Deserializer.cpp.

+ +

References CHECK_LAYERS, CHECK_LOCATION, CHECK_VALID_SIZE, Deserializer::GetInputs(), Deserializer::GetLayerName(), Deserializer::GetOutputs(), IConnectableLayer::GetOutputSlot(), FullyConnectedDescriptor::m_BiasEnabled, ComparisonDescriptor::m_Operation, ElementwiseUnaryDescriptor::m_Operation, FullyConnectedDescriptor::m_TransposeWeightMatrix, IOutputSlot::SetTensorInfo(), ToComparisonOperation(), ToConstTensor(), ToTensorInfo(), and ToUnaryOperation().

+
1556 {
1557  auto layerType = graph->layers()->Get(layerIndex)->layer_type();
1558 
1559  switch (layerType)
1560  {
1561  case Layer::Layer_ConcatLayer:
1562  return graph->layers()->Get(layerIndex)->layer_as_ConcatLayer()->descriptor();
1563  case Layer::Layer_MergerLayer:
1564  return graph->layers()->Get(layerIndex)->layer_as_MergerLayer()->descriptor();
1565  default:
1566  throw armnn::Exception("unknown layer type, should be concat or merger");
1567  }
1568 }
Base class for all ArmNN exceptions so that users can filter to just those.
Definition: Exceptions.hpp:46
+
+
+
+ +

◆ ToActivationFunction()

+ +
+
+ + + + + + + + +
armnn::ActivationFunction armnnDeserializer::ToActivationFunction (armnnSerializer::ActivationFunction function)
+
+ +

Definition at line 406 of file Deserializer.cpp.

+ +

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

+ +

Referenced by Deserializer::GetNetworkOutputBindingInfo().

+
407 {
408  switch (function)
409  {
410  case armnnSerializer::ActivationFunction_Sigmoid:
412  case armnnSerializer::ActivationFunction_TanH:
414  case armnnSerializer::ActivationFunction_Linear:
416  case armnnSerializer::ActivationFunction_ReLu:
418  case armnnSerializer::ActivationFunction_BoundedReLu:
420  case armnnSerializer::ActivationFunction_LeakyReLu:
422  case armnnSerializer::ActivationFunction_Abs:
424  case armnnSerializer::ActivationFunction_Sqrt:
426  case armnnSerializer::ActivationFunction_Square:
428  case armnnSerializer::ActivationFunction_Elu:
430  case armnnSerializer::ActivationFunction_HardSwish:
432  default:
434  }
435 }
+ + + + +
min(a, max(b, input)) ReLu1 & ReLu6.
+ + + + + +
+
+
+ +

◆ ToArgMinMaxFunction()

+ +
+
+ + + + + + + + +
armnn::ArgMinMaxFunction armnnDeserializer::ToArgMinMaxFunction (armnnSerializer::ArgMinMaxFunction function)
+
+ +

Definition at line 437 of file Deserializer.cpp.

+ +

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

+ +

Referenced by Deserializer::GetNetworkOutputBindingInfo().

+
438 {
439  switch (function)
440  {
441  case armnnSerializer::ArgMinMaxFunction::ArgMinMaxFunction_Max:
443  case armnnSerializer::ArgMinMaxFunction::ArgMinMaxFunction_Min:
444  default:
446  }
447 }
+ +
+
+
+ +

◆ ToComparisonOperation()

+ +
+
+ + + + + + + + +
armnn::ComparisonOperation armnnDeserializer::ToComparisonOperation (armnnSerializer::ComparisonOperation operation)
+
+ +

Definition at line 449 of file Deserializer.cpp.

+ +

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

+ +

Referenced by GetOriginsDescriptor().

+
450 {
451  switch (operation)
452  {
453  case armnnSerializer::ComparisonOperation::ComparisonOperation_Equal:
455  case armnnSerializer::ComparisonOperation::ComparisonOperation_Greater:
457  case armnnSerializer::ComparisonOperation::ComparisonOperation_GreaterOrEqual:
459  case armnnSerializer::ComparisonOperation::ComparisonOperation_Less:
461  case armnnSerializer::ComparisonOperation::ComparisonOperation_LessOrEqual:
463  case armnnSerializer::ComparisonOperation::ComparisonOperation_NotEqual:
464  default:
466  }
467 }
+ + + + + +
+
+
+ +

◆ ToConstTensor()

+ +
+
+ + + + + + + + +
armnn::ConstTensor armnnDeserializer::ToConstTensor (Deserializer::ConstTensorRawPtr constTensorPtr)
+
+ +

Definition at line 558 of file Deserializer.cpp.

+ +

References CheckLocation::AsString(), CHECK_CONST_TENSOR_PTR, CHECK_CONST_TENSOR_SIZE, CHECK_LOCATION, TensorInfo::GetNumElements(), and ToTensorInfo().

+ +

Referenced by Deserializer::GetLstmDescriptor(), Deserializer::GetNetworkOutputBindingInfo(), and GetOriginsDescriptor().

+
559 {
560  CHECK_CONST_TENSOR_PTR(constTensorPtr);
561  armnn::TensorInfo tensorInfo = ToTensorInfo(constTensorPtr->info());
562 
563  switch (constTensorPtr->data_type())
564  {
565  case ConstTensorData_ByteData:
566  {
567  auto byteData = constTensorPtr->data_as_ByteData()->data();
568  CHECK_CONST_TENSOR_SIZE(byteData->size(), tensorInfo.GetNumElements());
569  return armnn::ConstTensor(tensorInfo, byteData->data());
570  }
571  case ConstTensorData_ShortData:
572  {
573  auto shortData = constTensorPtr->data_as_ShortData()->data();
574  CHECK_CONST_TENSOR_SIZE(shortData->size(), tensorInfo.GetNumElements());
575  return armnn::ConstTensor(tensorInfo, shortData->data());
576  }
577  case ConstTensorData_IntData:
578  {
579  auto intData = constTensorPtr->data_as_IntData()->data();
580  CHECK_CONST_TENSOR_SIZE(intData->size(), tensorInfo.GetNumElements());
581  return armnn::ConstTensor(tensorInfo, intData->data());
582  }
583  case ConstTensorData_LongData:
584  {
585  auto longData = constTensorPtr->data_as_LongData()->data();
586  CHECK_CONST_TENSOR_SIZE(longData->size(), tensorInfo.GetNumElements());
587  return armnn::ConstTensor(tensorInfo, longData->data());
588  }
589  default:
590  {
591  CheckLocation location = CHECK_LOCATION();
592  throw ParseException(
593  boost::str(boost::format("Unsupported data type %1% = %2%. %3%") %
594  constTensorPtr->data_type() %
595  EnumNameConstTensorData(constTensorPtr->data_type()) %
596  location.AsString()));
597  }
598  }
599 }
std::string AsString() const
Definition: Exceptions.hpp:29
+ +
#define CHECK_CONST_TENSOR_SIZE(CONST_TENSOR_SIZE, TENSOR_SIZE)
+
armnn::TensorInfo ToTensorInfo(Deserializer::TensorRawPtr tensorPtr)
+
A tensor defined by a TensorInfo (shape and data type) and an immutable backing store.
Definition: Tensor.hpp:199
+ +
#define CHECK_CONST_TENSOR_PTR(TENSOR_PTR)
+
#define CHECK_LOCATION()
Definition: Exceptions.hpp:192
+ +
unsigned int GetNumElements() const
Definition: Tensor.hpp:93
+
+
+
+ +

◆ ToDataLayout()

+ +
+
+ + + + + + + + +
armnn::DataLayout armnnDeserializer::ToDataLayout (armnnSerializer::DataLayout dataLayout)
+
+ +

Definition at line 394 of file Deserializer.cpp.

+ +

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

+ +

Referenced by Deserializer::GetLstmDescriptor(), Deserializer::GetNetworkOutputBindingInfo(), Deserializer::GetNormalizationDescriptor(), and Deserializer::OutputShapeOfReshape().

+
395 {
396  switch (dataLayout)
397  {
398  case armnnSerializer::DataLayout::DataLayout_NHWC:
400  case armnnSerializer::DataLayout::DataLayout_NCHW:
401  default:
403  }
404 }
+ +
+
+
+ +

◆ ToResizeMethod()

+ +
+
+ + + + + + + + +
armnn::ResizeMethod armnnDeserializer::ToResizeMethod (armnnSerializer::ResizeMethod method)
+
+ +

Definition at line 488 of file Deserializer.cpp.

+ +

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

+ +

Referenced by Deserializer::OutputShapeOfReshape().

+
489 {
490  switch (method)
491  {
492  case armnnSerializer::ResizeMethod_NearestNeighbor:
494  case armnnSerializer::ResizeMethod_Bilinear:
496  default:
498  }
499 }
+ +
+
+
+ +

◆ ToTensorInfo()

+ +
+
+ + + + + + + + +
armnn::TensorInfo armnnDeserializer::ToTensorInfo (Deserializer::TensorRawPtr tensorPtr)
+
+ +

Definition at line 501 of file Deserializer.cpp.

+ +

References CheckLocation::AsString(), armnn::Boolean, CHECK_LOCATION, CHECK_TENSOR_PTR, armnn::Float16, armnn::Float32, armnn::QAsymmS8, armnn::QAsymmU8, armnn::QSymmS16, and armnn::Signed32.

+ +

Referenced by TfLiteParser::CreateNetworkFromBinary(), OnnxParser::CreateNetworkFromString(), Deserializer::GetLstmDescriptor(), OnnxParser::GetNetworkInputBindingInfo(), TfLiteParser::GetNetworkInputBindingInfo(), Deserializer::GetNetworkOutputBindingInfo(), OnnxParser::GetNetworkOutputBindingInfo(), TfLiteParser::GetNetworkOutputBindingInfo(), Deserializer::GetNormalizationDescriptor(), GetOriginsDescriptor(), TfLiteParser::GetOutputTensorIds(), Deserializer::GetPoolingDescriptor(), Deserializer::OutputShapeOfReshape(), TfLiteParser::OutputShapeOfReshape(), TfLiteParser::OutputShapeOfSqueeze(), TfLiteParser::TfLiteParser(), and ToConstTensor().

+
502 {
503  armnn::DataType type;
504  CHECK_TENSOR_PTR(tensorPtr);
505 
506  switch (tensorPtr->dataType())
507  {
508  case DataType_QAsymmS8:
510  break;
511  case DataType_QuantisedAsymm8:
512  case DataType_QAsymmU8:
514  break;
515  case DataType_QSymmS16:
516  case DataType_QuantisedSymm16:
518  break;
519  case DataType_Signed32:
521  break;
522  case DataType_Float32:
524  break;
525  case DataType_Float16:
527  break;
528  case DataType_Boolean:
530  break;
531  default:
532  {
533  CheckLocation location = CHECK_LOCATION();
534  throw ParseException(
535  boost::str(
536  boost::format("Unsupported data type %1% = %2%. %3%") %
537  tensorPtr->dataType() %
538  EnumNameDataType(tensorPtr->dataType()) %
539  location.AsString()));
540  }
541  }
542  float quantizationScale = tensorPtr->quantizationScale();
543  int32_t quantizationOffset = tensorPtr->quantizationOffset();
544 
545  auto dimensions = tensorPtr->dimensions();
546  unsigned int size = dimensions->size();
547  std::vector<unsigned int> outputDims(dimensions->begin(), dimensions->begin() + size);
548 
549  // two statements (on purpose) for easier debugging:
550  armnn::TensorInfo result(size,
551  outputDims.data(),
552  type,
553  quantizationScale,
554  quantizationOffset);
555  return result;
556 }
+
std::string AsString() const
Definition: Exceptions.hpp:29
+ +
#define CHECK_TENSOR_PTR(TENSOR_PTR)
+ + + +
DataType
Definition: Types.hpp:32
+ + + +
#define CHECK_LOCATION()
Definition: Exceptions.hpp:192
+ + +
+
+
+ +

◆ ToUnaryOperation()

+ +
+
+ + + + + + + + +
armnn::UnaryOperation armnnDeserializer::ToUnaryOperation (armnnSerializer::UnaryOperation operation)
+
+ +

Definition at line 469 of file Deserializer.cpp.

+ +

References armnn::Abs, armnn::Exp, armnn::Neg, armnn::Rsqrt, and armnn::Sqrt.

+ +

Referenced by GetOriginsDescriptor().

+
470 {
471  switch (operation)
472  {
473  case armnnSerializer::UnaryOperation::UnaryOperation_Abs:
475  case armnnSerializer::UnaryOperation::UnaryOperation_Rsqrt:
477  case armnnSerializer::UnaryOperation::UnaryOperation_Sqrt:
479  case armnnSerializer::UnaryOperation::UnaryOperation_Exp:
481  case armnnSerializer::UnaryOperation::UnaryOperation_Neg:
483  default:
484  throw armnn::InvalidArgumentException("Unary operation unknown");
485  }
486 }
+ + + + + +
+
+
+
+
+ + + + -- cgit v1.2.1