From 4a3c61091037e7e86e8b03bb060d8c1ab82731a9 Mon Sep 17 00:00:00 2001 From: josh minor Date: Mon, 6 Jan 2020 16:40:46 -0600 Subject: IVGCVSW-4259 Add frontend and reference workload for UnaryOperationLayer * Added new layer named ElementwiseUnary * Deprecated existing Abs/Rsqrt layer functions * Updated existing Abs/Rsqrt test infrastructure to use new layer * Added boilerplate for new Exp,Neg,Sqrt elemwise op layers * AbsQuantize test removed pending future commit * Serialization support added !android-nn-driver:2550 Change-Id: Ic595c645925e17b45db568187fd05646daf2e87f Signed-off-by: josh minor --- src/backends/neon/test/NeonCreateWorkloadTests.cpp | 30 ---------------------- src/backends/neon/test/NeonEndToEndTests.cpp | 12 +++++++-- 2 files changed, 10 insertions(+), 32 deletions(-) (limited to 'src/backends/neon/test') diff --git a/src/backends/neon/test/NeonCreateWorkloadTests.cpp b/src/backends/neon/test/NeonCreateWorkloadTests.cpp index a08c8f7d2a..400a5a38e2 100644 --- a/src/backends/neon/test/NeonCreateWorkloadTests.cpp +++ b/src/backends/neon/test/NeonCreateWorkloadTests.cpp @@ -181,36 +181,6 @@ BOOST_AUTO_TEST_CASE(CreateMultiplicationUint8Workload) DataType::QAsymmU8>(); } -template -static void NeonCreateElementwiseUnaryWorkloadTest() -{ - Graph graph; - NeonWorkloadFactory factory = - NeonWorkloadFactoryHelper::GetFactory(NeonWorkloadFactoryHelper::GetMemoryManager()); - - auto workload = CreateElementwiseUnaryWorkloadTest - (factory, graph); - - DescriptorType queueDescriptor = workload->GetData(); - - auto inputHandle = boost::polymorphic_downcast(queueDescriptor.m_Inputs[0]); - auto outputHandle = boost::polymorphic_downcast(queueDescriptor.m_Outputs[0]); - - BOOST_TEST(TestNeonTensorHandleInfo(inputHandle, TensorInfo({2, 3}, DataType))); - BOOST_TEST(TestNeonTensorHandleInfo(outputHandle, TensorInfo({2, 3}, DataType))); -} - -BOOST_AUTO_TEST_CASE(CreateRsqrtFloat32Workload) -{ - NeonCreateElementwiseUnaryWorkloadTest(); -} - template static void NeonCreateBatchNormalizationWorkloadTest(DataLayout dataLayout) { diff --git a/src/backends/neon/test/NeonEndToEndTests.cpp b/src/backends/neon/test/NeonEndToEndTests.cpp index e1c929b17b..4e9fe0f3c3 100644 --- a/src/backends/neon/test/NeonEndToEndTests.cpp +++ b/src/backends/neon/test/NeonEndToEndTests.cpp @@ -5,13 +5,13 @@ #include -#include #include #include #include #include #include #include +#include #include #include #include @@ -28,7 +28,15 @@ std::vector defaultBackends = {armnn::Compute::CpuAcc}; // Abs BOOST_AUTO_TEST_CASE(NeonAbsEndToEndTestFloat32) { - AbsEndToEnd(defaultBackends); + std::vector expectedOutput = + { + 1.f, 1.f, 1.f, 1.f, 5.f, 5.f, 5.f, 5.f, + 3.f, 3.f, 3.f, 3.f, 4.f, 4.f, 4.f, 4.f + }; + + ElementwiseUnarySimpleEndToEnd(defaultBackends, + UnaryOperation::Abs, + expectedOutput); } // Constant -- cgit v1.2.1