From 56a155f7a26103f6087f87db37549383cca26ab5 Mon Sep 17 00:00:00 2001 From: ConvolutedDog Date: Sat, 12 Jul 2025 19:07:04 +0800 Subject: [PATCH 1/2] Fix onnx cumsum --- python/tvm/relax/frontend/onnx/onnx_frontend.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/python/tvm/relax/frontend/onnx/onnx_frontend.py b/python/tvm/relax/frontend/onnx/onnx_frontend.py index f3a5e9098de8..e3f6026fd6d1 100644 --- a/python/tvm/relax/frontend/onnx/onnx_frontend.py +++ b/python/tvm/relax/frontend/onnx/onnx_frontend.py @@ -1338,9 +1338,16 @@ def _impl_v14(cls, bb, inputs, attr, params): axis = int(axis.data.numpy()) elif isinstance(axis, relax.Var): axis = 0 + + if attr.get("reverse", 0) != 0: + data = bb.emit_te(topi.flip, data, axis=axis if axis else 0) + data = relax.op.cumsum(data, axis) + data = bb.normalize(data) + if attr.get("reverse", 0) != 0: data = bb.emit_te(topi.flip, data, axis=axis if axis else 0) + return data From 89343e04f9dbe052ad03bd05978d063a878636ef Mon Sep 17 00:00:00 2001 From: ConvolutedDog Date: Sat, 12 Jul 2025 19:08:22 +0800 Subject: [PATCH 2/2] Fix onnx cumsum --- tests/python/relax/test_frontend_onnx.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/python/relax/test_frontend_onnx.py b/tests/python/relax/test_frontend_onnx.py index 0d532e07fc33..ece99d78f264 100644 --- a/tests/python/relax/test_frontend_onnx.py +++ b/tests/python/relax/test_frontend_onnx.py @@ -1099,7 +1099,7 @@ def test_pow(): verify_binary("Pow", [32, 32], [32, 32], [32, 32]) -@pytest.mark.parametrize("reverse", [False]) +@pytest.mark.parametrize("reverse", [True, False]) @pytest.mark.parametrize("exclusive", [False]) def test_cumsum(reverse, exclusive): cumsum_node = helper.make_node(