From ce5045a00485f8a8c35814c0781ccbcca5678e5c Mon Sep 17 00:00:00 2001 From: Kevin May Date: Wed, 2 Oct 2019 14:07:47 +0100 Subject: IVGCVSW-3932 Add frontend for INSTANCE_NORMALIZATION Signed-off-by: Kevin May Change-Id: Ib152148ccd8d2733c617d0cf9402661fc6b71316 --- .../test/TestNameAndDescriptorLayerVisitor.cpp | 23 +++++++++++++++ .../test/TestNameAndDescriptorLayerVisitor.hpp | 34 ++++++++++++++++++++++ 2 files changed, 57 insertions(+) (limited to 'src/armnn/test') diff --git a/src/armnn/test/TestNameAndDescriptorLayerVisitor.cpp b/src/armnn/test/TestNameAndDescriptorLayerVisitor.cpp index 653612f208..dcc5dc4cfb 100644 --- a/src/armnn/test/TestNameAndDescriptorLayerVisitor.cpp +++ b/src/armnn/test/TestNameAndDescriptorLayerVisitor.cpp @@ -282,6 +282,29 @@ BOOST_AUTO_TEST_CASE(CheckResizeLayerVisitorNameNullAndDescriptor) layer->Accept(visitor); } +BOOST_AUTO_TEST_CASE(CheckInstanceNormalizationLayerVisitorNameAndDescriptor) +{ + const char* layerName = "InstanceNormalizationLayer"; + InstanceNormalizationDescriptor descriptor; + descriptor.m_DataLayout = DataLayout::NHWC; + TestInstanceNormalizationLayerVisitor visitor(descriptor, layerName); + Network net; + + IConnectableLayer *const layer = net.AddInstanceNormalizationLayer(descriptor, layerName); + layer->Accept(visitor); +} + +BOOST_AUTO_TEST_CASE(CheckInstanceNormalizationLayerVisitorNameNullAndDescriptor) +{ + InstanceNormalizationDescriptor descriptor; + descriptor.m_DataLayout = DataLayout::NHWC; + TestInstanceNormalizationLayerVisitor visitor(descriptor); + Network net; + + IConnectableLayer *const layer = net.AddInstanceNormalizationLayer(descriptor); + layer->Accept(visitor); +} + BOOST_AUTO_TEST_CASE(CheckL2NormalizationLayerVisitorNameAndDescriptor) { const char* layerName = "L2NormalizationLayer"; diff --git a/src/armnn/test/TestNameAndDescriptorLayerVisitor.hpp b/src/armnn/test/TestNameAndDescriptorLayerVisitor.hpp index f1936d6847..aa0b3597fa 100644 --- a/src/armnn/test/TestNameAndDescriptorLayerVisitor.hpp +++ b/src/armnn/test/TestNameAndDescriptorLayerVisitor.hpp @@ -418,6 +418,40 @@ public: }; }; +class TestInstanceNormalizationLayerVisitor : public TestLayerVisitor +{ +private: + InstanceNormalizationDescriptor m_VisitorDescriptor; + +public: + explicit TestInstanceNormalizationLayerVisitor(const InstanceNormalizationDescriptor& desc, + const char* name = nullptr) + : TestLayerVisitor(name) + { + m_VisitorDescriptor.m_Beta = desc.m_Beta; + m_VisitorDescriptor.m_Gamma = desc.m_Gamma; + m_VisitorDescriptor.m_Eps = desc.m_Eps; + m_VisitorDescriptor.m_DataLayout = desc.m_DataLayout; + }; + + void CheckDescriptor(const InstanceNormalizationDescriptor& desc) + { + BOOST_CHECK(desc.m_Beta == m_VisitorDescriptor.m_Beta); + BOOST_CHECK(desc.m_Gamma == m_VisitorDescriptor.m_Gamma); + BOOST_CHECK(desc.m_Eps == m_VisitorDescriptor.m_Eps); + BOOST_CHECK(desc.m_DataLayout == m_VisitorDescriptor.m_DataLayout); + } + + void VisitInstanceNormalizationLayer(const IConnectableLayer* layer, + const InstanceNormalizationDescriptor& desc, + const char* name = nullptr) override + { + CheckLayerPointer(layer); + CheckDescriptor(desc); + CheckLayerName(name); + }; +}; + class TestL2NormalizationLayerVisitor : public TestLayerVisitor { private: -- cgit v1.2.1