From 182c64e50654ab5f15ba6ae92cb31a08c625cad6 Mon Sep 17 00:00:00 2001 From: Sergey Shtin Date: Mon, 27 Jun 2022 09:20:00 +0300 Subject: [PATCH 1/2] Concatenation corner case fix. --- python/tvm/topi/x86/concat.py | 1 - tests/python/relay/test_op_level1.py | 12 ++++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/python/tvm/topi/x86/concat.py b/python/tvm/topi/x86/concat.py index 28f650bca95f..435dd1636ccd 100644 --- a/python/tvm/topi/x86/concat.py +++ b/python/tvm/topi/x86/concat.py @@ -83,7 +83,6 @@ def gen_ir(data_bufs, out_buf, inner, outer): if ( len(data[0].shape) == 1 - or right_val == 1 or (left_val == 1 and axis == len(data[0].shape) - 1) or (left_val == 1 and right_val == 1) ): diff --git a/tests/python/relay/test_op_level1.py b/tests/python/relay/test_op_level1.py index f4afc9e90562..69156e744965 100644 --- a/tests/python/relay/test_op_level1.py +++ b/tests/python/relay/test_op_level1.py @@ -527,6 +527,18 @@ def test_concatenate3(target, dev): t_shape = [3, 2, 2, ending] do_concat_test(shapes, t_shape, dtype, axis, dev, target) +@tvm.testing.parametrize_targets("llvm") +def test_concatenate4(target, dev): + np.random.seed(7) + x_shape = (2, 1) + x = relay.var("x", shape=x_shape, dtype='int64') + concat = relay.concatenate([x], axis=1) + f = relay.Function([x], concat) + x_val = np.array([[33], [13]], dtype='int64') + op_res = relay.create_executor('graph', device=tvm.cpu(), target='llvm').evaluate(f)(x_val) + ref_res = np.concatenate([x_val], axis=1) + tvm.testing.assert_allclose(op_res.numpy(), ref_res, rtol=0.000001) + def test_batch_norm_fold_const(): axis = 1 From b0e048d1cdb49550a5386ecfc0c4000f509d66fd Mon Sep 17 00:00:00 2001 From: Sergey Shtin Date: Tue, 28 Jun 2022 08:31:04 +0300 Subject: [PATCH 2/2] lint fixes. --- tests/python/relay/test_op_level1.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tests/python/relay/test_op_level1.py b/tests/python/relay/test_op_level1.py index 69156e744965..44df40d3b0bd 100644 --- a/tests/python/relay/test_op_level1.py +++ b/tests/python/relay/test_op_level1.py @@ -527,15 +527,17 @@ def test_concatenate3(target, dev): t_shape = [3, 2, 2, ending] do_concat_test(shapes, t_shape, dtype, axis, dev, target) + @tvm.testing.parametrize_targets("llvm") def test_concatenate4(target, dev): np.random.seed(7) x_shape = (2, 1) - x = relay.var("x", shape=x_shape, dtype='int64') + x = relay.var("x", shape=x_shape, dtype="int64") concat = relay.concatenate([x], axis=1) f = relay.Function([x], concat) - x_val = np.array([[33], [13]], dtype='int64') - op_res = relay.create_executor('graph', device=tvm.cpu(), target='llvm').evaluate(f)(x_val) + x_val = np.array([[33], [13]], dtype="int64") + graph = relay.create_executor("graph", device=tvm.cpu(), target="llvm") + op_res = graph.evaluate(f)(x_val) ref_res = np.concatenate([x_val], axis=1) tvm.testing.assert_allclose(op_res.numpy(), ref_res, rtol=0.000001)