MLBEDSW-2679: Tensor quant comparison is incorrect
- Fixed bug with the supported operator check rejecting operators based
upon an incorrect comparison of the tensor quantisations
Signed-off-by: Tim Hall <tim.hall@arm.com>
Change-Id: Ibd0eb50077465d2c515c6ee10394d9b43cdf730c
diff --git a/ethosu/vela/tensor.py b/ethosu/vela/tensor.py
index 66bed59..5fdea97 100644
--- a/ethosu/vela/tensor.py
+++ b/ethosu/vela/tensor.py
@@ -184,19 +184,6 @@
__repr__ = __str__
- def __eq__(self, other):
- if other is None:
- return False
- if not isinstance(other, QuantizationParameters):
- return False
-
- pairs = ((getattr(self, s), getattr(other, s)) for s in QuantizationParameters.__slots__)
-
- return all(np.array_equal(a, b) for a, b in pairs)
-
- def __ne__(self, other):
- return not self == other
-
def clone(self):
res = QuantizationParameters()
res.min = self.min
@@ -232,6 +219,12 @@
return res
+ def is_scaling_equal(self, other):
+ if other is None or not isinstance(other, QuantizationParameters):
+ return False
+
+ return self.scale_f32 == other.scale_f32 and self.zero_point == other.zero_point
+
def create_const_tensor(name, shape, dtype, values, value_dtype=None, purpose=TensorPurpose.Unknown, quantization=None):
# Tensor