From 400c593e03af3cc9131058b3cb30b787586f69a3 Mon Sep 17 00:00:00 2001 From: Teresa Charlin Date: Fri, 4 Jun 2021 10:29:47 +0100 Subject: COMPMID-4548 Print Elementwise Descriptor on dot graph *Order the functions alphabetically Signed-off-by: Teresa Charlin Change-Id: Ia19f2727733026aefab17ebce0cabb66863a7af7 --- src/armnn/SerializeLayerParameters.cpp | 380 +++++++++++++++++---------------- src/armnn/SerializeLayerParameters.hpp | 98 +++++---- 2 files changed, 244 insertions(+), 234 deletions(-) diff --git a/src/armnn/SerializeLayerParameters.cpp b/src/armnn/SerializeLayerParameters.cpp index 0f110cc64a..16ffb8fd5d 100644 --- a/src/armnn/SerializeLayerParameters.cpp +++ b/src/armnn/SerializeLayerParameters.cpp @@ -11,46 +11,61 @@ namespace armnn { -void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, - const ComparisonDescriptor& desc) +void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, + const ActivationDescriptor& desc) { - fn("Operation", GetComparisonOperationAsCString(desc.m_Operation)); + fn("Function", GetActivationFunctionAsCString(desc.m_Function)); + fn("A", std::to_string(desc.m_A)); + fn("B", std::to_string(desc.m_B)); } -void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, - const PermuteDescriptor& desc) +void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, + const BatchNormalizationDescriptor& desc) +{ + fn("Eps", std::to_string(desc.m_Eps)); + fn("DataLayout", GetDataLayoutName(desc.m_DataLayout)); +} + +void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, + const BatchToSpaceNdDescriptor& desc) { - std::stringstream ss; - ss << "["; - bool addComma = false; - for (auto it : desc.m_DimMappings) { - if (addComma) + std::stringstream ss; + int count = 0; + for (auto&& var : desc.m_BlockShape) { - ss << ","; + if (count > 0) + { + ss << ","; + } + ss << var; + ++count; } - ss << it; - addComma = true; + fn("BlockShape", ss.str()); } - ss << "]"; - fn("DimMappings",ss.str()); -} + { + std::stringstream ss; + int count = 0; + for (auto&& var : desc.m_Crops) + { + if (count > 0) + { + ss << ","; + } + ss << "[" << var.first << "," << var.second << "]"; + ++count; + } + fn("Crops", ss.str()); + } -void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, - const ReshapeDescriptor& desc) -{ - std::stringstream ss; - ss << desc.m_TargetShape; - fn("TargetShape",ss.str()); + fn("DataLayout", GetDataLayoutName(desc.m_DataLayout)); } -void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, - const ActivationDescriptor& desc) +void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, + const ComparisonDescriptor& desc) { - fn("Function", GetActivationFunctionAsCString(desc.m_Function)); - fn("A", std::to_string(desc.m_A)); - fn("B", std::to_string(desc.m_B)); + fn("Operation", GetComparisonOperationAsCString(desc.m_Operation)); } void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, @@ -79,11 +94,27 @@ void StringifyLayerParameters::Serialize(ParameterStrin fn("DataLayout", GetDataLayoutName(desc.m_DataLayout)); } -void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, - const BatchNormalizationDescriptor& desc) +void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, + const DetectionPostProcessDescriptor& desc) { - fn("Eps", std::to_string(desc.m_Eps)); - fn("DataLayout", GetDataLayoutName(desc.m_DataLayout)); + fn("MaxDetections", std::to_string(desc.m_MaxDetections)); + fn("MaxClassesPerDetection", std::to_string(desc.m_MaxClassesPerDetection)); + fn("DetectionsPerClass", std::to_string(desc.m_DetectionsPerClass)); + fn("NmsScoreThreshold", std::to_string(desc.m_NmsScoreThreshold)); + fn("NmsIouThreshold", std::to_string(desc.m_NmsIouThreshold)); + fn("NumClasses", std::to_string(desc.m_NumClasses)); + fn("UseRegularNms", (desc.m_UseRegularNms ? "true" : "false")); + { + std::stringstream ss; + ss << "(" << desc.m_ScaleX << "," << desc.m_ScaleY << ")"; + fn("Scale(X,Y)", ss.str()); + } + + { + std::stringstream ss; + ss << "(" << desc.m_ScaleW << "," << desc.m_ScaleH << ")"; + fn("Scale(W,H)", ss.str()); + } } void StringifyLayerParameters::Serialize( @@ -113,40 +144,50 @@ void StringifyLayerParameters::Serialize( fn("DataLayout", GetDataLayoutName(desc.m_DataLayout)); } -void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, - const Pooling2dDescriptor& desc) +void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, + const ElementwiseUnaryDescriptor& desc) { - fn("Type", GetPoolingAlgorithmAsCString(desc.m_PoolType)); - { - std::stringstream ss; - ss << "(" << desc.m_PadTop << "," << desc.m_PadLeft - << "," << desc.m_PadBottom << "," << desc.m_PadRight << ")"; - fn("Padding(T,L,B,R)", ss.str()); - } + fn("UnaryOperation", GetUnaryOperationAsCString(desc.m_Operation)); +} - { - std::stringstream ss; - ss << "(" << desc.m_PoolWidth << "," << desc.m_PoolHeight << ")"; - fn("(Width,Height)", ss.str()); - } +void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, + const FakeQuantizationDescriptor& desc) +{ + fn("Min", std::to_string(desc.m_Min)); + fn("Max", std::to_string(desc.m_Max)); +} - { - std::stringstream ss; - ss << "(" << desc.m_StrideX << "," << desc.m_StrideY << ")"; - fn("Stride(X,Y)", ss.str()); - } +void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, + const FullyConnectedDescriptor& desc) +{ + fn("BiasEnabled", (desc.m_BiasEnabled ? "true" : "false")); + fn("TransposeWeightMatrix", (desc.m_TransposeWeightMatrix ? "true" : "false")); +} - fn("OutputShapeRounding", GetOutputShapeRoundingAsCString(desc.m_OutputShapeRounding)); - fn("PaddingMethod", GetPaddingMethodAsCString(desc.m_PaddingMethod)); +void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, + const L2NormalizationDescriptor& desc) +{ + fn("Eps", std::to_string(desc.m_Eps)); fn("DataLayout", GetDataLayoutName(desc.m_DataLayout)); } -void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, const ReduceDescriptor& desc) +void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, const LstmDescriptor& desc) +{ + fn("ActivationFunc", std::to_string(desc.m_ActivationFunc)); + fn("ClippingThresCell", std::to_string(desc.m_ClippingThresCell)); + fn("ClippingThresProj", std::to_string(desc.m_ClippingThresProj)); + fn("CifgEnabled", (desc.m_CifgEnabled ? "true" : "false")) ; + fn("PeepholeEnabled", (desc.m_PeepholeEnabled ? "true" : "false")) ; + fn("ProjectionEnabled", (desc.m_ProjectionEnabled ? "true" : "false")) ; + fn("LayerNormEnabled", (desc.m_LayerNormEnabled ? "true" : "false")); +} + +void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, const MeanDescriptor& desc) { { std::stringstream ss; int count = 0; - for (auto&& var : desc.m_vAxis) + for (auto&& var : desc.m_Axis) { if (count > 0) { @@ -158,21 +199,18 @@ void StringifyLayerParameters::Serialize(ParameterStringifyFun fn("Axis", ss.str()); } fn("KeepDims", (desc.m_KeepDims ? "true" : "false")); - fn("ReduceOperation", GetReduceOperationAsCString(desc.m_ReduceOperation)); } -void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, - const SoftmaxDescriptor& desc) +void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, + const NormalizationDescriptor& desc) { + fn("NormChannelType", GetNormalizationAlgorithmChannelAsCString(desc.m_NormChannelType)); + fn("NormMethodType", GetNormalizationAlgorithmMethodAsCString(desc.m_NormMethodType)); + fn("NormSize", std::to_string(desc.m_NormSize)); + fn("Alpha", std::to_string(desc.m_Alpha)); fn("Beta", std::to_string(desc.m_Beta)); - fn("Axis", std::to_string(desc.m_Axis)); -} - -void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, - const FullyConnectedDescriptor& desc) -{ - fn("BiasEnabled", (desc.m_BiasEnabled ? "true" : "false")); - fn("TransposeWeightMatrix", (desc.m_TransposeWeightMatrix ? "true" : "false")); + fn("K", std::to_string(desc.m_K)); + fn("DataLayout", GetDataLayoutName(desc.m_DataLayout)); } void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, @@ -204,113 +242,106 @@ void StringifyLayerParameters::Serialize(ParameterStringifyFu } } -void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, const ViewsDescriptor& desc) +void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, const PadDescriptor& desc) { - uint32_t numViews = desc.GetNumViews(); - uint32_t numDims = desc.GetNumDimensions(); - for (uint32_t view = 0; view < numViews; ++view) { - std::stringstream key; - key << "ViewSizes#" << view; - std::stringstream value; - value << "["; - auto viewData = desc.GetViewSizes(view); - for (uint32_t dim = 0; dim < numDims; ++dim) + { + std::stringstream ss; + int count = 0; + for (auto&& var : desc.m_PadList) { - if (dim > 0) + if (count > 0) { - value << ","; + ss << ","; } - value << viewData[dim]; + ss << "[" << var.first << "," << var.second << "]"; + ++count; } - value << "]"; - fn(key.str(), value.str()); + fn("PadList", ss.str()); } - StringifyLayerParameters::Serialize(fn, desc.GetOrigins()); + fn("PadValue", std::to_string(desc.m_PadValue)); } -void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, - const DetectionPostProcessDescriptor& desc) +void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, + const PreCompiledDescriptor& desc) { - fn("MaxDetections", std::to_string(desc.m_MaxDetections)); - fn("MaxClassesPerDetection", std::to_string(desc.m_MaxClassesPerDetection)); - fn("DetectionsPerClass", std::to_string(desc.m_DetectionsPerClass)); - fn("NmsScoreThreshold", std::to_string(desc.m_NmsScoreThreshold)); - fn("NmsIouThreshold", std::to_string(desc.m_NmsIouThreshold)); - fn("NumClasses", std::to_string(desc.m_NumClasses)); - fn("UseRegularNms", (desc.m_UseRegularNms ? "true" : "false")); + fn("NumInputSlots", std::to_string(desc.m_NumInputSlots)); + fn("NumOutputSlots", std::to_string(desc.m_NumOutputSlots)); +} + +void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, + const Pooling2dDescriptor& desc) +{ + fn("Type", GetPoolingAlgorithmAsCString(desc.m_PoolType)); { std::stringstream ss; - ss << "(" << desc.m_ScaleX << "," << desc.m_ScaleY << ")"; - fn("Scale(X,Y)", ss.str()); + ss << "(" << desc.m_PadTop << "," << desc.m_PadLeft + << "," << desc.m_PadBottom << "," << desc.m_PadRight << ")"; + fn("Padding(T,L,B,R)", ss.str()); } { std::stringstream ss; - ss << "(" << desc.m_ScaleW << "," << desc.m_ScaleH << ")"; - fn("Scale(W,H)", ss.str()); + ss << "(" << desc.m_PoolWidth << "," << desc.m_PoolHeight << ")"; + fn("(Width,Height)", ss.str()); } -} -void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, - const NormalizationDescriptor& desc) -{ - fn("NormChannelType", GetNormalizationAlgorithmChannelAsCString(desc.m_NormChannelType)); - fn("NormMethodType", GetNormalizationAlgorithmMethodAsCString(desc.m_NormMethodType)); - fn("NormSize", std::to_string(desc.m_NormSize)); - fn("Alpha", std::to_string(desc.m_Alpha)); - fn("Beta", std::to_string(desc.m_Beta)); - fn("K", std::to_string(desc.m_K)); - fn("DataLayout", GetDataLayoutName(desc.m_DataLayout)); -} + { + std::stringstream ss; + ss << "(" << desc.m_StrideX << "," << desc.m_StrideY << ")"; + fn("Stride(X,Y)", ss.str()); + } -void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, - const L2NormalizationDescriptor& desc) -{ - fn("Eps", std::to_string(desc.m_Eps)); + fn("OutputShapeRounding", GetOutputShapeRoundingAsCString(desc.m_OutputShapeRounding)); + fn("PaddingMethod", GetPaddingMethodAsCString(desc.m_PaddingMethod)); fn("DataLayout", GetDataLayoutName(desc.m_DataLayout)); } -void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, - const BatchToSpaceNdDescriptor& desc) +void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, + const PermuteDescriptor& desc) { + std::stringstream ss; + ss << "["; + bool addComma = false; + for (auto it : desc.m_DimMappings) { - std::stringstream ss; - int count = 0; - for (auto&& var : desc.m_BlockShape) + if (addComma) { - if (count > 0) - { - ss << ","; - } - ss << var; - ++count; + ss << ","; } - fn("BlockShape", ss.str()); + ss << it; + addComma = true; } + ss << "]"; + fn("DimMappings",ss.str()); +} + +void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, const ReduceDescriptor& desc) +{ { std::stringstream ss; int count = 0; - for (auto&& var : desc.m_Crops) + for (auto&& var : desc.m_vAxis) { if (count > 0) { ss << ","; } - ss << "[" << var.first << "," << var.second << "]"; + ss << var; ++count; } - fn("Crops", ss.str()); + fn("Axis", ss.str()); } - - fn("DataLayout", GetDataLayoutName(desc.m_DataLayout)); + fn("KeepDims", (desc.m_KeepDims ? "true" : "false")); + fn("ReduceOperation", GetReduceOperationAsCString(desc.m_ReduceOperation)); } -void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, - const FakeQuantizationDescriptor& desc) +void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, + const ReshapeDescriptor& desc) { - fn("Min", std::to_string(desc.m_Min)); - fn("Max", std::to_string(desc.m_Max)); + std::stringstream ss; + ss << desc.m_TargetShape; + fn("TargetShape",ss.str()); } void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, @@ -334,6 +365,13 @@ void StringifyLayerParameters::Serialize(ParameterStringifyFun fn("HalfPixelCenters", std::to_string(desc.m_HalfPixelCenters)); } +void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, + const SoftmaxDescriptor& desc) +{ + fn("Beta", std::to_string(desc.m_Beta)); + fn("Axis", std::to_string(desc.m_Axis)); +} + void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, const SpaceToBatchNdDescriptor& desc) { @@ -377,55 +415,6 @@ void StringifyLayerParameters::Serialize(ParameterString fn("DataLayout", GetDataLayoutName(desc.m_DataLayout)); } -void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, const LstmDescriptor& desc) -{ - fn("ActivationFunc", std::to_string(desc.m_ActivationFunc)); - fn("ClippingThresCell", std::to_string(desc.m_ClippingThresCell)); - fn("ClippingThresProj", std::to_string(desc.m_ClippingThresProj)); - fn("CifgEnabled", (desc.m_CifgEnabled ? "true" : "false")) ; - fn("PeepholeEnabled", (desc.m_PeepholeEnabled ? "true" : "false")) ; - fn("ProjectionEnabled", (desc.m_ProjectionEnabled ? "true" : "false")) ; - fn("LayerNormEnabled", (desc.m_LayerNormEnabled ? "true" : "false")); -} - -void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, const MeanDescriptor& desc) -{ - { - std::stringstream ss; - int count = 0; - for (auto&& var : desc.m_Axis) - { - if (count > 0) - { - ss << ","; - } - ss << var; - ++count; - } - fn("Axis", ss.str()); - } - fn("KeepDims", (desc.m_KeepDims ? "true" : "false")); -} - -void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, const PadDescriptor& desc) -{ - { - std::stringstream ss; - int count = 0; - for (auto&& var : desc.m_PadList) - { - if (count > 0) - { - ss << ","; - } - ss << "[" << var.first << "," << var.second << "]"; - ++count; - } - fn("PadList", ss.str()); - } - fn("PadValue", std::to_string(desc.m_PadValue)); -} - void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, const StackDescriptor& desc) { fn("Axis", std::to_string(desc.m_Axis)); @@ -493,13 +482,6 @@ void StringifyLayerParameters::Serialize(ParameterString fn("DataLayout", GetDataLayoutName(desc.m_DataLayout)); } -void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, - const PreCompiledDescriptor& desc) -{ - fn("NumInputSlots", std::to_string(desc.m_NumInputSlots)); - fn("NumOutputSlots", std::to_string(desc.m_NumOutputSlots)); -} - void StringifyLayerParameters::Serialize( ParameterStringifyFunction& fn, const TransposeConvolution2dDescriptor& desc) @@ -541,4 +523,28 @@ void StringifyLayerParameters::Serialize(ParameterStringify fn("DimMappings",ss.str()); } +void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, const ViewsDescriptor& desc) +{ + uint32_t numViews = desc.GetNumViews(); + uint32_t numDims = desc.GetNumDimensions(); + for (uint32_t view = 0; view < numViews; ++view) { + std::stringstream key; + key << "ViewSizes#" << view; + std::stringstream value; + value << "["; + auto viewData = desc.GetViewSizes(view); + for (uint32_t dim = 0; dim < numDims; ++dim) + { + if (dim > 0) + { + value << ","; + } + value << viewData[dim]; + } + value << "]"; + fn(key.str(), value.str()); + } + StringifyLayerParameters::Serialize(fn, desc.GetOrigins()); +} + } // namespace armnn \ No newline at end of file diff --git a/src/armnn/SerializeLayerParameters.hpp b/src/armnn/SerializeLayerParameters.hpp index f760df0275..9c5b82651c 100644 --- a/src/armnn/SerializeLayerParameters.hpp +++ b/src/armnn/SerializeLayerParameters.hpp @@ -25,24 +25,24 @@ struct StringifyLayerParameters static void Serialize(ParameterStringifyFunction&, const LayerParameter&) {} }; -template <> struct StringifyLayerParameters +template <> struct StringifyLayerParameters { - static void Serialize(ParameterStringifyFunction& fn, const ComparisonDescriptor& desc); + static void Serialize(ParameterStringifyFunction& fn, const ActivationDescriptor& desc); }; -template <> struct StringifyLayerParameters +template <> struct StringifyLayerParameters { - static void Serialize(ParameterStringifyFunction& fn, const PermuteDescriptor& desc); + static void Serialize(ParameterStringifyFunction& fn, const BatchNormalizationDescriptor& desc); }; -template <> struct StringifyLayerParameters +template <> struct StringifyLayerParameters { - static void Serialize(ParameterStringifyFunction& fn, const ReshapeDescriptor& desc); + static void Serialize(ParameterStringifyFunction& fn, const BatchToSpaceNdDescriptor& desc); }; -template <> struct StringifyLayerParameters +template <> struct StringifyLayerParameters { - static void Serialize(ParameterStringifyFunction& fn, const ActivationDescriptor& desc); + static void Serialize(ParameterStringifyFunction& fn, const ComparisonDescriptor& desc); }; template <> struct StringifyLayerParameters @@ -50,9 +50,9 @@ template <> struct StringifyLayerParameters static void Serialize(ParameterStringifyFunction& fn, const Convolution2dDescriptor& desc); }; -template <> struct StringifyLayerParameters +template <> struct StringifyLayerParameters { - static void Serialize(ParameterStringifyFunction& fn, const BatchNormalizationDescriptor& desc); + static void Serialize(ParameterStringifyFunction& fn, const DetectionPostProcessDescriptor& desc); }; template <> struct StringifyLayerParameters @@ -60,19 +60,14 @@ template <> struct StringifyLayerParameters static void Serialize(ParameterStringifyFunction& fn, const DepthwiseConvolution2dDescriptor& desc); }; -template <> struct StringifyLayerParameters -{ - static void Serialize(ParameterStringifyFunction& fn, const Pooling2dDescriptor& desc); -}; - -template <> struct StringifyLayerParameters +template <> struct StringifyLayerParameters { - static void Serialize(ParameterStringifyFunction& fn, const ReduceDescriptor& desc); + static void Serialize(ParameterStringifyFunction& fn, const ElementwiseUnaryDescriptor& desc); }; -template <> struct StringifyLayerParameters +template <> struct StringifyLayerParameters { - static void Serialize(ParameterStringifyFunction& fn, const SoftmaxDescriptor& desc); + static void Serialize(ParameterStringifyFunction& fn, const FakeQuantizationDescriptor& desc); }; template <> struct StringifyLayerParameters @@ -80,19 +75,19 @@ template <> struct StringifyLayerParameters static void Serialize(ParameterStringifyFunction& fn, const FullyConnectedDescriptor& desc); }; -template <> struct StringifyLayerParameters +template <> struct StringifyLayerParameters { - static void Serialize(ParameterStringifyFunction& fn, const OriginsDescriptor& desc); + static void Serialize(ParameterStringifyFunction& fn, const L2NormalizationDescriptor& desc); }; -template <> struct StringifyLayerParameters +template <> struct StringifyLayerParameters { - static void Serialize(ParameterStringifyFunction& fn, const ViewsDescriptor& desc); + static void Serialize(ParameterStringifyFunction& fn, const LstmDescriptor& desc); }; -template <> struct StringifyLayerParameters +template <> struct StringifyLayerParameters { - static void Serialize(ParameterStringifyFunction& fn, const DetectionPostProcessDescriptor& desc); + static void Serialize(ParameterStringifyFunction& fn, const MeanDescriptor& desc); }; template <> struct StringifyLayerParameters @@ -100,54 +95,58 @@ template <> struct StringifyLayerParameters static void Serialize(ParameterStringifyFunction& fn, const NormalizationDescriptor& desc); }; -template <> struct StringifyLayerParameters +template <> struct StringifyLayerParameters { - static void Serialize(ParameterStringifyFunction& fn, const L2NormalizationDescriptor& desc); + static void Serialize(ParameterStringifyFunction& fn, const OriginsDescriptor& desc); }; -template <> struct StringifyLayerParameters +template <> struct StringifyLayerParameters { - static void Serialize(ParameterStringifyFunction& fn, const BatchToSpaceNdDescriptor& desc); + static void Serialize(ParameterStringifyFunction& fn, const PadDescriptor& desc); +}; +template <> struct StringifyLayerParameters +{ + static void Serialize(ParameterStringifyFunction& fn, const PermuteDescriptor& desc); }; -template <> struct StringifyLayerParameters +template <> struct StringifyLayerParameters { - static void Serialize(ParameterStringifyFunction& fn, const FakeQuantizationDescriptor& desc); + static void Serialize(ParameterStringifyFunction& fn, const Pooling2dDescriptor& desc); }; -template <> struct StringifyLayerParameters +template <> struct StringifyLayerParameters { - static void Serialize(ParameterStringifyFunction& fn, const ResizeBilinearDescriptor& desc); + static void Serialize(ParameterStringifyFunction& fn, const PreCompiledDescriptor& desc); }; -template <> struct StringifyLayerParameters +template <> struct StringifyLayerParameters { - static void Serialize(ParameterStringifyFunction& fn, const ResizeDescriptor& desc); + static void Serialize(ParameterStringifyFunction& fn, const ReduceDescriptor& desc); }; -template <> struct StringifyLayerParameters +template <> struct StringifyLayerParameters { - static void Serialize(ParameterStringifyFunction& fn, const SpaceToBatchNdDescriptor& desc); + static void Serialize(ParameterStringifyFunction& fn, const ReshapeDescriptor& desc); }; -template <> struct StringifyLayerParameters +template <> struct StringifyLayerParameters { - static void Serialize(ParameterStringifyFunction& fn, const SpaceToDepthDescriptor& desc); + static void Serialize(ParameterStringifyFunction& fn, const ResizeBilinearDescriptor& desc); }; -template <> struct StringifyLayerParameters +template <> struct StringifyLayerParameters { - static void Serialize(ParameterStringifyFunction& fn, const LstmDescriptor& desc); + static void Serialize(ParameterStringifyFunction& fn, const ResizeDescriptor& desc); }; -template <> struct StringifyLayerParameters +template <> struct StringifyLayerParameters { - static void Serialize(ParameterStringifyFunction& fn, const MeanDescriptor& desc); + static void Serialize(ParameterStringifyFunction& fn, const SpaceToBatchNdDescriptor& desc); }; -template <> struct StringifyLayerParameters +template <> struct StringifyLayerParameters { - static void Serialize(ParameterStringifyFunction& fn, const PadDescriptor& desc); + static void Serialize(ParameterStringifyFunction& fn, const SpaceToDepthDescriptor& desc); }; template <> struct StringifyLayerParameters @@ -160,9 +159,9 @@ template <> struct StringifyLayerParameters static void Serialize(ParameterStringifyFunction& fn, const StridedSliceDescriptor& desc); }; -template <> struct StringifyLayerParameters +template <> struct StringifyLayerParameters { - static void Serialize(ParameterStringifyFunction& fn, const PreCompiledDescriptor& desc); + static void Serialize(ParameterStringifyFunction& fn, const SoftmaxDescriptor& desc); }; template <> struct StringifyLayerParameters @@ -175,4 +174,9 @@ template <> struct StringifyLayerParameters static void Serialize(ParameterStringifyFunction& fn, const TransposeDescriptor& desc); }; +template <> struct StringifyLayerParameters +{ + static void Serialize(ParameterStringifyFunction& fn, const ViewsDescriptor& desc); +}; + } // namespace armnn \ No newline at end of file -- cgit v1.2.1