예제 #1
0
 def test_nonpositive_transition_steps(self):
     with self.assertRaises(ValueError):
         schedule.cosine_onecycle_schedule(transition_steps=0,
                                           peak_value=5.)
     with self.assertRaises(ValueError):
         schedule.linear_onecycle_schedule(transition_steps=0,
                                           peak_value=5.)
예제 #2
0
    def test_cosine(self):
        schedule_fn = self.variant(
            schedule.cosine_onecycle_schedule(transition_steps=5,
                                              peak_value=1000.,
                                              pct_start=0.4,
                                              div_factor=10.,
                                              final_div_factor=100.))

        generated_vals = [schedule_fn(step) for step in range(7)]
        expected_vals = [100., 550., 1000., 750.25, 250.75, 1., 1.]
        np.testing.assert_allclose(generated_vals, expected_vals, atol=1e-3)