def testStaircase(self):
    initial_lr = 0.1
    k = 10
    decay_rate = 0.96
    step = resource_variable_ops.ResourceVariable(0)
    decayed_lr = learning_rate_decay.natural_exp_decay(
        initial_lr, step, k, decay_rate, staircase=True)

    self.evaluate(variables.global_variables_initializer())
    for i in range(k + 1):
      expected = initial_lr * math.exp(-decay_rate * (i // k))
      self.assertAllClose(self.evaluate(decayed_lr), expected, 1e-6)
      self.evaluate(step.assign_add(1))
Ejemplo n.º 2
0
    def testDecay(self):
        initial_lr = 0.1
        k = 10
        decay_rate = 0.96
        step = variables.Variable(0)
        decayed_lr = learning_rate_decay.natural_exp_decay(
            initial_lr, step, k, decay_rate)

        self.evaluate(variables.global_variables_initializer())
        for i in range(k + 1):
            expected = initial_lr * math.exp(-i / k * decay_rate)
            self.assertAllClose(self.evaluate(decayed_lr), expected, 1e-6)
            self.evaluate(step.assign_add(1))