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

Method testBasic

tensorflow/compiler/tests/adam_test.py:54–95  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

52class AdamOptimizerTest(xla_test.XLATestCase):
53
54 def testBasic(self):
55 for dtype in self.float_types:
56 # TODO: test fails for float16 due to excessive precision requirements.
57 if dtype in [np.float16, dtypes.bfloat16.as_numpy_dtype]:
58 continue
59 with self.session(), self.test_scope():
60 variable_scope.get_variable_scope().set_use_resource(True)
61
62 # Initialize variables for numpy implementation.
63 m0, v0, m1, v1 = 0.0, 0.0, 0.0, 0.0
64 var0_np = np.array([1.0, 2.0], dtype=dtype)
65 grads0_np = np.array([0.1, 0.1], dtype=dtype)
66 var1_np = np.array([3.0, 4.0], dtype=dtype)
67 grads1_np = np.array([0.01, 0.01], dtype=dtype)
68
69 var0 = resource_variable_ops.ResourceVariable(var0_np)
70 var1 = resource_variable_ops.ResourceVariable(var1_np)
71 grads0 = array_ops.placeholder(dtype)
72 grads1 = array_ops.placeholder(dtype)
73 opt = adam.AdamOptimizer()
74 update = opt.apply_gradients(zip([grads0, grads1], [var0, var1]))
75 variables.global_variables_initializer().run()
76
77 # Fetch params to validate initial values
78 self.assertAllClose([1.0, 2.0], self.evaluate(var0))
79 self.assertAllClose([3.0, 4.0], self.evaluate(var1))
80
81 beta1_power, beta2_power = opt._get_beta_accumulators()
82
83 # Run 3 steps of Adam
84 for t in range(1, 4):
85 self.assertAllCloseAccordingToType(0.9**t, self.evaluate(beta1_power))
86 self.assertAllCloseAccordingToType(0.999**t,
87 self.evaluate(beta2_power))
88 update.run(feed_dict={grads0: grads0_np, grads1: grads1_np})
89
90 var0_np, m0, v0 = adam_update_numpy(var0_np, grads0_np, t, m0, v0)
91 var1_np, m1, v1 = adam_update_numpy(var1_np, grads1_np, t, m1, v1)
92
93 # Validate updated params
94 self.assertAllCloseAccordingToType(var0_np, self.evaluate(var0))
95 self.assertAllCloseAccordingToType(var1_np, self.evaluate(var1))
96
97 def testTensorLearningRate(self):
98 for dtype in self.float_types:

Callers

nothing calls this directly

Calls 14

apply_gradientsMethod · 0.95
set_use_resourceMethod · 0.80
AdamOptimizerMethod · 0.80
adam_update_numpyFunction · 0.70
rangeFunction · 0.50
sessionMethod · 0.45
test_scopeMethod · 0.45
ResourceVariableMethod · 0.45
placeholderMethod · 0.45
runMethod · 0.45

Tested by

no test coverage detected