forked from mindspore-Ecosystem/mindspore
check result of test case
This commit is contained in:
parent
3e2c87f65a
commit
e150dedc70
|
@ -43,7 +43,7 @@ class BackwardNet(nn.Cell):
|
||||||
def __init__(self, net):
|
def __init__(self, net):
|
||||||
super(BackwardNet, self).__init__(auto_prefix=False)
|
super(BackwardNet, self).__init__(auto_prefix=False)
|
||||||
self.forward_net = net
|
self.forward_net = net
|
||||||
self.grad = C.GradOperation()
|
self.grad = C.GradOperation(get_all=True)
|
||||||
|
|
||||||
def construct(self, *inputs):
|
def construct(self, *inputs):
|
||||||
grads = self.grad(self.forward_net)(*inputs)
|
grads = self.grad(self.forward_net)(*inputs)
|
||||||
|
@ -54,8 +54,13 @@ def test_forward():
|
||||||
x = Tensor(np.array(1), mstype.int32)
|
x = Tensor(np.array(1), mstype.int32)
|
||||||
y = Tensor(np.array(3), mstype.int32)
|
y = Tensor(np.array(3), mstype.int32)
|
||||||
forward_net = ForwardNet(max_cycles=10)
|
forward_net = ForwardNet(max_cycles=10)
|
||||||
out = forward_net(x, y)
|
# Graph Mode
|
||||||
print("forward out:", out)
|
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():
|
def test_backward():
|
||||||
|
@ -63,5 +68,10 @@ def test_backward():
|
||||||
y = Tensor(np.array(3), mstype.int32)
|
y = Tensor(np.array(3), mstype.int32)
|
||||||
forward_net = ForwardNet(max_cycles=10)
|
forward_net = ForwardNet(max_cycles=10)
|
||||||
backward_net = BackwardNet(forward_net)
|
backward_net = BackwardNet(forward_net)
|
||||||
grads = backward_net(x, y)
|
# Graph Mode
|
||||||
print("grads:", grads)
|
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
|
||||||
|
|
|
@ -40,7 +40,7 @@ class BackwardNet(nn.Cell):
|
||||||
def __init__(self, net):
|
def __init__(self, net):
|
||||||
super(BackwardNet, self).__init__(auto_prefix=False)
|
super(BackwardNet, self).__init__(auto_prefix=False)
|
||||||
self.forward_net = net
|
self.forward_net = net
|
||||||
self.grad = C.GradOperation()
|
self.grad = C.GradOperation(get_all=True)
|
||||||
|
|
||||||
def construct(self, *inputs):
|
def construct(self, *inputs):
|
||||||
grads = self.grad(self.forward_net)(*inputs)
|
grads = self.grad(self.forward_net)(*inputs)
|
||||||
|
@ -51,8 +51,13 @@ def test_forward():
|
||||||
x = Tensor(np.array(1), mstype.int32)
|
x = Tensor(np.array(1), mstype.int32)
|
||||||
y = Tensor(np.array(3), mstype.int32)
|
y = Tensor(np.array(3), mstype.int32)
|
||||||
forward_net = ForwardNet(max_cycles=3)
|
forward_net = ForwardNet(max_cycles=3)
|
||||||
out = forward_net(x, y)
|
# Graph Mode
|
||||||
print("forward out:", out)
|
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():
|
def test_backward():
|
||||||
|
@ -60,5 +65,10 @@ def test_backward():
|
||||||
y = Tensor(np.array(3), mstype.int32)
|
y = Tensor(np.array(3), mstype.int32)
|
||||||
forward_net = ForwardNet(max_cycles=3)
|
forward_net = ForwardNet(max_cycles=3)
|
||||||
backward_net = BackwardNet(forward_net)
|
backward_net = BackwardNet(forward_net)
|
||||||
grads = backward_net(x, y)
|
# Graph Mode
|
||||||
print("grads:", grads)
|
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
|
||||||
|
|
|
@ -44,7 +44,7 @@ class BackwardNet(nn.Cell):
|
||||||
def __init__(self, net):
|
def __init__(self, net):
|
||||||
super(BackwardNet, self).__init__(auto_prefix=False)
|
super(BackwardNet, self).__init__(auto_prefix=False)
|
||||||
self.forward_net = net
|
self.forward_net = net
|
||||||
self.grad = C.GradOperation()
|
self.grad = C.GradOperation(get_all=True)
|
||||||
|
|
||||||
def construct(self, *inputs):
|
def construct(self, *inputs):
|
||||||
grads = self.grad(self.forward_net)(*inputs)
|
grads = self.grad(self.forward_net)(*inputs)
|
||||||
|
@ -55,8 +55,13 @@ def test_forward():
|
||||||
x = Tensor(np.array(1), mstype.int32)
|
x = Tensor(np.array(1), mstype.int32)
|
||||||
y = Tensor(np.array(3), mstype.int32)
|
y = Tensor(np.array(3), mstype.int32)
|
||||||
forward_net = ForwardNet(max_cycles=3)
|
forward_net = ForwardNet(max_cycles=3)
|
||||||
out = forward_net(x, y)
|
# Graph Mode
|
||||||
print("forward out:", out)
|
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():
|
def test_backward():
|
||||||
|
@ -64,5 +69,10 @@ def test_backward():
|
||||||
y = Tensor(np.array(3), mstype.int32)
|
y = Tensor(np.array(3), mstype.int32)
|
||||||
forward_net = ForwardNet(max_cycles=3)
|
forward_net = ForwardNet(max_cycles=3)
|
||||||
backward_net = BackwardNet(forward_net)
|
backward_net = BackwardNet(forward_net)
|
||||||
grads = backward_net(x, y)
|
# Graph Mode
|
||||||
print("grads:", grads)
|
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
|
||||||
|
|
|
@ -44,7 +44,7 @@ class BackwardNet(nn.Cell):
|
||||||
def __init__(self, net):
|
def __init__(self, net):
|
||||||
super(BackwardNet, self).__init__(auto_prefix=False)
|
super(BackwardNet, self).__init__(auto_prefix=False)
|
||||||
self.forward_net = net
|
self.forward_net = net
|
||||||
self.grad = C.GradOperation()
|
self.grad = C.GradOperation(get_all=True)
|
||||||
|
|
||||||
def construct(self, *inputs):
|
def construct(self, *inputs):
|
||||||
grads = self.grad(self.forward_net)(*inputs)
|
grads = self.grad(self.forward_net)(*inputs)
|
||||||
|
@ -55,8 +55,13 @@ def test_forward():
|
||||||
x = Tensor(np.array(1), mstype.int32)
|
x = Tensor(np.array(1), mstype.int32)
|
||||||
y = Tensor(np.array(3), mstype.int32)
|
y = Tensor(np.array(3), mstype.int32)
|
||||||
forward_net = ForwardNet(max_cycles=10)
|
forward_net = ForwardNet(max_cycles=10)
|
||||||
out = forward_net(x, y)
|
# Graph Mode
|
||||||
print("forward out:", out)
|
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():
|
def test_backward():
|
||||||
|
@ -64,5 +69,10 @@ def test_backward():
|
||||||
y = Tensor(np.array(3), mstype.int32)
|
y = Tensor(np.array(3), mstype.int32)
|
||||||
forward_net = ForwardNet(max_cycles=10)
|
forward_net = ForwardNet(max_cycles=10)
|
||||||
backward_net = BackwardNet(forward_net)
|
backward_net = BackwardNet(forward_net)
|
||||||
grads = backward_net(x, y)
|
# Graph Mode
|
||||||
print("grads:", grads)
|
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
|
||||||
|
|
|
@ -45,7 +45,7 @@ class BackwardNet(nn.Cell):
|
||||||
def __init__(self, net):
|
def __init__(self, net):
|
||||||
super(BackwardNet, self).__init__(auto_prefix=False)
|
super(BackwardNet, self).__init__(auto_prefix=False)
|
||||||
self.forward_net = net
|
self.forward_net = net
|
||||||
self.grad = C.GradOperation()
|
self.grad = C.GradOperation(get_all=True)
|
||||||
|
|
||||||
def construct(self, *inputs):
|
def construct(self, *inputs):
|
||||||
grads = self.grad(self.forward_net)(*inputs)
|
grads = self.grad(self.forward_net)(*inputs)
|
||||||
|
@ -56,8 +56,13 @@ def test_forward():
|
||||||
x = Tensor(np.array(1), mstype.int32)
|
x = Tensor(np.array(1), mstype.int32)
|
||||||
y = Tensor(np.array(3), mstype.int32)
|
y = Tensor(np.array(3), mstype.int32)
|
||||||
forward_net = ForwardNet(max_cycles=10)
|
forward_net = ForwardNet(max_cycles=10)
|
||||||
out = forward_net(x, y)
|
# Graph Mode
|
||||||
print("forward out:", out)
|
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():
|
def test_backward():
|
||||||
|
@ -65,5 +70,10 @@ def test_backward():
|
||||||
y = Tensor(np.array(3), mstype.int32)
|
y = Tensor(np.array(3), mstype.int32)
|
||||||
forward_net = ForwardNet(max_cycles=10)
|
forward_net = ForwardNet(max_cycles=10)
|
||||||
backward_net = BackwardNet(forward_net)
|
backward_net = BackwardNet(forward_net)
|
||||||
grads = backward_net(x, y)
|
# Graph Mode
|
||||||
print("grads:", grads)
|
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
|
||||||
|
|
|
@ -46,7 +46,7 @@ class BackwardNet(nn.Cell):
|
||||||
def __init__(self, net):
|
def __init__(self, net):
|
||||||
super(BackwardNet, self).__init__(auto_prefix=False)
|
super(BackwardNet, self).__init__(auto_prefix=False)
|
||||||
self.forward_net = net
|
self.forward_net = net
|
||||||
self.grad = C.GradOperation()
|
self.grad = C.GradOperation(get_all=True)
|
||||||
|
|
||||||
def construct(self, *inputs):
|
def construct(self, *inputs):
|
||||||
grads = self.grad(self.forward_net)(*inputs)
|
grads = self.grad(self.forward_net)(*inputs)
|
||||||
|
@ -57,8 +57,13 @@ def test_forward():
|
||||||
x = Tensor(np.array(1), mstype.int32)
|
x = Tensor(np.array(1), mstype.int32)
|
||||||
y = Tensor(np.array(3), mstype.int32)
|
y = Tensor(np.array(3), mstype.int32)
|
||||||
forward_net = ForwardNet(max_cycles=3)
|
forward_net = ForwardNet(max_cycles=3)
|
||||||
out = forward_net(x, y)
|
# Graph Mode
|
||||||
print("forward out:", out)
|
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():
|
def test_backward():
|
||||||
|
@ -66,5 +71,10 @@ def test_backward():
|
||||||
y = Tensor(np.array(3), mstype.int32)
|
y = Tensor(np.array(3), mstype.int32)
|
||||||
forward_net = ForwardNet(max_cycles=3)
|
forward_net = ForwardNet(max_cycles=3)
|
||||||
backward_net = BackwardNet(forward_net)
|
backward_net = BackwardNet(forward_net)
|
||||||
grads = backward_net(x, y)
|
# Graph Mode
|
||||||
print("grads:", grads)
|
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
|
||||||
|
|
|
@ -47,7 +47,7 @@ class BackwardNet(nn.Cell):
|
||||||
def __init__(self, net):
|
def __init__(self, net):
|
||||||
super(BackwardNet, self).__init__(auto_prefix=False)
|
super(BackwardNet, self).__init__(auto_prefix=False)
|
||||||
self.forward_net = net
|
self.forward_net = net
|
||||||
self.grad = C.GradOperation()
|
self.grad = C.GradOperation(get_all=True)
|
||||||
|
|
||||||
def construct(self, *inputs):
|
def construct(self, *inputs):
|
||||||
grads = self.grad(self.forward_net)(*inputs)
|
grads = self.grad(self.forward_net)(*inputs)
|
||||||
|
@ -58,8 +58,13 @@ def test_forward():
|
||||||
x = Tensor(np.array(1), mstype.int32)
|
x = Tensor(np.array(1), mstype.int32)
|
||||||
y = Tensor(np.array(3), mstype.int32)
|
y = Tensor(np.array(3), mstype.int32)
|
||||||
forward_net = ForwardNet(max_cycles=3)
|
forward_net = ForwardNet(max_cycles=3)
|
||||||
out = forward_net(x, y)
|
# Graph Mode
|
||||||
print("forward out:", out)
|
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():
|
def test_backward():
|
||||||
|
@ -67,5 +72,10 @@ def test_backward():
|
||||||
y = Tensor(np.array(3), mstype.int32)
|
y = Tensor(np.array(3), mstype.int32)
|
||||||
forward_net = ForwardNet(max_cycles=3)
|
forward_net = ForwardNet(max_cycles=3)
|
||||||
backward_net = BackwardNet(forward_net)
|
backward_net = BackwardNet(forward_net)
|
||||||
grads = backward_net(x, y)
|
# Graph Mode
|
||||||
print("grads:", grads)
|
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
|
||||||
|
|
|
@ -31,10 +31,10 @@ class ForwardNet(nn.Cell):
|
||||||
|
|
||||||
def construct(self, x, y):
|
def construct(self, x, y):
|
||||||
out = self.zero
|
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
|
out = x * y + out
|
||||||
x = x + 1
|
x = x + 1
|
||||||
if out > 20:
|
if out > 20:
|
||||||
out = out - 20
|
out = out - 20
|
||||||
return out
|
return out
|
||||||
|
@ -44,7 +44,7 @@ class BackwardNet(nn.Cell):
|
||||||
def __init__(self, net):
|
def __init__(self, net):
|
||||||
super(BackwardNet, self).__init__(auto_prefix=False)
|
super(BackwardNet, self).__init__(auto_prefix=False)
|
||||||
self.forward_net = net
|
self.forward_net = net
|
||||||
self.grad = C.GradOperation()
|
self.grad = C.GradOperation(get_all=True)
|
||||||
|
|
||||||
def construct(self, *inputs):
|
def construct(self, *inputs):
|
||||||
grads = self.grad(self.forward_net)(*inputs)
|
grads = self.grad(self.forward_net)(*inputs)
|
||||||
|
@ -55,8 +55,13 @@ def test_forward():
|
||||||
x = Tensor(np.array(1), mstype.int32)
|
x = Tensor(np.array(1), mstype.int32)
|
||||||
y = Tensor(np.array(3), mstype.int32)
|
y = Tensor(np.array(3), mstype.int32)
|
||||||
forward_net = ForwardNet(max_cycles=3)
|
forward_net = ForwardNet(max_cycles=3)
|
||||||
out = forward_net(x, y)
|
# Graph Mode
|
||||||
print("forward out:", out)
|
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():
|
def test_backward():
|
||||||
|
@ -64,5 +69,10 @@ def test_backward():
|
||||||
y = Tensor(np.array(3), mstype.int32)
|
y = Tensor(np.array(3), mstype.int32)
|
||||||
forward_net = ForwardNet(max_cycles=3)
|
forward_net = ForwardNet(max_cycles=3)
|
||||||
backward_net = BackwardNet(forward_net)
|
backward_net = BackwardNet(forward_net)
|
||||||
grads = backward_net(x, y)
|
# Graph Mode
|
||||||
print("grads:", grads)
|
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
|
||||||
|
|
|
@ -44,7 +44,7 @@ class BackwardNet(nn.Cell):
|
||||||
def __init__(self, net):
|
def __init__(self, net):
|
||||||
super(BackwardNet, self).__init__(auto_prefix=False)
|
super(BackwardNet, self).__init__(auto_prefix=False)
|
||||||
self.forward_net = net
|
self.forward_net = net
|
||||||
self.grad = C.GradOperation()
|
self.grad = C.GradOperation(get_all=True)
|
||||||
|
|
||||||
def construct(self, *inputs):
|
def construct(self, *inputs):
|
||||||
grads = self.grad(self.forward_net)(*inputs)
|
grads = self.grad(self.forward_net)(*inputs)
|
||||||
|
@ -55,8 +55,13 @@ def test_forward():
|
||||||
x = Tensor(np.array(1), mstype.int32)
|
x = Tensor(np.array(1), mstype.int32)
|
||||||
y = Tensor(np.array(3), mstype.int32)
|
y = Tensor(np.array(3), mstype.int32)
|
||||||
forward_net = ForwardNet(max_cycles=10)
|
forward_net = ForwardNet(max_cycles=10)
|
||||||
out = forward_net(x, y)
|
# Graph Mode
|
||||||
print("forward out:", out)
|
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():
|
def test_backward():
|
||||||
|
@ -64,5 +69,10 @@ def test_backward():
|
||||||
y = Tensor(np.array(3), mstype.int32)
|
y = Tensor(np.array(3), mstype.int32)
|
||||||
forward_net = ForwardNet(max_cycles=10)
|
forward_net = ForwardNet(max_cycles=10)
|
||||||
backward_net = BackwardNet(forward_net)
|
backward_net = BackwardNet(forward_net)
|
||||||
grads = backward_net(x, y)
|
# Graph Mode
|
||||||
print("grads:", grads)
|
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
|
||||||
|
|
|
@ -45,7 +45,7 @@ class BackwardNet(nn.Cell):
|
||||||
def __init__(self, net):
|
def __init__(self, net):
|
||||||
super(BackwardNet, self).__init__(auto_prefix=False)
|
super(BackwardNet, self).__init__(auto_prefix=False)
|
||||||
self.forward_net = net
|
self.forward_net = net
|
||||||
self.grad = C.GradOperation()
|
self.grad = C.GradOperation(get_all=True)
|
||||||
|
|
||||||
def construct(self, *inputs):
|
def construct(self, *inputs):
|
||||||
grads = self.grad(self.forward_net)(*inputs)
|
grads = self.grad(self.forward_net)(*inputs)
|
||||||
|
@ -56,8 +56,13 @@ def test_forward():
|
||||||
x = Tensor(np.array(1), mstype.int32)
|
x = Tensor(np.array(1), mstype.int32)
|
||||||
y = Tensor(np.array(3), mstype.int32)
|
y = Tensor(np.array(3), mstype.int32)
|
||||||
forward_net = ForwardNet(max_cycles=10)
|
forward_net = ForwardNet(max_cycles=10)
|
||||||
out = forward_net(x, y)
|
# Graph Mode
|
||||||
print("forward out:", out)
|
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():
|
def test_backward():
|
||||||
|
@ -65,5 +70,10 @@ def test_backward():
|
||||||
y = Tensor(np.array(3), mstype.int32)
|
y = Tensor(np.array(3), mstype.int32)
|
||||||
forward_net = ForwardNet(max_cycles=10)
|
forward_net = ForwardNet(max_cycles=10)
|
||||||
backward_net = BackwardNet(forward_net)
|
backward_net = BackwardNet(forward_net)
|
||||||
grads = backward_net(x, y)
|
# Graph Mode
|
||||||
print("grads:", grads)
|
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
|
||||||
|
|
|
@ -45,7 +45,7 @@ class BackwardNet(nn.Cell):
|
||||||
def __init__(self, net):
|
def __init__(self, net):
|
||||||
super(BackwardNet, self).__init__(auto_prefix=False)
|
super(BackwardNet, self).__init__(auto_prefix=False)
|
||||||
self.forward_net = net
|
self.forward_net = net
|
||||||
self.grad = C.GradOperation()
|
self.grad = C.GradOperation(get_all=True)
|
||||||
|
|
||||||
def construct(self, *inputs):
|
def construct(self, *inputs):
|
||||||
grads = self.grad(self.forward_net)(*inputs)
|
grads = self.grad(self.forward_net)(*inputs)
|
||||||
|
@ -56,8 +56,13 @@ def test_forward():
|
||||||
x = Tensor(np.array(1), mstype.int32)
|
x = Tensor(np.array(1), mstype.int32)
|
||||||
y = Tensor(np.array(3), mstype.int32)
|
y = Tensor(np.array(3), mstype.int32)
|
||||||
forward_net = ForwardNet(max_cycles=10)
|
forward_net = ForwardNet(max_cycles=10)
|
||||||
out = forward_net(x, y)
|
# Graph Mode
|
||||||
print("forward out:", out)
|
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():
|
def test_backward():
|
||||||
|
@ -65,5 +70,10 @@ def test_backward():
|
||||||
y = Tensor(np.array(3), mstype.int32)
|
y = Tensor(np.array(3), mstype.int32)
|
||||||
forward_net = ForwardNet(max_cycles=10)
|
forward_net = ForwardNet(max_cycles=10)
|
||||||
backward_net = BackwardNet(forward_net)
|
backward_net = BackwardNet(forward_net)
|
||||||
grads = backward_net(x, y)
|
# Graph Mode
|
||||||
print("grads:", grads)
|
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
|
||||||
|
|
|
@ -37,6 +37,7 @@ class ForwardNet(nn.Cell):
|
||||||
out = x * y + out
|
out = x * y + out
|
||||||
while i < self.max_cycles:
|
while i < self.max_cycles:
|
||||||
out = out + 10
|
out = out + 10
|
||||||
|
i = i + 1
|
||||||
return out
|
return out
|
||||||
|
|
||||||
|
|
||||||
|
@ -44,7 +45,7 @@ class BackwardNet(nn.Cell):
|
||||||
def __init__(self, net):
|
def __init__(self, net):
|
||||||
super(BackwardNet, self).__init__(auto_prefix=False)
|
super(BackwardNet, self).__init__(auto_prefix=False)
|
||||||
self.forward_net = net
|
self.forward_net = net
|
||||||
self.grad = C.GradOperation()
|
self.grad = C.GradOperation(get_all=True)
|
||||||
|
|
||||||
def construct(self, *inputs):
|
def construct(self, *inputs):
|
||||||
grads = self.grad(self.forward_net)(*inputs)
|
grads = self.grad(self.forward_net)(*inputs)
|
||||||
|
@ -52,17 +53,28 @@ class BackwardNet(nn.Cell):
|
||||||
|
|
||||||
|
|
||||||
def test_forward():
|
def test_forward():
|
||||||
x = Tensor(np.array(1), mstype.int32)
|
x = Tensor(np.array(3), mstype.int32)
|
||||||
y = Tensor(np.array(3), mstype.int32)
|
y = Tensor(np.array(5), mstype.int32)
|
||||||
forward_net = ForwardNet(max_cycles=10)
|
forward_net = ForwardNet(max_cycles=3)
|
||||||
out = forward_net(x, y)
|
# Graph Mode
|
||||||
print("forward out:", out)
|
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():
|
def test_backward():
|
||||||
x = Tensor(np.array(1), mstype.int32)
|
x = Tensor(np.array(3), mstype.int32)
|
||||||
y = Tensor(np.array(3), mstype.int32)
|
y = Tensor(np.array(5), mstype.int32)
|
||||||
forward_net = ForwardNet(max_cycles=10)
|
forward_net = ForwardNet(max_cycles=3)
|
||||||
backward_net = BackwardNet(forward_net)
|
backward_net = BackwardNet(forward_net)
|
||||||
grads = backward_net(x, y)
|
# Graph Mode
|
||||||
print("grads:", grads)
|
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
|
||||||
|
|
|
@ -46,7 +46,7 @@ class BackwardNet(nn.Cell):
|
||||||
def __init__(self, net):
|
def __init__(self, net):
|
||||||
super(BackwardNet, self).__init__(auto_prefix=False)
|
super(BackwardNet, self).__init__(auto_prefix=False)
|
||||||
self.forward_net = net
|
self.forward_net = net
|
||||||
self.grad = C.GradOperation()
|
self.grad = C.GradOperation(get_all=True)
|
||||||
|
|
||||||
def construct(self, *inputs):
|
def construct(self, *inputs):
|
||||||
grads = self.grad(self.forward_net)(*inputs)
|
grads = self.grad(self.forward_net)(*inputs)
|
||||||
|
@ -57,8 +57,13 @@ def test_forward():
|
||||||
x = Tensor(np.array(1), mstype.int32)
|
x = Tensor(np.array(1), mstype.int32)
|
||||||
y = Tensor(np.array(3), mstype.int32)
|
y = Tensor(np.array(3), mstype.int32)
|
||||||
forward_net = ForwardNet(max_cycles=3)
|
forward_net = ForwardNet(max_cycles=3)
|
||||||
out = forward_net(x, y)
|
# Graph Mode
|
||||||
print("forward out:", out)
|
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():
|
def test_backward():
|
||||||
|
@ -66,5 +71,10 @@ def test_backward():
|
||||||
y = Tensor(np.array(3), mstype.int32)
|
y = Tensor(np.array(3), mstype.int32)
|
||||||
forward_net = ForwardNet(max_cycles=3)
|
forward_net = ForwardNet(max_cycles=3)
|
||||||
backward_net = BackwardNet(forward_net)
|
backward_net = BackwardNet(forward_net)
|
||||||
grads = backward_net(x, y)
|
# Graph Mode
|
||||||
print("grads:", grads)
|
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
|
||||||
|
|
|
@ -43,7 +43,7 @@ class BackwardNet(nn.Cell):
|
||||||
def __init__(self, net):
|
def __init__(self, net):
|
||||||
super(BackwardNet, self).__init__(auto_prefix=False)
|
super(BackwardNet, self).__init__(auto_prefix=False)
|
||||||
self.forward_net = net
|
self.forward_net = net
|
||||||
self.grad = C.GradOperation()
|
self.grad = C.GradOperation(get_all=True)
|
||||||
|
|
||||||
def construct(self, *inputs):
|
def construct(self, *inputs):
|
||||||
grads = self.grad(self.forward_net)(*inputs)
|
grads = self.grad(self.forward_net)(*inputs)
|
||||||
|
@ -54,8 +54,13 @@ def test_forward():
|
||||||
x = Tensor(np.array(1), mstype.int32)
|
x = Tensor(np.array(1), mstype.int32)
|
||||||
y = Tensor(np.array(3), mstype.int32)
|
y = Tensor(np.array(3), mstype.int32)
|
||||||
forward_net = ForwardNet(max_cycles=3)
|
forward_net = ForwardNet(max_cycles=3)
|
||||||
out = forward_net(x, y)
|
# Graph Mode
|
||||||
print("forward out:", out)
|
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():
|
def test_backward():
|
||||||
|
@ -63,5 +68,10 @@ def test_backward():
|
||||||
y = Tensor(np.array(3), mstype.int32)
|
y = Tensor(np.array(3), mstype.int32)
|
||||||
forward_net = ForwardNet(max_cycles=3)
|
forward_net = ForwardNet(max_cycles=3)
|
||||||
backward_net = BackwardNet(forward_net)
|
backward_net = BackwardNet(forward_net)
|
||||||
grads = backward_net(x, y)
|
# Graph Mode
|
||||||
print("grads:", grads)
|
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
|
||||||
|
|
Loading…
Reference in New Issue