Skip to content

Commit 646d3a2

Browse files
authored
[TFLite][Frontend] Support quantized Pow (#15798)
Support POW quantization operation as part of #15148
1 parent 2890899 commit 646d3a2

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

python/tvm/relay/frontend/tflite.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1434,8 +1434,6 @@ def convert_div(self, op):
14341434
def convert_pow(self, op):
14351435
"""Convert TFLite POW"""
14361436
# Check if the input tensor is quantized, call QNN op
1437-
if self.is_quantized(op):
1438-
raise tvm.error.OpNotImplemented("TFlite quantized POW operator is not supported yet.")
14391437
return self._convert_elemwise(_op.power, op)
14401438

14411439
def convert_maximum(self, op):

tests/python/frontend/tflite/test_forward.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2627,9 +2627,16 @@ def _test_div(data, fused_activation_function=None, quantized=False, qnn_op=None
26272627
# -----
26282628

26292629

2630-
def _test_pow(data):
2630+
def _test_pow(data, fused_activation_function=None, quantized=False, qnn_op=None):
26312631
"""One iteration of power"""
2632-
return _test_elemwise(math_ops.pow, data)
2632+
return _test_elemwise(
2633+
math_ops.pow,
2634+
data,
2635+
fused_activation_function,
2636+
quantized,
2637+
qnn_op,
2638+
same_qnn_params=True,
2639+
)
26332640

26342641

26352642
#######################################################################
@@ -2866,6 +2873,7 @@ def _test_elemwise_qnn_out_range(qnn_op):
28662873
_test_less: (-150, 150),
28672874
_test_floor_mod: (-150, 150),
28682875
_test_not_equal: (-150, 150),
2876+
_test_pow: (0, 3),
28692877
_test_less_equal: (-150, 150),
28702878
_test_greater_equal: (-150, 150),
28712879
}
@@ -2894,6 +2902,7 @@ def test_all_elemwise():
28942902
_test_forward_elemwise(partial(_test_div, fused_activation_function="RELU6"))
28952903
_test_forward_elemwise_quantized(_test_div)
28962904
_test_forward_elemwise(_test_pow)
2905+
_test_forward_elemwise_quantized(_test_pow)
28972906
_test_forward_elemwise(_test_maximum)
28982907
_test_forward_elemwise_quantized(_test_maximum)
28992908
_test_forward_elemwise(_test_minimum)

0 commit comments

Comments
 (0)