From e150dedc70f0e076393a419141a5465280286a50 Mon Sep 17 00:00:00 2001 From: chenfei Date: Mon, 19 Apr 2021 16:11:46 +0800 Subject: [PATCH] check result of test case --- .../st/control/inner/test_011_if_in_while.py | 20 ++++++++--- tests/st/control/inner/test_012_if_in_for.py | 20 ++++++++--- .../st/control/inner/test_020_while_in_if.py | 20 ++++++++--- .../control/inner/test_101_if_after_while.py | 20 ++++++++--- .../inner/test_111_if_after_if_in_while.py | 20 ++++++++--- .../inner/test_120_if_after_while_in_if.py | 20 ++++++++--- .../inner/test_121_if_after_while_in_while.py | 20 ++++++++--- .../inner/test_122_if_after_while_in_for.py | 26 +++++++++----- .../control/inner/test_200_while_after_if.py | 20 ++++++++--- .../inner/test_210_while_after_if_in_if.py | 20 ++++++++--- .../inner/test_211_while_after_if_in_while.py | 20 ++++++++--- .../inner/test_212_while_after_if_in_for.py | 34 +++++++++++++------ .../inner/test_220_while_after_while_in_if.py | 20 ++++++++--- .../inner/test_230_while_after_for_in_if.py | 20 ++++++++--- 14 files changed, 221 insertions(+), 79 deletions(-) diff --git a/tests/st/control/inner/test_011_if_in_while.py b/tests/st/control/inner/test_011_if_in_while.py index 8f02d3d0d5..71e191519b 100644 --- a/tests/st/control/inner/test_011_if_in_while.py +++ b/tests/st/control/inner/test_011_if_in_while.py @@ -43,7 +43,7 @@ class BackwardNet(nn.Cell): def __init__(self, net): super(BackwardNet, self).__init__(auto_prefix=False) self.forward_net = net - self.grad = C.GradOperation() + self.grad = C.GradOperation(get_all=True) def construct(self, *inputs): grads = self.grad(self.forward_net)(*inputs) @@ -54,8 +54,13 @@ def test_forward(): x = Tensor(np.array(1), mstype.int32) y = Tensor(np.array(3), mstype.int32) forward_net = ForwardNet(max_cycles=10) - out = forward_net(x, y) - print("forward out:", out) + # Graph Mode + context.set_context(mode=context.GRAPH_MODE) + graph_mode_out = forward_net(x, y) + # Pynative Mode + context.set_context(mode=context.PYNATIVE_MODE) + pynative_mode_out = forward_net(x, y) + assert graph_mode_out == pynative_mode_out def test_backward(): @@ -63,5 +68,10 @@ def test_backward(): y = Tensor(np.array(3), mstype.int32) forward_net = ForwardNet(max_cycles=10) backward_net = BackwardNet(forward_net) - grads = backward_net(x, y) - print("grads:", grads) + # Graph Mode + context.set_context(mode=context.GRAPH_MODE) + graph_mode_grads = backward_net(x, y) + # Pynative Mode + context.set_context(mode=context.PYNATIVE_MODE) + pynative_mode_grads = backward_net(x, y) + assert graph_mode_grads == pynative_mode_grads diff --git a/tests/st/control/inner/test_012_if_in_for.py b/tests/st/control/inner/test_012_if_in_for.py index 64811cbb1b..05e7bf862e 100644 --- a/tests/st/control/inner/test_012_if_in_for.py +++ b/tests/st/control/inner/test_012_if_in_for.py @@ -40,7 +40,7 @@ class BackwardNet(nn.Cell): def __init__(self, net): super(BackwardNet, self).__init__(auto_prefix=False) self.forward_net = net - self.grad = C.GradOperation() + self.grad = C.GradOperation(get_all=True) def construct(self, *inputs): grads = self.grad(self.forward_net)(*inputs) @@ -51,8 +51,13 @@ def test_forward(): x = Tensor(np.array(1), mstype.int32) y = Tensor(np.array(3), mstype.int32) forward_net = ForwardNet(max_cycles=3) - out = forward_net(x, y) - print("forward out:", out) + # Graph Mode + context.set_context(mode=context.GRAPH_MODE) + graph_mode_out = forward_net(x, y) + # Pynative Mode + context.set_context(mode=context.PYNATIVE_MODE) + pynative_mode_out = forward_net(x, y) + assert graph_mode_out == pynative_mode_out def test_backward(): @@ -60,5 +65,10 @@ def test_backward(): y = Tensor(np.array(3), mstype.int32) forward_net = ForwardNet(max_cycles=3) backward_net = BackwardNet(forward_net) - grads = backward_net(x, y) - print("grads:", grads) + # Graph Mode + context.set_context(mode=context.GRAPH_MODE) + graph_mode_grads = backward_net(x, y) + # Pynative Mode + context.set_context(mode=context.PYNATIVE_MODE) + pynative_mode_grads = backward_net(x, y) + assert graph_mode_grads == pynative_mode_grads diff --git a/tests/st/control/inner/test_020_while_in_if.py b/tests/st/control/inner/test_020_while_in_if.py index ece9a39016..fe2e63327b 100644 --- a/tests/st/control/inner/test_020_while_in_if.py +++ b/tests/st/control/inner/test_020_while_in_if.py @@ -44,7 +44,7 @@ class BackwardNet(nn.Cell): def __init__(self, net): super(BackwardNet, self).__init__(auto_prefix=False) self.forward_net = net - self.grad = C.GradOperation() + self.grad = C.GradOperation(get_all=True) def construct(self, *inputs): grads = self.grad(self.forward_net)(*inputs) @@ -55,8 +55,13 @@ def test_forward(): x = Tensor(np.array(1), mstype.int32) y = Tensor(np.array(3), mstype.int32) forward_net = ForwardNet(max_cycles=3) - out = forward_net(x, y) - print("forward out:", out) + # Graph Mode + context.set_context(mode=context.GRAPH_MODE) + graph_mode_out = forward_net(x, y) + # Pynative Mode + context.set_context(mode=context.PYNATIVE_MODE) + pynative_mode_out = forward_net(x, y) + assert graph_mode_out == pynative_mode_out def test_backward(): @@ -64,5 +69,10 @@ def test_backward(): y = Tensor(np.array(3), mstype.int32) forward_net = ForwardNet(max_cycles=3) backward_net = BackwardNet(forward_net) - grads = backward_net(x, y) - print("grads:", grads) + # Graph Mode + context.set_context(mode=context.GRAPH_MODE) + graph_mode_grads = backward_net(x, y) + # Pynative Mode + context.set_context(mode=context.PYNATIVE_MODE) + pynative_mode_grads = backward_net(x, y) + assert graph_mode_grads == pynative_mode_grads diff --git a/tests/st/control/inner/test_101_if_after_while.py b/tests/st/control/inner/test_101_if_after_while.py index d96e05bdab..3d88623f13 100644 --- a/tests/st/control/inner/test_101_if_after_while.py +++ b/tests/st/control/inner/test_101_if_after_while.py @@ -44,7 +44,7 @@ class BackwardNet(nn.Cell): def __init__(self, net): super(BackwardNet, self).__init__(auto_prefix=False) self.forward_net = net - self.grad = C.GradOperation() + self.grad = C.GradOperation(get_all=True) def construct(self, *inputs): grads = self.grad(self.forward_net)(*inputs) @@ -55,8 +55,13 @@ def test_forward(): x = Tensor(np.array(1), mstype.int32) y = Tensor(np.array(3), mstype.int32) forward_net = ForwardNet(max_cycles=10) - out = forward_net(x, y) - print("forward out:", out) + # Graph Mode + context.set_context(mode=context.GRAPH_MODE) + graph_mode_out = forward_net(x, y) + # Pynative Mode + context.set_context(mode=context.PYNATIVE_MODE) + pynative_mode_out = forward_net(x, y) + assert graph_mode_out == pynative_mode_out def test_backward(): @@ -64,5 +69,10 @@ def test_backward(): y = Tensor(np.array(3), mstype.int32) forward_net = ForwardNet(max_cycles=10) backward_net = BackwardNet(forward_net) - grads = backward_net(x, y) - print("grads:", grads) + # Graph Mode + context.set_context(mode=context.GRAPH_MODE) + graph_mode_grads = backward_net(x, y) + # Pynative Mode + context.set_context(mode=context.PYNATIVE_MODE) + pynative_mode_grads = backward_net(x, y) + assert graph_mode_grads == pynative_mode_grads diff --git a/tests/st/control/inner/test_111_if_after_if_in_while.py b/tests/st/control/inner/test_111_if_after_if_in_while.py index c0ceb5a856..ac18e97e41 100644 --- a/tests/st/control/inner/test_111_if_after_if_in_while.py +++ b/tests/st/control/inner/test_111_if_after_if_in_while.py @@ -45,7 +45,7 @@ class BackwardNet(nn.Cell): def __init__(self, net): super(BackwardNet, self).__init__(auto_prefix=False) self.forward_net = net - self.grad = C.GradOperation() + self.grad = C.GradOperation(get_all=True) def construct(self, *inputs): grads = self.grad(self.forward_net)(*inputs) @@ -56,8 +56,13 @@ def test_forward(): x = Tensor(np.array(1), mstype.int32) y = Tensor(np.array(3), mstype.int32) forward_net = ForwardNet(max_cycles=10) - out = forward_net(x, y) - print("forward out:", out) + # Graph Mode + context.set_context(mode=context.GRAPH_MODE) + graph_mode_out = forward_net(x, y) + # Pynative Mode + context.set_context(mode=context.PYNATIVE_MODE) + pynative_mode_out = forward_net(x, y) + assert graph_mode_out == pynative_mode_out def test_backward(): @@ -65,5 +70,10 @@ def test_backward(): y = Tensor(np.array(3), mstype.int32) forward_net = ForwardNet(max_cycles=10) backward_net = BackwardNet(forward_net) - grads = backward_net(x, y) - print("grads:", grads) + # Graph Mode + context.set_context(mode=context.GRAPH_MODE) + graph_mode_grads = backward_net(x, y) + # Pynative Mode + context.set_context(mode=context.PYNATIVE_MODE) + pynative_mode_grads = backward_net(x, y) + assert graph_mode_grads == pynative_mode_grads diff --git a/tests/st/control/inner/test_120_if_after_while_in_if.py b/tests/st/control/inner/test_120_if_after_while_in_if.py index 035a0bbe7e..ff9eb53df1 100644 --- a/tests/st/control/inner/test_120_if_after_while_in_if.py +++ b/tests/st/control/inner/test_120_if_after_while_in_if.py @@ -46,7 +46,7 @@ class BackwardNet(nn.Cell): def __init__(self, net): super(BackwardNet, self).__init__(auto_prefix=False) self.forward_net = net - self.grad = C.GradOperation() + self.grad = C.GradOperation(get_all=True) def construct(self, *inputs): grads = self.grad(self.forward_net)(*inputs) @@ -57,8 +57,13 @@ def test_forward(): x = Tensor(np.array(1), mstype.int32) y = Tensor(np.array(3), mstype.int32) forward_net = ForwardNet(max_cycles=3) - out = forward_net(x, y) - print("forward out:", out) + # Graph Mode + context.set_context(mode=context.GRAPH_MODE) + graph_mode_out = forward_net(x, y) + # Pynative Mode + context.set_context(mode=context.PYNATIVE_MODE) + pynative_mode_out = forward_net(x, y) + assert graph_mode_out == pynative_mode_out def test_backward(): @@ -66,5 +71,10 @@ def test_backward(): y = Tensor(np.array(3), mstype.int32) forward_net = ForwardNet(max_cycles=3) backward_net = BackwardNet(forward_net) - grads = backward_net(x, y) - print("grads:", grads) + # Graph Mode + context.set_context(mode=context.GRAPH_MODE) + graph_mode_grads = backward_net(x, y) + # Pynative Mode + context.set_context(mode=context.PYNATIVE_MODE) + pynative_mode_grads = backward_net(x, y) + assert graph_mode_grads == pynative_mode_grads diff --git a/tests/st/control/inner/test_121_if_after_while_in_while.py b/tests/st/control/inner/test_121_if_after_while_in_while.py index 41c0e75256..17628f3004 100644 --- a/tests/st/control/inner/test_121_if_after_while_in_while.py +++ b/tests/st/control/inner/test_121_if_after_while_in_while.py @@ -47,7 +47,7 @@ class BackwardNet(nn.Cell): def __init__(self, net): super(BackwardNet, self).__init__(auto_prefix=False) self.forward_net = net - self.grad = C.GradOperation() + self.grad = C.GradOperation(get_all=True) def construct(self, *inputs): grads = self.grad(self.forward_net)(*inputs) @@ -58,8 +58,13 @@ def test_forward(): x = Tensor(np.array(1), mstype.int32) y = Tensor(np.array(3), mstype.int32) forward_net = ForwardNet(max_cycles=3) - out = forward_net(x, y) - print("forward out:", out) + # Graph Mode + context.set_context(mode=context.GRAPH_MODE) + graph_mode_out = forward_net(x, y) + # Pynative Mode + context.set_context(mode=context.PYNATIVE_MODE) + pynative_mode_out = forward_net(x, y) + assert graph_mode_out == pynative_mode_out def test_backward(): @@ -67,5 +72,10 @@ def test_backward(): y = Tensor(np.array(3), mstype.int32) forward_net = ForwardNet(max_cycles=3) backward_net = BackwardNet(forward_net) - grads = backward_net(x, y) - print("grads:", grads) + # Graph Mode + context.set_context(mode=context.GRAPH_MODE) + graph_mode_grads = backward_net(x, y) + # Pynative Mode + context.set_context(mode=context.PYNATIVE_MODE) + pynative_mode_grads = backward_net(x, y) + assert graph_mode_grads == pynative_mode_grads diff --git a/tests/st/control/inner/test_122_if_after_while_in_for.py b/tests/st/control/inner/test_122_if_after_while_in_for.py index a30d96873a..18b61423b5 100644 --- a/tests/st/control/inner/test_122_if_after_while_in_for.py +++ b/tests/st/control/inner/test_122_if_after_while_in_for.py @@ -31,10 +31,10 @@ class ForwardNet(nn.Cell): def construct(self, x, y): out = self.zero - while x < y: - for _ in range(0, self.max_cycles): + for _ in range(0, self.max_cycles): + while x < y: out = x * y + out - x = x + 1 + x = x + 1 if out > 20: out = out - 20 return out @@ -44,7 +44,7 @@ class BackwardNet(nn.Cell): def __init__(self, net): super(BackwardNet, self).__init__(auto_prefix=False) self.forward_net = net - self.grad = C.GradOperation() + self.grad = C.GradOperation(get_all=True) def construct(self, *inputs): grads = self.grad(self.forward_net)(*inputs) @@ -55,8 +55,13 @@ def test_forward(): x = Tensor(np.array(1), mstype.int32) y = Tensor(np.array(3), mstype.int32) forward_net = ForwardNet(max_cycles=3) - out = forward_net(x, y) - print("forward out:", out) + # Graph Mode + context.set_context(mode=context.GRAPH_MODE) + graph_mode_out = forward_net(x, y) + # Pynative Mode + context.set_context(mode=context.PYNATIVE_MODE) + pynative_mode_out = forward_net(x, y) + assert graph_mode_out == pynative_mode_out def test_backward(): @@ -64,5 +69,10 @@ def test_backward(): y = Tensor(np.array(3), mstype.int32) forward_net = ForwardNet(max_cycles=3) backward_net = BackwardNet(forward_net) - grads = backward_net(x, y) - print("grads:", grads) + # Graph Mode + context.set_context(mode=context.GRAPH_MODE) + graph_mode_grads = backward_net(x, y) + # Pynative Mode + context.set_context(mode=context.PYNATIVE_MODE) + pynative_mode_grads = backward_net(x, y) + assert graph_mode_grads == pynative_mode_grads diff --git a/tests/st/control/inner/test_200_while_after_if.py b/tests/st/control/inner/test_200_while_after_if.py index 166a87b0bb..9cd5ec7cd1 100644 --- a/tests/st/control/inner/test_200_while_after_if.py +++ b/tests/st/control/inner/test_200_while_after_if.py @@ -44,7 +44,7 @@ class BackwardNet(nn.Cell): def __init__(self, net): super(BackwardNet, self).__init__(auto_prefix=False) self.forward_net = net - self.grad = C.GradOperation() + self.grad = C.GradOperation(get_all=True) def construct(self, *inputs): grads = self.grad(self.forward_net)(*inputs) @@ -55,8 +55,13 @@ def test_forward(): x = Tensor(np.array(1), mstype.int32) y = Tensor(np.array(3), mstype.int32) forward_net = ForwardNet(max_cycles=10) - out = forward_net(x, y) - print("forward out:", out) + # Graph Mode + context.set_context(mode=context.GRAPH_MODE) + graph_mode_out = forward_net(x, y) + # Pynative Mode + context.set_context(mode=context.PYNATIVE_MODE) + pynative_mode_out = forward_net(x, y) + assert graph_mode_out == pynative_mode_out def test_backward(): @@ -64,5 +69,10 @@ def test_backward(): y = Tensor(np.array(3), mstype.int32) forward_net = ForwardNet(max_cycles=10) backward_net = BackwardNet(forward_net) - grads = backward_net(x, y) - print("grads:", grads) + # Graph Mode + context.set_context(mode=context.GRAPH_MODE) + graph_mode_grads = backward_net(x, y) + # Pynative Mode + context.set_context(mode=context.PYNATIVE_MODE) + pynative_mode_grads = backward_net(x, y) + assert graph_mode_grads == pynative_mode_grads diff --git a/tests/st/control/inner/test_210_while_after_if_in_if.py b/tests/st/control/inner/test_210_while_after_if_in_if.py index f5e30856ca..307bde991c 100644 --- a/tests/st/control/inner/test_210_while_after_if_in_if.py +++ b/tests/st/control/inner/test_210_while_after_if_in_if.py @@ -45,7 +45,7 @@ class BackwardNet(nn.Cell): def __init__(self, net): super(BackwardNet, self).__init__(auto_prefix=False) self.forward_net = net - self.grad = C.GradOperation() + self.grad = C.GradOperation(get_all=True) def construct(self, *inputs): grads = self.grad(self.forward_net)(*inputs) @@ -56,8 +56,13 @@ def test_forward(): x = Tensor(np.array(1), mstype.int32) y = Tensor(np.array(3), mstype.int32) forward_net = ForwardNet(max_cycles=10) - out = forward_net(x, y) - print("forward out:", out) + # Graph Mode + context.set_context(mode=context.GRAPH_MODE) + graph_mode_out = forward_net(x, y) + # Pynative Mode + context.set_context(mode=context.PYNATIVE_MODE) + pynative_mode_out = forward_net(x, y) + assert graph_mode_out == pynative_mode_out def test_backward(): @@ -65,5 +70,10 @@ def test_backward(): y = Tensor(np.array(3), mstype.int32) forward_net = ForwardNet(max_cycles=10) backward_net = BackwardNet(forward_net) - grads = backward_net(x, y) - print("grads:", grads) + # Graph Mode + context.set_context(mode=context.GRAPH_MODE) + graph_mode_grads = backward_net(x, y) + # Pynative Mode + context.set_context(mode=context.PYNATIVE_MODE) + pynative_mode_grads = backward_net(x, y) + assert graph_mode_grads == pynative_mode_grads diff --git a/tests/st/control/inner/test_211_while_after_if_in_while.py b/tests/st/control/inner/test_211_while_after_if_in_while.py index 15240f67ca..f13b97f8dd 100644 --- a/tests/st/control/inner/test_211_while_after_if_in_while.py +++ b/tests/st/control/inner/test_211_while_after_if_in_while.py @@ -45,7 +45,7 @@ class BackwardNet(nn.Cell): def __init__(self, net): super(BackwardNet, self).__init__(auto_prefix=False) self.forward_net = net - self.grad = C.GradOperation() + self.grad = C.GradOperation(get_all=True) def construct(self, *inputs): grads = self.grad(self.forward_net)(*inputs) @@ -56,8 +56,13 @@ def test_forward(): x = Tensor(np.array(1), mstype.int32) y = Tensor(np.array(3), mstype.int32) forward_net = ForwardNet(max_cycles=10) - out = forward_net(x, y) - print("forward out:", out) + # Graph Mode + context.set_context(mode=context.GRAPH_MODE) + graph_mode_out = forward_net(x, y) + # Pynative Mode + context.set_context(mode=context.PYNATIVE_MODE) + pynative_mode_out = forward_net(x, y) + assert graph_mode_out == pynative_mode_out def test_backward(): @@ -65,5 +70,10 @@ def test_backward(): y = Tensor(np.array(3), mstype.int32) forward_net = ForwardNet(max_cycles=10) backward_net = BackwardNet(forward_net) - grads = backward_net(x, y) - print("grads:", grads) + # Graph Mode + context.set_context(mode=context.GRAPH_MODE) + graph_mode_grads = backward_net(x, y) + # Pynative Mode + context.set_context(mode=context.PYNATIVE_MODE) + pynative_mode_grads = backward_net(x, y) + assert graph_mode_grads == pynative_mode_grads diff --git a/tests/st/control/inner/test_212_while_after_if_in_for.py b/tests/st/control/inner/test_212_while_after_if_in_for.py index 41209f2697..f42555e17b 100644 --- a/tests/st/control/inner/test_212_while_after_if_in_for.py +++ b/tests/st/control/inner/test_212_while_after_if_in_for.py @@ -37,6 +37,7 @@ class ForwardNet(nn.Cell): out = x * y + out while i < self.max_cycles: out = out + 10 + i = i + 1 return out @@ -44,7 +45,7 @@ class BackwardNet(nn.Cell): def __init__(self, net): super(BackwardNet, self).__init__(auto_prefix=False) self.forward_net = net - self.grad = C.GradOperation() + self.grad = C.GradOperation(get_all=True) def construct(self, *inputs): grads = self.grad(self.forward_net)(*inputs) @@ -52,17 +53,28 @@ class BackwardNet(nn.Cell): def test_forward(): - x = Tensor(np.array(1), mstype.int32) - y = Tensor(np.array(3), mstype.int32) - forward_net = ForwardNet(max_cycles=10) - out = forward_net(x, y) - print("forward out:", out) + x = Tensor(np.array(3), mstype.int32) + y = Tensor(np.array(5), mstype.int32) + forward_net = ForwardNet(max_cycles=3) + # Graph Mode + context.set_context(mode=context.GRAPH_MODE) + graph_mode_out = forward_net(x, y) + # Pynative Mode + context.set_context(mode=context.PYNATIVE_MODE) + pynative_mode_out = forward_net(x, y) + assert graph_mode_out == pynative_mode_out + def test_backward(): - x = Tensor(np.array(1), mstype.int32) - y = Tensor(np.array(3), mstype.int32) - forward_net = ForwardNet(max_cycles=10) + x = Tensor(np.array(3), mstype.int32) + y = Tensor(np.array(5), mstype.int32) + forward_net = ForwardNet(max_cycles=3) backward_net = BackwardNet(forward_net) - grads = backward_net(x, y) - print("grads:", grads) + # Graph Mode + context.set_context(mode=context.GRAPH_MODE) + graph_mode_grads = backward_net(x, y) + # Pynative Mode + context.set_context(mode=context.PYNATIVE_MODE) + pynative_mode_grads = backward_net(x, y) + assert graph_mode_grads == pynative_mode_grads diff --git a/tests/st/control/inner/test_220_while_after_while_in_if.py b/tests/st/control/inner/test_220_while_after_while_in_if.py index f972a96258..211d324f70 100644 --- a/tests/st/control/inner/test_220_while_after_while_in_if.py +++ b/tests/st/control/inner/test_220_while_after_while_in_if.py @@ -46,7 +46,7 @@ class BackwardNet(nn.Cell): def __init__(self, net): super(BackwardNet, self).__init__(auto_prefix=False) self.forward_net = net - self.grad = C.GradOperation() + self.grad = C.GradOperation(get_all=True) def construct(self, *inputs): grads = self.grad(self.forward_net)(*inputs) @@ -57,8 +57,13 @@ def test_forward(): x = Tensor(np.array(1), mstype.int32) y = Tensor(np.array(3), mstype.int32) forward_net = ForwardNet(max_cycles=3) - out = forward_net(x, y) - print("forward out:", out) + # Graph Mode + context.set_context(mode=context.GRAPH_MODE) + graph_mode_out = forward_net(x, y) + # Pynative Mode + context.set_context(mode=context.PYNATIVE_MODE) + pynative_mode_out = forward_net(x, y) + assert graph_mode_out == pynative_mode_out def test_backward(): @@ -66,5 +71,10 @@ def test_backward(): y = Tensor(np.array(3), mstype.int32) forward_net = ForwardNet(max_cycles=3) backward_net = BackwardNet(forward_net) - grads = backward_net(x, y) - print("grads:", grads) + # Graph Mode + context.set_context(mode=context.GRAPH_MODE) + graph_mode_grads = backward_net(x, y) + # Pynative Mode + context.set_context(mode=context.PYNATIVE_MODE) + pynative_mode_grads = backward_net(x, y) + assert graph_mode_grads == pynative_mode_grads diff --git a/tests/st/control/inner/test_230_while_after_for_in_if.py b/tests/st/control/inner/test_230_while_after_for_in_if.py index 1d03f61206..b8fd5ac1f1 100644 --- a/tests/st/control/inner/test_230_while_after_for_in_if.py +++ b/tests/st/control/inner/test_230_while_after_for_in_if.py @@ -43,7 +43,7 @@ class BackwardNet(nn.Cell): def __init__(self, net): super(BackwardNet, self).__init__(auto_prefix=False) self.forward_net = net - self.grad = C.GradOperation() + self.grad = C.GradOperation(get_all=True) def construct(self, *inputs): grads = self.grad(self.forward_net)(*inputs) @@ -54,8 +54,13 @@ def test_forward(): x = Tensor(np.array(1), mstype.int32) y = Tensor(np.array(3), mstype.int32) forward_net = ForwardNet(max_cycles=3) - out = forward_net(x, y) - print("forward out:", out) + # Graph Mode + context.set_context(mode=context.GRAPH_MODE) + graph_mode_out = forward_net(x, y) + # Pynative Mode + context.set_context(mode=context.PYNATIVE_MODE) + pynative_mode_out = forward_net(x, y) + assert graph_mode_out == pynative_mode_out def test_backward(): @@ -63,5 +68,10 @@ def test_backward(): y = Tensor(np.array(3), mstype.int32) forward_net = ForwardNet(max_cycles=3) backward_net = BackwardNet(forward_net) - grads = backward_net(x, y) - print("grads:", grads) + # Graph Mode + context.set_context(mode=context.GRAPH_MODE) + graph_mode_grads = backward_net(x, y) + # Pynative Mode + context.set_context(mode=context.PYNATIVE_MODE) + pynative_mode_grads = backward_net(x, y) + assert graph_mode_grads == pynative_mode_grads