diff options
author | Matthew Jackson <matthew.jackson@arm.com> | 2019-07-11 12:07:09 +0100 |
---|---|---|
committer | Áron Virginás-Tar <aron.virginas-tar@arm.com> | 2019-07-17 14:31:02 +0000 |
commit | 81e601c5a5ebf3de3dd6418942708158de50252a (patch) | |
tree | 48307f6d49639d7bc9bfa2db96a2de33d1095861 /src/backends/reference/test/RefCreateWorkloadTests.cpp | |
parent | 01bfd1781a18508577b9135408465ee76f346ae5 (diff) | |
download | armnn-81e601c5a5ebf3de3dd6418942708158de50252a.tar.gz |
IVGCVSW-3419 Add reference workload support for the new Stack layer
* Added reference workload for the Stack layer
* Added factory methods
* Added validation support
* Added unit tests
Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: Ib14b72c15f53a2a2ca152afc357ce2aa405ccc88
Diffstat (limited to 'src/backends/reference/test/RefCreateWorkloadTests.cpp')
-rw-r--r-- | src/backends/reference/test/RefCreateWorkloadTests.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/backends/reference/test/RefCreateWorkloadTests.cpp b/src/backends/reference/test/RefCreateWorkloadTests.cpp index 2fa6cbfd5d..f7999d0ffe 100644 --- a/src/backends/reference/test/RefCreateWorkloadTests.cpp +++ b/src/backends/reference/test/RefCreateWorkloadTests.cpp @@ -990,4 +990,41 @@ BOOST_AUTO_TEST_CASE(CreateSpaceToDepthWorkloadQSymm16) RefCreateSpaceToDepthWorkloadTest<RefSpaceToDepthWorkload, armnn::DataType::QuantisedSymm16>(); } +static void RefCreateStackWorkloadTest(const armnn::TensorShape& inputShape, + const armnn::TensorShape& outputShape, + unsigned int axis, + unsigned int numInputs, + armnn::DataType dataType) +{ + armnn::Graph graph; + RefWorkloadFactory factory; + auto workload = CreateStackWorkloadTest<RefStackWorkload>(factory, + graph, + inputShape, + outputShape, + axis, + numInputs, + dataType); + + // Check output is as expected + auto queueDescriptor = workload->GetData(); + auto outputHandle = boost::polymorphic_downcast<RefTensorHandle*>(queueDescriptor.m_Outputs[0]); + BOOST_TEST((outputHandle->GetTensorInfo() == TensorInfo(outputShape, dataType))); +} + +BOOST_AUTO_TEST_CASE(CreateStackFloat32Workload) +{ + RefCreateStackWorkloadTest({ 3, 4, 5 }, { 3, 4, 2, 5 }, 2, 2, armnn::DataType::Float32); +} + +BOOST_AUTO_TEST_CASE(CreateStackUint8Workload) +{ + RefCreateStackWorkloadTest({ 3, 4, 5 }, { 3, 4, 2, 5 }, 2, 2, armnn::DataType::QuantisedAsymm8); +} + +BOOST_AUTO_TEST_CASE(CreateStackUint16Workload) +{ + RefCreateStackWorkloadTest({ 3, 4, 5 }, { 3, 4, 2, 5 }, 2, 2, armnn::DataType::QuantisedSymm16); +} + BOOST_AUTO_TEST_SUITE_END() |