MCPcopy Create free account
hub / github.com/MegEngine/MegEngine / test_save_load

Function test_save_load

imperative/python/test/integration/test_save_load.py:54–96  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

52
53
54def test_save_load():
55 net = Simple()
56
57 optim = optimizer.SGD(net.parameters(), lr=1.0, momentum=0.9)
58 optim.clear_grad()
59 gm = ad.GradManager().attach(net.parameters())
60
61 data = tensor([2.34])
62
63 with gm:
64 loss = net(data)
65 gm.backward(loss)
66
67 optim.step()
68
69 model_name = "simple.pkl"
70
71 mge.save(
72 {
73 "name": "simple",
74 "state_dict": net.state_dict(),
75 "opt_state": optim.state_dict(),
76 },
77 model_name,
78 )
79
80 # Load param to cpu
81 checkpoint = mge.load(model_name, map_location="cpu0")
82 device_save = mge.get_default_device()
83 mge.set_default_device("cpu0")
84 net = Simple()
85 net.load_state_dict(checkpoint["state_dict"])
86 optim = optimizer.SGD(net.parameters(), lr=1.0, momentum=0.9)
87 optim.load_state_dict(checkpoint["opt_state"])
88 os.remove("simple.pkl")
89
90 with gm:
91 loss = net([1.23])
92 gm.backward(loss)
93
94 optim.step()
95 # Restore device
96 mge.set_default_device(device_save)

Callers

nothing calls this directly

Calls 13

parametersMethod · 0.80
SimpleClass · 0.70
SGDMethod · 0.45
clear_gradMethod · 0.45
attachMethod · 0.45
GradManagerMethod · 0.45
backwardMethod · 0.45
stepMethod · 0.45
saveMethod · 0.45
state_dictMethod · 0.45
loadMethod · 0.45
load_state_dictMethod · 0.45

Tested by

no test coverage detected