From a1b463f343befac766b6dd886aa4624dc381677a Mon Sep 17 00:00:00 2001 From: FrancisMurtagh Date: Thu, 29 Nov 2018 17:13:36 +0000 Subject: IVGCVSW-2118 L2Normalization ACL function used for Neon * Changed NeonL2Normalisation to use NEL2NormalizeLayer to normalise along the channel axis in either NCHW or NHWC format Change-Id: Ibaf119b6a3de3c0f80f94b1c5fe9a356cf1fbd0e --- .../neon/workloads/NeonL2NormalizationFloatWorkload.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'src/backends/neon/workloads/NeonL2NormalizationFloatWorkload.cpp') diff --git a/src/backends/neon/workloads/NeonL2NormalizationFloatWorkload.cpp b/src/backends/neon/workloads/NeonL2NormalizationFloatWorkload.cpp index df8caefbd2..afaa700624 100644 --- a/src/backends/neon/workloads/NeonL2NormalizationFloatWorkload.cpp +++ b/src/backends/neon/workloads/NeonL2NormalizationFloatWorkload.cpp @@ -17,10 +17,9 @@ arm_compute::Status NeonL2NormalizationWorkloadValidate(const TensorInfo& input, const arm_compute::TensorInfo aclInput = BuildArmComputeTensorInfo(input, descriptor.m_DataLayout); const arm_compute::TensorInfo aclOutput = BuildArmComputeTensorInfo(output, descriptor.m_DataLayout); - arm_compute::NormalizationLayerInfo normalizationInfo = - CreateAclNormalizationLayerInfoForL2Normalization(input, descriptor.m_DataLayout); + unsigned int axis = (descriptor.m_DataLayout == DataLayout::NCHW) ? 2 : 0; - return arm_compute::NENormalizationLayer::validate(&aclInput, &aclOutput, normalizationInfo); + return arm_compute::NEL2NormalizeLayer::validate(&aclInput, &aclOutput, axis); } NeonL2NormalizationFloatWorkload::NeonL2NormalizationFloatWorkload(const L2NormalizationQueueDescriptor& descriptor, @@ -37,10 +36,9 @@ NeonL2NormalizationFloatWorkload::NeonL2NormalizationFloatWorkload(const L2Norma input.info()->set_data_layout(aclDataLayout); output.info()->set_data_layout(aclDataLayout); - m_Layer.configure(&input, - &output, - CreateAclNormalizationLayerInfoForL2Normalization( - info.m_InputTensorInfos[0], m_Data.m_Parameters.m_DataLayout)); + unsigned int axis = (m_Data.m_Parameters.m_DataLayout == DataLayout::NCHW) ? 2 : 0; + + m_Layer.configure(&input, &output, axis); } void NeonL2NormalizationFloatWorkload::Execute() const -- cgit v1.2.1