IVGCVSW-3620 Fix Hal 1.2 Softmax test failures on GpuAcc and CpuAcc
The following NeuralNetworkTests tests were failing on GpuAcc and CpuAcc:
GeneratedTests.softmax_v1_2_relaxed
GeneratedTests.softmax_v1_2_quant8
GeneratedTests.softmax_v1_2_2
GeneratedTests.softmax_v1_2_relaxed_2
GeneratedTests.softmax_v1_2_quant8_2
The default value for Softmax axis parameter in Android is -1 but is 1 in ACL.
Detect and handle this in ArmComputeUtils.ComputeSoftmaxAclAxis.
Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: Ibb0660e4cb0dc6bd4c804c4397fbd61f38acdd9c
diff --git a/src/backends/cl/workloads/ClSoftmaxFloatWorkload.cpp b/src/backends/cl/workloads/ClSoftmaxFloatWorkload.cpp
index f2f8d17..adb4872 100644
--- a/src/backends/cl/workloads/ClSoftmaxFloatWorkload.cpp
+++ b/src/backends/cl/workloads/ClSoftmaxFloatWorkload.cpp
@@ -23,7 +23,7 @@
arm_compute::ICLTensor& input = static_cast<ClTensorHandle*>(m_Data.m_Inputs[0])->GetTensor();
arm_compute::ICLTensor& output = static_cast<ClTensorHandle*>(m_Data.m_Outputs[0])->GetTensor();
- unsigned int aclAxis = ComputeSoftmaxAclAxis(info.m_InputTensorInfos[0]);
+ unsigned int aclAxis = ComputeSoftmaxAclAxis(m_Data.m_Parameters, info.m_InputTensorInfos[0]);
m_SoftmaxLayer.configure(&input, &output, m_Data.m_Parameters.m_Beta, aclAxis);
}