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

Method doTestSparse

tensorflow/python/training/adam_test.py:57–103  ·  view source on GitHub ↗
(self, use_resource=False)

Source from the content-addressed store, hash-verified

55class AdamOptimizerTest(test.TestCase):
56
57 def doTestSparse(self, use_resource=False):
58 for dtype in [dtypes.half, dtypes.float32, dtypes.float64]:
59 with self.cached_session():
60 # Initialize variables for numpy implementation.
61 m0, v0, m1, v1 = 0.0, 0.0, 0.0, 0.0
62 var0_np = np.array([1.0, 2.0], dtype=dtype.as_numpy_dtype)
63 grads0_np = np.array([0.1, 0.1], dtype=dtype.as_numpy_dtype)
64 var1_np = np.array([3.0, 4.0], dtype=dtype.as_numpy_dtype)
65 grads1_np = np.array([0.01, 0.01], dtype=dtype.as_numpy_dtype)
66
67 if use_resource:
68 var0 = resource_variable_ops.ResourceVariable(var0_np)
69 var1 = resource_variable_ops.ResourceVariable(var1_np)
70 else:
71 var0 = variables.RefVariable(var0_np)
72 var1 = variables.RefVariable(var1_np)
73 grads0_np_indices = np.array([0, 1], dtype=np.int32)
74 grads0 = ops.IndexedSlices(
75 constant_op.constant(grads0_np),
76 constant_op.constant(grads0_np_indices), constant_op.constant([2]))
77 grads1_np_indices = np.array([0, 1], dtype=np.int32)
78 grads1 = ops.IndexedSlices(
79 constant_op.constant(grads1_np),
80 constant_op.constant(grads1_np_indices), constant_op.constant([2]))
81 opt = adam.AdamOptimizer()
82 update = opt.apply_gradients(zip([grads0, grads1], [var0, var1]))
83 variables.global_variables_initializer().run()
84
85 # Fetch params to validate initial values
86 self.assertAllClose([1.0, 2.0], self.evaluate(var0))
87 self.assertAllClose([3.0, 4.0], self.evaluate(var1))
88
89 beta1_power, beta2_power = opt._get_beta_accumulators()
90
91 # Run 3 steps of Adam
92 for t in range(1, 4):
93 self.assertAllCloseAccordingToType(0.9**t, self.evaluate(beta1_power))
94 self.assertAllCloseAccordingToType(0.999**t,
95 self.evaluate(beta2_power))
96 update.run()
97
98 var0_np, m0, v0 = adam_update_numpy(var0_np, grads0_np, t, m0, v0)
99 var1_np, m1, v1 = adam_update_numpy(var1_np, grads1_np, t, m1, v1)
100
101 # Validate updated params
102 self.assertAllCloseAccordingToType(var0_np, self.evaluate(var0))
103 self.assertAllCloseAccordingToType(var1_np, self.evaluate(var1))
104
105 @test_util.run_deprecated_v1
106 def testSparse(self):

Callers 2

testSparseMethod · 0.95
testResourceSparseMethod · 0.95

Calls 12

apply_gradientsMethod · 0.95
AdamOptimizerMethod · 0.80
adam_update_numpyFunction · 0.70
rangeFunction · 0.50
cached_sessionMethod · 0.45
ResourceVariableMethod · 0.45
constantMethod · 0.45
runMethod · 0.45
assertAllCloseMethod · 0.45
evaluateMethod · 0.45

Tested by

no test coverage detected