From 4f1f899da140bb0490cf7e404daeaf1206f4db8b Mon Sep 17 00:00:00 2001 From: James Conroy Date: Wed, 29 Apr 2020 20:01:10 +0100 Subject: IVGCVSW-4449 Add QLstm ref implementation * Adds ref implemenation for new HAL 1.3 operator, QLstm. * Adds Layer and CreateWorkload unit tests. * Adds WorkloadData validate for QLstm. Signed-off-by: James Conroy Change-Id: I8a721f07ff06105e6495a1a0561b9503aa8146dc --- .../reference/test/RefCreateWorkloadTests.cpp | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'src/backends/reference/test/RefCreateWorkloadTests.cpp') diff --git a/src/backends/reference/test/RefCreateWorkloadTests.cpp b/src/backends/reference/test/RefCreateWorkloadTests.cpp index 4a57df7d6a..437366a753 100644 --- a/src/backends/reference/test/RefCreateWorkloadTests.cpp +++ b/src/backends/reference/test/RefCreateWorkloadTests.cpp @@ -1089,4 +1089,33 @@ BOOST_AUTO_TEST_CASE(CreateStackUint16Workload) RefCreateStackWorkloadTest({ 3, 4, 5 }, { 3, 4, 2, 5 }, 2, 2); } +template +static void RefCreateQLstmWorkloadTest() +{ + Graph graph; + RefWorkloadFactory factory; + + auto workload = CreateQLstmWorkloadTest(factory, graph); + + armnn::TensorInfo inputInfo({2 , 4}, armnn::DataType::QAsymmS8, 0.0078125f, 0); + + armnn::TensorInfo cellStateInfo({2 , 4}, armnn::DataType::QSymmS16, 3.05176e-05f, 0); + + armnn::TensorInfo outputInfo({2 , 4}, armnn::DataType::QAsymmS8, 0.007f, 0); + + QLstmQueueDescriptor queueDescriptor = workload->GetData(); + auto inputHandle = boost::polymorphic_downcast(queueDescriptor.m_Inputs[0]); + auto cellStateOutHandle = boost::polymorphic_downcast(queueDescriptor.m_Outputs[1]); + auto outputHandle = boost::polymorphic_downcast(queueDescriptor.m_Outputs[2]); + + BOOST_TEST((inputHandle->GetTensorInfo() == inputInfo)); + BOOST_TEST((cellStateOutHandle->GetTensorInfo() == cellStateInfo)); + BOOST_TEST((outputHandle->GetTensorInfo() == outputInfo)); +} + +BOOST_AUTO_TEST_CASE(CreateQLstmWorkloadTest) +{ + RefCreateQLstmWorkloadTest(); +} + BOOST_AUTO_TEST_SUITE_END() -- cgit v1.2.1