aboutsummaryrefslogtreecommitdiff
path: root/src/core/NEON/kernels/batchnormalization/impl/NEON/fp16.cpp
diff options
context:
space:
mode:
authorSheri Zhang <sheri.zhang@arm.com>2021-01-04 17:14:23 +0000
committerSheri Zhang <sheri.zhang@arm.com>2021-01-05 10:57:03 +0000
commit97b3f11a1655c05bedaf378f85f94cdccb1536ba (patch)
treef4cc9728700880240ffd7e7b377cb5c13c9fe311 /src/core/NEON/kernels/batchnormalization/impl/NEON/fp16.cpp
parentdff29359f46cccf1239b9ae109a773eadb320594 (diff)
downloadComputeLibrary-97b3f11a1655c05bedaf378f85f94cdccb1536ba.tar.gz
COMPMID-4076: ArmNN unittest failure with memory access voilation in FuseReLUIntoBatchNormFloat32CpuAccTest
1. Fix fusable and non-fusable configuration issue 2. Fix FP16 issue Signed-off-by: Sheri Zhang <sheri.zhang@arm.com> Change-Id: I6d0eacca7ac437f236ad403ddb283c10c8f419a6 Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4761 Reviewed-by: Pablo Marquez Tello <pablo.tello@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/core/NEON/kernels/batchnormalization/impl/NEON/fp16.cpp')
-rw-r--r--src/core/NEON/kernels/batchnormalization/impl/NEON/fp16.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/core/NEON/kernels/batchnormalization/impl/NEON/fp16.cpp b/src/core/NEON/kernels/batchnormalization/impl/NEON/fp16.cpp
index dfadef34f7..fd17b98f7b 100644
--- a/src/core/NEON/kernels/batchnormalization/impl/NEON/fp16.cpp
+++ b/src/core/NEON/kernels/batchnormalization/impl/NEON/fp16.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020 Arm Limited.
+ * Copyright (c) 2020-2021 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -138,7 +138,14 @@ namespace cpu
void fp16_neon_batch_normalization(ITensor *src, ITensor *dst, const ITensor *mean, const ITensor *var, const ITensor *beta, const ITensor *gamma,
float epsilon, ActivationLayerInfo &act_info, const Window &window)
{
- fused_map[act_info.activation()](src, dst, mean, var, beta, gamma, epsilon, act_info, window);
+ if(act_info.enabled())
+ {
+ fused_map[act_info.activation()](src, dst, mean, var, beta, gamma, epsilon, act_info, window);
+ }
+ else
+ {
+ batch_normalization<detail::dummy<float16_t, 8>>(src, dst, mean, var, beta, gamma, epsilon, act_info, window);
+ }
}
} // namespace cpu
} // namespace arm_compute