MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / basicSaveRestore

Method basicSaveRestore

tensorflow/python/training/saver_test.py:87–167  ·  view source on GitHub ↗
(self, variable_op)

Source from the content-addressed store, hash-verified

85class SaverTest(test.TestCase):
86
87 def basicSaveRestore(self, variable_op):
88 save_path = os.path.join(self.get_temp_dir(), "basic_save_restore")
89
90 with self.session(graph=ops_lib.Graph()) as sess:
91 # Build a graph with 2 parameter nodes, and Save and
92 # Restore nodes for them.
93 v0 = variable_op(10.0, name="v0")
94 v1 = variable_op(20.0, name="v1")
95 v2 = saver_test_utils.CheckpointedOp(name="v2")
96 v2_init = v2.insert("k1", 30.0)
97
98 # Initialize all variables
99 if not context.executing_eagerly():
100 self.evaluate([variables.global_variables_initializer(), v2_init])
101
102 # Check that the parameter nodes have been initialized.
103 self.assertEqual(10.0, self.evaluate(v0))
104 self.assertEqual(20.0, self.evaluate(v1))
105 self.assertEqual(b"k1", self.evaluate(v2.keys()))
106 self.assertEqual(30.0, self.evaluate(v2.values()))
107
108 # Save the initialized values in the file at "save_path"
109 save = saver_module.Saver(
110 {
111 "v0": v0,
112 "v1": v1,
113 "v2": v2.saveable
114 }, restore_sequentially=True)
115 val = save.save(sess, save_path)
116 self.assertTrue(isinstance(val, six.string_types))
117 self.assertEqual(save_path, val)
118
119 # Start a second session. In that session the parameter nodes
120 # have not been initialized either.
121 with self.session(graph=ops_lib.Graph()) as sess:
122 v0 = variable_op(-1.0, name="v0")
123 v1 = variable_op(-1.0, name="v1")
124 v2 = saver_test_utils.CheckpointedOp(name="v2")
125
126 # Assert that the variables are not initialized.
127 if not context.executing_eagerly():
128 self.assertEqual(
129 len(variables.report_uninitialized_variables().eval()), 2)
130 self.assertEqual(0, len(self.evaluate(v2.keys())))
131 self.assertEqual(0, len(self.evaluate(v2.values())))
132 # Restore the saved values in the parameter nodes.
133 save = saver_module.Saver({"v0": v0, "v1": v1, "v2": v2.saveable})
134 save.restore(sess, save_path)
135 # Check that the parameter nodes have been restored.
136 self.assertEqual(10.0, self.evaluate(v0))
137 self.assertEqual(20.0, self.evaluate(v1))
138 self.assertEqual(b"k1", self.evaluate(v2.keys()))
139 self.assertEqual(30.0, self.evaluate(v2.values()))
140
141 # Build another graph with 2 nodes, initialized
142 # differently, and a Restore node for them.
143 with self.session(graph=ops_lib.Graph()) as sess:
144 v0_2 = variable_op(1000.0, name="v0")

Callers 2

testBasicMethod · 0.95
testResourceBasicMethod · 0.95

Calls 13

insertMethod · 0.95
keysMethod · 0.95
valuesMethod · 0.95
saveMethod · 0.95
restoreMethod · 0.95
variable_opFunction · 0.85
get_temp_dirMethod · 0.80
executing_eagerlyMethod · 0.80
joinMethod · 0.45
sessionMethod · 0.45
GraphMethod · 0.45
evaluateMethod · 0.45

Tested by

no test coverage detected