From ab9e52563f624d9782b97400f643d2632cc8d770 Mon Sep 17 00:00:00 2001 From: Matteo Martincigh Date: Thu, 13 Jun 2019 17:27:46 +0100 Subject: IVGCVSW-3268 Add Reference workload support for the new Prelu Activation layer * Added reference workload for the PReLU Activation layer * Added factory methods * Added validation support * Added Int16 support * Added unit tests Change-Id: Ic950d908c5e0a335dccd2960a3ffab0f8b599876 Signed-off-by: Matteo Martincigh --- .../reference/test/RefCreateWorkloadTests.cpp | 28 ++++++++++++++++++++++ src/backends/reference/test/RefLayerTests.cpp | 5 ++++ 2 files changed, 33 insertions(+) (limited to 'src/backends/reference/test') diff --git a/src/backends/reference/test/RefCreateWorkloadTests.cpp b/src/backends/reference/test/RefCreateWorkloadTests.cpp index e541692654..14615f89df 100644 --- a/src/backends/reference/test/RefCreateWorkloadTests.cpp +++ b/src/backends/reference/test/RefCreateWorkloadTests.cpp @@ -870,4 +870,32 @@ BOOST_AUTO_TEST_CASE(CreateConstantSigned32Workload) RefCreateConstantWorkloadTest({ 2, 3, 2, 10 }); } +template +static void RefCreatePreluWorkloadTest(const armnn::TensorShape& outputShape) +{ + armnn::Graph graph; + RefWorkloadFactory factory; + auto workload = CreatePreluWorkloadTest(factory, graph, outputShape); + + // Check output is as expected + auto queueDescriptor = workload->GetData(); + auto outputHandle = boost::polymorphic_downcast(queueDescriptor.m_Outputs[0]); + BOOST_TEST((outputHandle->GetTensorInfo() == TensorInfo(outputShape, DataType))); +} + +BOOST_AUTO_TEST_CASE(CreatePreluFloat32Workload) +{ + RefCreatePreluWorkloadTest({ 5, 4, 3, 2 }); +} + +BOOST_AUTO_TEST_CASE(CreatePreluUint8Workload) +{ + RefCreatePreluWorkloadTest({ 5, 4, 3, 2 }); +} + +BOOST_AUTO_TEST_CASE(CreatePreluInt16Workload) +{ + RefCreatePreluWorkloadTest({ 5, 4, 3, 2 }); +} + BOOST_AUTO_TEST_SUITE_END() diff --git a/src/backends/reference/test/RefLayerTests.cpp b/src/backends/reference/test/RefLayerTests.cpp index 95e93653bc..b540d185d3 100644 --- a/src/backends/reference/test/RefLayerTests.cpp +++ b/src/backends/reference/test/RefLayerTests.cpp @@ -859,4 +859,9 @@ ARMNN_AUTO_TEST_CASE(QuantizeSimpleUint8, QuantizeSimpleUint8Test) ARMNN_AUTO_TEST_CASE(QuantizeClampUint8, QuantizeClampUint8Test) ARMNN_AUTO_TEST_CASE(QuantizeClampInt16, QuantizeClampInt16Test) +// PReLU +ARMNN_AUTO_TEST_CASE(PreluFloat32, PreluTest) +ARMNN_AUTO_TEST_CASE(PreluUint8, PreluTest) +ARMNN_AUTO_TEST_CASE(PreluInt16, PreluTest) + BOOST_AUTO_TEST_SUITE_END() -- cgit v1.2.1