From b5ec83c53f4a2183d3b366459880cc6cb415b7a4 Mon Sep 17 00:00:00 2001 From: Megvii Engine Team Date: Mon, 21 Dec 2020 15:36:26 +0800 Subject: [PATCH] test(mge/autodiff): validate grad is set to None when no dependency GitOrigin-RevId: 01ad51a2227999f932e803a755a81de62360f0a7 --- .../python/test/unit/autodiff/test_grad_manger.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/imperative/python/test/unit/autodiff/test_grad_manger.py b/imperative/python/test/unit/autodiff/test_grad_manger.py index dd11f3ad..e538a16f 100644 --- a/imperative/python/test/unit/autodiff/test_grad_manger.py +++ b/imperative/python/test/unit/autodiff/test_grad_manger.py @@ -92,6 +92,24 @@ def test_attach_temporary(): # gm.backward(y) +def test_no_dependency(): + x = mge.tensor(3) + + w = mge.Parameter(1.0) + w_no_dep = mge.Parameter(1.0) + gm = GradManager() + gm.attach(w) + gm.attach(w_no_dep) + + with gm: + out1 = x * w + out2 = w_no_dep * out1 + gm.backward(out1.sum()) + + assert w.grad is not None + assert w_no_dep.grad is None + + @pytest.mark.skipif( platform.system() == "Darwin", reason="do not imp GPU mode at macos now" )