def testBeyondEnd(self):
   step = 15
   lr = 0.05
   end_lr = 0.001
   decayed_lr = learning_rate_decay.polynomial_decay(lr, step, 10, end_lr)
   expected = end_lr
   self.assertAllClose(self.evaluate(decayed_lr), expected, 1e-6)
 def testHalfWayWithEnd(self):
   step = 5
   lr = 0.05
   end_lr = 0.001
   decayed_lr = learning_rate_decay.polynomial_decay(lr, step, 10, end_lr)
   expected = (lr + end_lr) * 0.5
   self.assertAllClose(self.evaluate(decayed_lr), expected, 1e-6)
 def testBeginWithCycle(self):
   lr = 0.001
   decay_steps = 10
   step = 0
   decayed_lr = learning_rate_decay.polynomial_decay(
       lr, step, decay_steps, cycle=True)
   expected = lr
   self.assertAllClose(self.evaluate(decayed_lr), expected, 1e-6)
 def testBeyondEndWithCycle(self):
   step = 15
   lr = 0.05
   end_lr = 0.001
   decayed_lr = learning_rate_decay.polynomial_decay(
       lr, step, 10, end_lr, cycle=True)
   expected = (lr - end_lr) * 0.25 + end_lr
   self.assertAllClose(self.evaluate(decayed_lr), expected, 1e-6)
 def testHalfWay(self):
   step = 5
   lr = 0.05
   end_lr = 0.0
   power = 0.5
   decayed_lr = learning_rate_decay.polynomial_decay(
       lr, step, 10, end_lr, power=power)
   expected = lr * 0.5**power
   self.assertAllClose(self.evaluate(decayed_lr), expected, 1e-6)