diff --git a/python/tvm/relay/frontend/tflite.py b/python/tvm/relay/frontend/tflite.py index 4eaa8280c307..532318b804da 100644 --- a/python/tvm/relay/frontend/tflite.py +++ b/python/tvm/relay/frontend/tflite.py @@ -1434,8 +1434,6 @@ def convert_div(self, op): def convert_pow(self, op): """Convert TFLite POW""" # Check if the input tensor is quantized, call QNN op - if self.is_quantized(op): - raise tvm.error.OpNotImplemented("TFlite quantized POW operator is not supported yet.") return self._convert_elemwise(_op.power, op) def convert_maximum(self, op): diff --git a/tests/python/frontend/tflite/test_forward.py b/tests/python/frontend/tflite/test_forward.py index 4e86633b79da..d9a53fd51719 100644 --- a/tests/python/frontend/tflite/test_forward.py +++ b/tests/python/frontend/tflite/test_forward.py @@ -2627,9 +2627,16 @@ def _test_div(data, fused_activation_function=None, quantized=False, qnn_op=None # ----- -def _test_pow(data): +def _test_pow(data, fused_activation_function=None, quantized=False, qnn_op=None): """One iteration of power""" - return _test_elemwise(math_ops.pow, data) + return _test_elemwise( + math_ops.pow, + data, + fused_activation_function, + quantized, + qnn_op, + same_qnn_params=True, + ) ####################################################################### @@ -2866,6 +2873,7 @@ def _test_elemwise_qnn_out_range(qnn_op): _test_less: (-150, 150), _test_floor_mod: (-150, 150), _test_not_equal: (-150, 150), + _test_pow: (0, 3), _test_less_equal: (-150, 150), _test_greater_equal: (-150, 150), } @@ -2894,6 +2902,7 @@ def test_all_elemwise(): _test_forward_elemwise(partial(_test_div, fused_activation_function="RELU6")) _test_forward_elemwise_quantized(_test_div) _test_forward_elemwise(_test_pow) + _test_forward_elemwise_quantized(_test_pow) _test_forward_elemwise(_test_maximum) _test_forward_elemwise_quantized(_test_maximum) _test_forward_elemwise(_test_minimum)