From 0cbb927ac309e332ac6e6f1ab9170f041f0138ab Mon Sep 17 00:00:00 2001 From: Michele Di Giorgio Date: Thu, 1 Mar 2018 16:56:48 +0000 Subject: COMPMID-804: Add NHWC data format support for NEON batch normalisation Change-Id: I04892e7be3f5aa58cd95917a4f90a6b4ffcf6efc Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/122897 Reviewed-by: Giorgio Arena Tested-by: Jenkins Reviewed-by: Anthony Barbier --- .../NEON/kernels/NEBatchNormalizationLayerKernel.h | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'arm_compute/core/NEON/kernels/NEBatchNormalizationLayerKernel.h') diff --git a/arm_compute/core/NEON/kernels/NEBatchNormalizationLayerKernel.h b/arm_compute/core/NEON/kernels/NEBatchNormalizationLayerKernel.h index ae6b8634b3..2d33f87dfa 100644 --- a/arm_compute/core/NEON/kernels/NEBatchNormalizationLayerKernel.h +++ b/arm_compute/core/NEON/kernels/NEBatchNormalizationLayerKernel.h @@ -119,7 +119,15 @@ private: * @param[in] window Region on which to execute the kernel. (Must be a valid region of the window returned by window()). */ template - void batch_normalization_fp16(const Window &window); + void batch_normalization_fp16_nchw(const Window &window); + /** Template function to run batch normalization on fp16 on tensors with NHWC format + * + * @tparam fused_activation Boolean that flags if its a fused activation or not + * + * @param[in] window Region on which to execute the kernel. (Must be a valid region of the window returned by window()). + */ + template + void batch_normalization_fp16_nhwc(const Window &window); /** Template function to run batch normalization on fp32 * * @tparam fused_activation Boolean that flags if its a fused activation or not @@ -128,7 +136,16 @@ private: * @param[in] window Region on which to execute the kernel. (Must be a valid region of the window returned by window()). */ template - void batch_normalization_fp32(const Window &window); + void batch_normalization_fp32_nchw(const Window &window); + /** Template function to run batch normalization on fp32 on tensors with NHWC format + * + * @tparam fused_activation Boolean that flags if its a fused activation or not + * @tparam F Activation function functor to run + * + * @param[in] window Region on which to execute the kernel. (Must be a valid region of the window returned by window()). + */ + template + void batch_normalization_fp32_nhwc(const Window &window); /** Common signature for all the batch normalization functions * * @param[in] window Region on which to execute the kernel. -- cgit v1.2.1