From 9f9755bf0decec0e457cf591a182235000ef2bca Mon Sep 17 00:00:00 2001 From: Tlopex <68688494+tlopex@users.noreply.github.com> Date: Mon, 18 Sep 2023 00:18:16 +0800 Subject: [PATCH 1/3] make not_equal quantized --- python/tvm/relay/frontend/tflite.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/python/tvm/relay/frontend/tflite.py b/python/tvm/relay/frontend/tflite.py index 98920b1e496a..1427d5d6d849 100644 --- a/python/tvm/relay/frontend/tflite.py +++ b/python/tvm/relay/frontend/tflite.py @@ -1500,10 +1500,6 @@ def convert_equal(self, op): def convert_not_equal(self, op): """Convert TFLite NOT_EQUAL""" - if self.is_quantized(op): - raise tvm.error.OpNotImplemented( - "TFlite quantized NOT_EQUAL operator is not supported yet." - ) return self._convert_elemwise(_op.not_equal, op) def _convert_logical_binary(self, relay_op, op): From 046d922ef60568927f780f16d71b27e3ca6bc041 Mon Sep 17 00:00:00 2001 From: Tlopex <68688494+tlopex@users.noreply.github.com> Date: Mon, 18 Sep 2023 00:20:34 +0800 Subject: [PATCH 2/3] add tests to quantized not_equal --- tests/python/frontend/tflite/test_forward.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/tests/python/frontend/tflite/test_forward.py b/tests/python/frontend/tflite/test_forward.py index 1552580ff400..51d66c97e446 100644 --- a/tests/python/frontend/tflite/test_forward.py +++ b/tests/python/frontend/tflite/test_forward.py @@ -2728,9 +2728,17 @@ def _test_equal(data, fused_activation_function=None, quantized=False, qnn_op=No # --------- -def _test_not_equal(data): +def _test_not_equal(data, fused_activation_function=None, quantized=False, qnn_op=None): """One iteration of not_equal""" - return _test_elemwise(math_ops.not_equal, data) + return _test_elemwise( + math_ops.not_equal, + data, + fused_activation_function, + quantized, + qnn_op, + same_qnn_params=True, + comparison_op=True, + ) ####################################################################### @@ -2833,6 +2841,7 @@ def _test_elemwise_qnn_out_range(qnn_op): _test_floor_divide: (-150, 150), _test_less: (-150, 150), _test_floor_mod: (-150, 150), + _test_not_equal: (-150, 150), } return qnn_out_range[qnn_op] @@ -2873,6 +2882,7 @@ def test_all_elemwise(): _test_forward_elemwise(_test_equal) _test_forward_elemwise_quantized(_test_equal) _test_forward_elemwise(_test_not_equal) + _test_forward_elemwise_quantized(_test_not_equal) if package_version.parse(tf.VERSION) >= package_version.parse("1.14.0"): _test_forward_elemwise(_test_floor_divide) _test_forward_elemwise_quantized(_test_floor_divide) From 217a2c11582c7152170dcd76e333952a1cb87c9f Mon Sep 17 00:00:00 2001 From: Tlopex <68688494+tlopex@users.noreply.github.com> Date: Mon, 18 Sep 2023 00:29:15 +0800 Subject: [PATCH 3/3] add quantized not_equal --- python/tvm/relay/frontend/tflite.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/tvm/relay/frontend/tflite.py b/python/tvm/relay/frontend/tflite.py index 1427d5d6d849..eb59f368aa87 100644 --- a/python/tvm/relay/frontend/tflite.py +++ b/python/tvm/relay/frontend/tflite.py @@ -1500,7 +1500,7 @@ def convert_equal(self, op): def convert_not_equal(self, op): """Convert TFLite NOT_EQUAL""" - return self._convert_elemwise(_op.not_equal, op) + return self._convert_elemwise(_op.not_equal, op, self.is_quantized(op), comparison_op=True) def _convert_logical_binary(self, relay_op, op): """Generic method to convert logical binary ops"""