IVGCVSW-4104 Report Conv2d per-axis quantization unsupported on ACL backends
authorAron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Thu, 7 Nov 2019 15:19:52 +0000 (15:19 +0000)
committerKeith Davis Arm <keith.davis@arm.com>
Mon, 11 Nov 2019 15:20:58 +0000 (15:20 +0000)
* 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

src/backends/cl/ClLayerSupport.cpp
src/backends/neon/NeonLayerSupport.cpp

index de9d1c5..6dcda96 100644 (file)
@@ -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,
index bc912ff..9ba3e6a 100644 (file)
@@ -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,