aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAron Virginas-Tar <Aron.Virginas-Tar@arm.com>2019-11-07 15:19:52 +0000
committerKeith Davis Arm <keith.davis@arm.com>2019-11-11 15:20:58 +0000
commit07f25e009cc425183e268eaf3e5c02111214baaa (patch)
tree77ec7beaefb4e78c7ed1cb61e6f8f5943ee247dc
parent3fec1ea7e35420ef87de8a98aed0437570251969 (diff)
downloadarmnn-07f25e009cc425183e268eaf3e5c02111214baaa.tar.gz
IVGCVSW-4104 Report Conv2d per-axis quantization unsupported on ACL backends
* Teporarily return false from IsConvolution2dSupported() whenever the weights tensor has per-axis quantization in order to avoid exceptions being thrown from ACL during attempted execution * Should be reverted once per-axis quantization support will have been added to the ACL backends Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Ie2e1a7f3f5550a4b43f7f007ee5c86a8760872eb
-rw-r--r--src/backends/cl/ClLayerSupport.cpp5
-rw-r--r--src/backends/neon/NeonLayerSupport.cpp5
2 files changed, 10 insertions, 0 deletions
diff --git a/src/backends/cl/ClLayerSupport.cpp b/src/backends/cl/ClLayerSupport.cpp
index de9d1c5bcb..6dcda96100 100644
--- a/src/backends/cl/ClLayerSupport.cpp
+++ b/src/backends/cl/ClLayerSupport.cpp
@@ -305,6 +305,11 @@ bool ClLayerSupport::IsConvolution2dSupported(const TensorInfo& input,
const Optional<TensorInfo>& biases,
Optional<std::string&> reasonIfUnsupported) const
{
+ if (weights.HasPerAxisQuantization())
+ {
+ return false;
+ }
+
FORWARD_WORKLOAD_VALIDATE_FUNC(ClConvolution2dWorkloadValidate,
reasonIfUnsupported,
input,
diff --git a/src/backends/neon/NeonLayerSupport.cpp b/src/backends/neon/NeonLayerSupport.cpp
index bc912ff9df..9ba3e6af41 100644
--- a/src/backends/neon/NeonLayerSupport.cpp
+++ b/src/backends/neon/NeonLayerSupport.cpp
@@ -273,6 +273,11 @@ bool NeonLayerSupport::IsConvolution2dSupported(const TensorInfo& input,
const Optional<TensorInfo>& biases,
Optional<std::string&> reasonIfUnsupported) const
{
+ if (weights.HasPerAxisQuantization())
+ {
+ return false;
+ }
+
FORWARD_WORKLOAD_VALIDATE_FUNC(NeonConvolution2dWorkloadValidate,
reasonIfUnsupported,
input,