diff options
author | narpra01 <narumol.prangnawarat@arm.com> | 2018-11-19 15:30:27 +0000 |
---|---|---|
committer | Matthew Bentham <matthew.bentham@arm.com> | 2018-11-19 16:04:07 +0000 |
commit | 5cdda351b4e12c5299173ec6b0fc75a948bdcda0 (patch) | |
tree | 2e426b492efe8ce5effe5b7d19a1776abbc8eca5 /src/backends/neon/test/NeonCreateWorkloadTests.cpp | |
parent | de8b7b3c31f1b15c7ad867d86e14ab27dd022a14 (diff) | |
download | armnn-5cdda351b4e12c5299173ec6b0fc75a948bdcda0.tar.gz |
IVGCVSW-2105 - Unit tests for merger
* Add LayerTests
* Add WorkloadTests
!android-nn-driver:166
Change-Id: I903461002879f60fc9f8ae929f18784e2d9b1fc1
Diffstat (limited to 'src/backends/neon/test/NeonCreateWorkloadTests.cpp')
-rw-r--r-- | src/backends/neon/test/NeonCreateWorkloadTests.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/backends/neon/test/NeonCreateWorkloadTests.cpp b/src/backends/neon/test/NeonCreateWorkloadTests.cpp index 61160e2195..1fd56ca247 100644 --- a/src/backends/neon/test/NeonCreateWorkloadTests.cpp +++ b/src/backends/neon/test/NeonCreateWorkloadTests.cpp @@ -616,4 +616,39 @@ BOOST_AUTO_TEST_CASE(CreateL2NormalizationNhwcWorkload) NeonCreateL2NormalizationWorkloadTest<NeonL2NormalizationFloatWorkload, DataType::Float32>(DataLayout::NHWC); } +template <typename MergerWorkloadType, armnn::DataType DataType> +static void NeonCreateMergerWorkloadTest(std::initializer_list<unsigned int> outputShape, + unsigned int concatAxis) +{ + Graph graph; + NeonWorkloadFactory factory = + NeonWorkloadFactoryHelper::GetFactory(NeonWorkloadFactoryHelper::GetMemoryManager()); + + auto workload = CreateMergerWorkloadTest<MergerWorkloadType, DataType>(factory, graph, outputShape, concatAxis); + + MergerQueueDescriptor queueDescriptor = workload->GetData(); + auto inputHandle0 = boost::polymorphic_downcast<INeonTensorHandle*>(queueDescriptor.m_Inputs[0]); + auto inputHandle1 = boost::polymorphic_downcast<INeonTensorHandle*>(queueDescriptor.m_Inputs[1]); + auto outputHandle = boost::polymorphic_downcast<INeonTensorHandle*>(queueDescriptor.m_Outputs[0]); + + BOOST_TEST(TestNeonTensorHandleInfo(inputHandle0, TensorInfo({ 2, 3, 2, 5 }, DataType))); + BOOST_TEST(TestNeonTensorHandleInfo(inputHandle1, TensorInfo({ 2, 3, 2, 5 }, DataType))); + BOOST_TEST(TestNeonTensorHandleInfo(outputHandle, TensorInfo(outputShape, DataType))); +} + +BOOST_AUTO_TEST_CASE(CreateMergerDim0Float32Workload) +{ + NeonCreateMergerWorkloadTest<NeonMergerWorkload, armnn::DataType::Float32>({ 4, 3, 2, 5 }, 0); +} + +BOOST_AUTO_TEST_CASE(CreateMergerDim1Float32Workload) +{ + NeonCreateMergerWorkloadTest<NeonMergerWorkload, armnn::DataType::Float32>({ 2, 6, 2, 5 }, 1); +} + +BOOST_AUTO_TEST_CASE(CreateMergerDim3Float32Workload) +{ + NeonCreateMergerWorkloadTest<NeonMergerWorkload, armnn::DataType::Float32>({ 2, 3, 2, 10 }, 3); +} + BOOST_AUTO_TEST_SUITE_END() |