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 8f02d3d0d59..71e191519be 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 64811cbb1b3..05e7bf862ef 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 ece9a39016f..fe2e63327b4 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 d96e05bdab7..3d88623f132 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 c0ceb5a8561..ac18e97e410 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 035a0bbe7e9..ff9eb53df11 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 41c0e752563..17628f30043 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 a30d96873ab..18b61423b5d 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 166a87b0bb4..9cd5ec7cd12 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 f5e30856ca9..307bde991c0 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 15240f67ca0..f13b97f8ddf 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 41209f2697b..f42555e17b9 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 f972a96258c..211d324f701 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 1d03f612061..b8fd5ac1f1a 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