diff options
author | Nikhil Raj <nikhil.raj@arm.com> | 2019-07-05 12:22:58 +0100 |
---|---|---|
committer | Matteo Martincigh <matteo.martincigh@arm.com> | 2019-07-05 12:55:51 +0000 |
commit | 91e4c6d43921b735e6aee78d8611bc0372eda4df (patch) | |
tree | 0a1cf9d18ba23984c6a66a79cf8105834b00ef55 /src/backends/cl/test/ClCreateWorkloadTests.cpp | |
parent | 328d92b84e6bd29906bf1fc496b1103af7f7e115 (diff) | |
download | armnn-91e4c6d43921b735e6aee78d8611bc0372eda4df.tar.gz |
IVGCVSW-3293 Add CL backend support for PReLU
Change-Id: I1bb187db89bb3eb883b8f0aca4c3439d82b56583
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Diffstat (limited to 'src/backends/cl/test/ClCreateWorkloadTests.cpp')
-rw-r--r-- | src/backends/cl/test/ClCreateWorkloadTests.cpp | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/backends/cl/test/ClCreateWorkloadTests.cpp b/src/backends/cl/test/ClCreateWorkloadTests.cpp index aa1393f407..9e4f85b46c 100644 --- a/src/backends/cl/test/ClCreateWorkloadTests.cpp +++ b/src/backends/cl/test/ClCreateWorkloadTests.cpp @@ -452,6 +452,48 @@ BOOST_AUTO_TEST_CASE(CreatePooling2dFloat16NhwcWorkload) ClPooling2dWorkloadTest<armnn::DataType::Float16>(DataLayout::NHWC); } +static void ClCreatePreluWorkloadTest(const armnn::TensorShape& inputShape, + const armnn::TensorShape& alphaShape, + const armnn::TensorShape& outputShape, + armnn::DataType dataType) +{ + Graph graph; + ClWorkloadFactory factory = + ClWorkloadFactoryHelper::GetFactory(ClWorkloadFactoryHelper::GetMemoryManager()); + + auto workload = CreatePreluWorkloadTest<ClPreluWorkload>(factory, + graph, + inputShape, + alphaShape, + outputShape, + dataType); + + // Checks that outputs and inputs are as we expect them (see definition of CreatePreluWorkloadTest). + PreluQueueDescriptor queueDescriptor = workload->GetData(); + auto inputHandle = boost::polymorphic_downcast<IClTensorHandle*>(queueDescriptor.m_Inputs[0]); + auto alphaHandle = boost::polymorphic_downcast<IClTensorHandle*>(queueDescriptor.m_Inputs[1]); + auto outputHandle = boost::polymorphic_downcast<IClTensorHandle*>(queueDescriptor.m_Outputs[0]); + + BOOST_TEST((inputHandle->GetShape() == inputShape)); + BOOST_TEST((alphaHandle->GetShape() == alphaShape)); + BOOST_TEST((outputHandle->GetShape() == outputShape)); +} + +BOOST_AUTO_TEST_CASE(CreatePreluFloat16Workload) +{ + ClCreatePreluWorkloadTest({ 1, 4, 1, 2 }, { 5, 4, 3, 1 }, { 5, 4, 3, 2 }, DataType::Float16); +} + +BOOST_AUTO_TEST_CASE(CreatePreluFloatWorkload) +{ + ClCreatePreluWorkloadTest({ 1, 4, 1, 2 }, { 5, 4, 3, 1 }, { 5, 4, 3, 2 }, DataType::Float32); +} + +BOOST_AUTO_TEST_CASE(CreatePreluUint8Workload) +{ + ClCreatePreluWorkloadTest({ 1, 4, 1, 2 }, { 5, 4, 3, 1 }, { 5, 4, 3, 2 }, DataType::QuantisedAsymm8); +} + template <typename armnn::DataType DataType> static void ClCreateReshapeWorkloadTest() { |