From be88a57579a9a848efe13e6c524b5b104b871733 Mon Sep 17 00:00:00 2001 From: Sadik Armagan Date: Thu, 30 Apr 2020 11:39:37 +0100 Subject: IVGCVSW-4753 Fix CpuAcc Hal 1.3 Softmax Failures * Refactor Neon Softmax workload to accept supported data types Signed-off-by: Sadik Armagan Change-Id: I54aa72d5cbb862cafcc1eabe48f6a00d61050cd7 --- src/backends/neon/test/NeonCreateWorkloadTests.cpp | 29 +++++++++++++++++++--- 1 file changed, 25 insertions(+), 4 deletions(-) (limited to 'src/backends/neon/test/NeonCreateWorkloadTests.cpp') diff --git a/src/backends/neon/test/NeonCreateWorkloadTests.cpp b/src/backends/neon/test/NeonCreateWorkloadTests.cpp index a89602db7f..0af9bf3e0d 100644 --- a/src/backends/neon/test/NeonCreateWorkloadTests.cpp +++ b/src/backends/neon/test/NeonCreateWorkloadTests.cpp @@ -582,20 +582,41 @@ static void NeonCreateSoftmaxWorkloadTest() SoftmaxQueueDescriptor queueDescriptor = workload->GetData(); auto inputHandle = PolymorphicDowncast(queueDescriptor.m_Inputs[0]); auto outputHandle = PolymorphicDowncast(queueDescriptor.m_Outputs[0]); - BOOST_TEST(TestNeonTensorHandleInfo(inputHandle, TensorInfo({4, 1}, DataType))); - BOOST_TEST(TestNeonTensorHandleInfo(outputHandle, TensorInfo({4, 1}, DataType))); + armnn::TensorInfo tensorInfo({4, 1}, DataType); + if (DataType == armnn::DataType::QAsymmU8) + { + tensorInfo.SetQuantizationOffset(0); + tensorInfo.SetQuantizationScale(1.f / 256); + } + else if (DataType == armnn::DataType::QAsymmS8) + { + tensorInfo.SetQuantizationOffset(-128); + tensorInfo.SetQuantizationScale(1.f / 256); + } + BOOST_TEST(TestNeonTensorHandleInfo(inputHandle, tensorInfo)); + BOOST_TEST(TestNeonTensorHandleInfo(outputHandle, tensorInfo)); } #ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC BOOST_AUTO_TEST_CASE(CreateSoftmaxFloat16Workload) { - NeonCreateSoftmaxWorkloadTest(); + NeonCreateSoftmaxWorkloadTest(); } #endif BOOST_AUTO_TEST_CASE(CreateSoftmaxFloatWorkload) { - NeonCreateSoftmaxWorkloadTest(); + NeonCreateSoftmaxWorkloadTest(); +} + +BOOST_AUTO_TEST_CASE(CreateSoftmaxQAsymmU8Workload) +{ + NeonCreateSoftmaxWorkloadTest(); +} + +BOOST_AUTO_TEST_CASE(CreateSoftmaxQAsymmS8Workload) +{ + NeonCreateSoftmaxWorkloadTest(); } template -- cgit v1.2.1