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/cl/test/ClCreateWorkloadTests.cpp | 14 +++++--------- src/backends/cl/test/ClEndToEndTests.cpp | 12 ++++++++++-- 2 files changed, 15 insertions(+), 11 deletions(-) (limited to 'src/backends/cl/test') diff --git a/src/backends/cl/test/ClCreateWorkloadTests.cpp b/src/backends/cl/test/ClCreateWorkloadTests.cpp index d79745c420..92e771760f 100644 --- a/src/backends/cl/test/ClCreateWorkloadTests.cpp +++ b/src/backends/cl/test/ClCreateWorkloadTests.cpp @@ -146,18 +146,16 @@ BOOST_AUTO_TEST_CASE(CreateDivisionFloat16WorkloadTest) armnn::DataType::Float16>(); } -template -static void ClCreateElementwiseUnaryWorkloadTest() +static void ClCreateElementwiseUnaryWorkloadTest(armnn::UnaryOperation op) { Graph graph; ClWorkloadFactory factory = ClWorkloadFactoryHelper::GetFactory(ClWorkloadFactoryHelper::GetMemoryManager()); - auto workload = CreateElementwiseUnaryWorkloadTest - (factory, graph); + auto workload = CreateElementwiseUnaryWorkloadTest(factory, graph, op); DescriptorType queueDescriptor = workload->GetData(); @@ -170,10 +168,8 @@ static void ClCreateElementwiseUnaryWorkloadTest() BOOST_AUTO_TEST_CASE(CreateRsqrtFloat32WorkloadTest) { - ClCreateElementwiseUnaryWorkloadTest(); + ClCreateElementwiseUnaryWorkloadTest( + UnaryOperation::Rsqrt); } template diff --git a/src/backends/cl/test/ClEndToEndTests.cpp b/src/backends/cl/test/ClEndToEndTests.cpp index 260f8f68cd..eafdb7c3e5 100644 --- a/src/backends/cl/test/ClEndToEndTests.cpp +++ b/src/backends/cl/test/ClEndToEndTests.cpp @@ -5,12 +5,12 @@ #include -#include #include #include #include #include #include +#include #include #include #include @@ -27,7 +27,15 @@ std::vector defaultBackends = {armnn::Compute::GpuAcc}; // Abs BOOST_AUTO_TEST_CASE(ClAbsEndToEndTestFloat32) { - 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