From d998a1cfbcc7b4ed9922532ffe19c51283fcae68 Mon Sep 17 00:00:00 2001 From: Tamas Nyiri Date: Fri, 5 Nov 2021 14:55:33 +0000 Subject: IVGCVSW-6510 Serialization + Deserialization implementation Subtask of story: IVGCVSW-6164 Add a Pooling3d FrontEnd and Ref Implementation * Add serialization support * Add deserialization support * Add corresponding unit tests Change-Id: I7cce5421f0a9b7c47a03524e733f3315131ba125 Signed-off-by: Tamas Nyiri --- src/armnn/SerializeLayerParameters.cpp | 31 ++++++++++++++++++++++++++++++- src/armnn/SerializeLayerParameters.hpp | 5 +++++ 2 files changed, 35 insertions(+), 1 deletion(-) (limited to 'src/armnn') diff --git a/src/armnn/SerializeLayerParameters.cpp b/src/armnn/SerializeLayerParameters.cpp index c60d4faf79..d7f38034f5 100644 --- a/src/armnn/SerializeLayerParameters.cpp +++ b/src/armnn/SerializeLayerParameters.cpp @@ -121,7 +121,7 @@ void StringifyLayerParameters::Serialize(ParameterStrin { std::stringstream ss; ss << "(" << desc.m_DilationX << "," << desc.m_DilationY << "," << desc.m_DilationZ << ")"; - fn("Dilation(X,Y)", ss.str()); + fn("Dilation(X,Y,Z)", ss.str()); } fn("BiasEnabled",(desc.m_BiasEnabled ? "true" : "false")); @@ -331,6 +331,35 @@ void StringifyLayerParameters::Serialize(ParameterStringify fn("DataLayout", GetDataLayoutName(desc.m_DataLayout)); } +void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, + const Pooling3dDescriptor& desc) +{ + fn("Type", GetPoolingAlgorithmAsCString(desc.m_PoolType)); + { + std::stringstream ss; + ss << "(" << desc.m_PadTop << "," << desc.m_PadLeft + << "," << desc.m_PadBottom << "," << desc.m_PadRight + << "," << desc.m_PadFront << "," << desc.m_PadBack << ")"; + fn("Padding(T,L,B,R,F,B)", ss.str()); + } + + { + std::stringstream ss; + ss << "(" << desc.m_PoolWidth << "," << desc.m_PoolHeight << "," << desc.m_PoolDepth << ")"; + fn("(Width,Height,Depth)", ss.str()); + } + + { + std::stringstream ss; + ss << "(" << desc.m_StrideX << "," << desc.m_StrideY << "," << desc.m_StrideZ << ")"; + fn("Stride(X,Y,Z)", ss.str()); + } + + fn("OutputShapeRounding", GetOutputShapeRoundingAsCString(desc.m_OutputShapeRounding)); + fn("PaddingMethod", GetPaddingMethodAsCString(desc.m_PaddingMethod)); + fn("DataLayout", GetDataLayoutName(desc.m_DataLayout)); +} + void StringifyLayerParameters::Serialize(ParameterStringifyFunction& fn, const PermuteDescriptor& desc) { diff --git a/src/armnn/SerializeLayerParameters.hpp b/src/armnn/SerializeLayerParameters.hpp index 5c1e6f3759..d2c7d76d7d 100644 --- a/src/armnn/SerializeLayerParameters.hpp +++ b/src/armnn/SerializeLayerParameters.hpp @@ -124,6 +124,11 @@ template <> struct StringifyLayerParameters static void Serialize(ParameterStringifyFunction& fn, const Pooling2dDescriptor& desc); }; +template <> struct StringifyLayerParameters +{ + static void Serialize(ParameterStringifyFunction& fn, const Pooling3dDescriptor& desc); +}; + template <> struct StringifyLayerParameters { static void Serialize(ParameterStringifyFunction& fn, const PreCompiledDescriptor& desc); -- cgit v1.2.1