aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammed Suhail Munshi <MohammedSuhail.Munshi@arm.com>2023-10-12 17:17:42 +0100
committerMohmun02 <MohammedSuhail.Munshi@arm.com>2023-10-26 12:29:35 +0000
commit72b7471955f32d2fccb170ab1ab40c7eecfa7f44 (patch)
tree5afdef5f211f2ff6928e6abefad19458b2bb529d
parent074b985f3855193bb47fb4055abb6b12f09f48d7 (diff)
downloadComputeLibrary-72b7471955f32d2fccb170ab1ab40c7eecfa7f44.tar.gz
Add check to disable dynamic bias with quantized datatypes in Conv2D layer
Resolves: COMPMID-6397 Signed-off-by: Mohammed Suhail Munshi <MohammedSuhail.Munshi@arm.com> Change-Id: Id4404f75dae03fd529db1adac5ab9ca48d08ec46 Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/10498 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Benchmark: Arm Jenkins <bsgcomp@arm.com>
-rw-r--r--src/runtime/NEON/functions/NEConvolutionLayer.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/runtime/NEON/functions/NEConvolutionLayer.cpp b/src/runtime/NEON/functions/NEConvolutionLayer.cpp
index 37958fc2e9..8efebbbb1a 100644
--- a/src/runtime/NEON/functions/NEConvolutionLayer.cpp
+++ b/src/runtime/NEON/functions/NEConvolutionLayer.cpp
@@ -25,6 +25,7 @@
#include "arm_compute/core/PixelValue.h"
#include "arm_compute/core/Utils.h"
+#include "arm_compute/core/utils/DataTypeUtils.h"
#include "arm_compute/core/Validate.h"
#include "arm_compute/runtime/NEON/functions/NEFFTConvolutionLayer.h"
@@ -132,6 +133,13 @@ Status NEConvolutionLayer::validate(const ITensorInfo *input,
ARM_COMPUTE_RETURN_ERROR_ON_MSG(!weights->are_values_constant(), "Dynamic weights are not supported");
+ // Biases with dynamic values are not supported with quantized inputs.
+ if (biases)
+ {
+ ARM_COMPUTE_RETURN_ERROR_ON_MSG((!biases->are_values_constant() && is_data_type_quantized(input->data_type())),
+ "Dynamic Biases are not supported with quantized input data.");
+ }
+
switch (cpu::CpuConv2d::get_convolution_method(input, weights, output, conv_info, weights_info, dilation, act_info,
enable_fast_math))
{