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.)
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)