From 4a244a74f5460c8cdb676cc02baca7f1282030aa Mon Sep 17 00:00:00 2001 From: "Sevin F. Varoglu" Date: Wed, 3 Aug 2022 14:23:20 +0300 Subject: [PATCH 1/2] Add attrs to FQ2I adaptive_avg_pool1d --- python/tvm/relay/transform/fake_quantization_to_integer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/tvm/relay/transform/fake_quantization_to_integer.py b/python/tvm/relay/transform/fake_quantization_to_integer.py index bb8c6c5ad816..a546c991e1eb 100644 --- a/python/tvm/relay/transform/fake_quantization_to_integer.py +++ b/python/tvm/relay/transform/fake_quantization_to_integer.py @@ -129,7 +129,7 @@ def adaptive_avgpool1d(expr, type_map): arg = expr.args[0] t = type_map[arg] arg = relay.op.cast(arg, "int32") - out = relay.op.nn.adaptive_avg_pool1d(arg) + out = relay.op.nn.adaptive_avg_pool1d(arg, **expr.attrs) out = relay.op.cast(out, t.dtype) return [out, t] From 8ec46fdc0997dfd7bb0d52307d26165d35e9eefd Mon Sep 17 00:00:00 2001 From: "Sevin F. Varoglu" Date: Thu, 4 Aug 2022 15:58:07 +0300 Subject: [PATCH 2/2] Fix failing test and add param --- .../tvm/relay/transform/fake_quantization_to_integer.py | 3 ++- .../relay/test_pass_fake_quantization_to_integer.py | 9 +++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/python/tvm/relay/transform/fake_quantization_to_integer.py b/python/tvm/relay/transform/fake_quantization_to_integer.py index a546c991e1eb..961fb487a8e0 100644 --- a/python/tvm/relay/transform/fake_quantization_to_integer.py +++ b/python/tvm/relay/transform/fake_quantization_to_integer.py @@ -129,7 +129,8 @@ def adaptive_avgpool1d(expr, type_map): arg = expr.args[0] t = type_map[arg] arg = relay.op.cast(arg, "int32") - out = relay.op.nn.adaptive_avg_pool1d(arg, **expr.attrs) + output_size = expr.attrs.output_size + out = relay.op.nn.adaptive_avg_pool1d(arg, output_size) out = relay.op.cast(out, t.dtype) return [out, t] diff --git a/tests/python/relay/test_pass_fake_quantization_to_integer.py b/tests/python/relay/test_pass_fake_quantization_to_integer.py index 09f4fd31d4c4..cdf5fd42a138 100644 --- a/tests/python/relay/test_pass_fake_quantization_to_integer.py +++ b/tests/python/relay/test_pass_fake_quantization_to_integer.py @@ -277,15 +277,16 @@ def test_fake_quantize_maxpool(): compare_fq_to_int(op, [x_np]) -def test_fake_quantize_adaptive_avgpool1d(): - x = relay.var("x", shape=[1, 3, 224, 224], dtype="int8") +@pytest.mark.parametrize("output_size", [None, 1]) +def test_fake_quantize_adaptive_avgpool1d(output_size): + x = relay.var("x", shape=[1, 128, 768], dtype="int8") zero = relay.const(0) x = relay.qnn.op.dequantize(x, relay.const(2.0), zero) - op = relay.op.nn.adaptive_avg_pool1d(x) + op = relay.op.nn.adaptive_avg_pool1d(x, output_size) op = relay.qnn.op.quantize(op, relay.const(2.0), zero) - x_np = np.random.randint(-128, 127, size=[1, 3, 224, 224], dtype="int8") + x_np = np.random.randint(-128, 127, size=[1, 128, 768], dtype="int8") compare_fq_to_int(op, [x_np], True)