mirror of
https://github.com/saymrwulf/transformers.git
synced 2026-05-14 20:58:08 +00:00
fix get_scheduler when name is warmup_stable_decay (#31128)
fix get_scheduler args
This commit is contained in:
parent
5e5c4d629d
commit
cda9c82a63
2 changed files with 25 additions and 0 deletions
|
|
@ -540,6 +540,9 @@ def get_scheduler(
|
|||
if name == SchedulerType.INVERSE_SQRT:
|
||||
return schedule_func(optimizer, num_warmup_steps=num_warmup_steps)
|
||||
|
||||
if name == SchedulerType.WARMUP_STABLE_DECAY:
|
||||
return schedule_func(optimizer, num_warmup_steps=num_warmup_steps, **scheduler_specific_kwargs)
|
||||
|
||||
# All other schedulers require `num_training_steps`
|
||||
if num_training_steps is None:
|
||||
raise ValueError(f"{name} requires `num_training_steps`, please provide that argument.")
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ if is_torch_available():
|
|||
get_inverse_sqrt_schedule,
|
||||
get_linear_schedule_with_warmup,
|
||||
get_polynomial_decay_schedule_with_warmup,
|
||||
get_scheduler,
|
||||
get_wsd_schedule,
|
||||
)
|
||||
|
||||
|
|
@ -176,6 +177,27 @@ class ScheduleInitTest(unittest.TestCase):
|
|||
lrs_2 = unwrap_and_save_reload_schedule(scheduler, self.num_steps)
|
||||
self.assertListEqual(lrs_1, lrs_2, msg=f"failed for {scheduler_func} in save and reload")
|
||||
|
||||
def test_get_scheduler(self):
|
||||
test_params = [
|
||||
{
|
||||
"name": "warmup_stable_decay",
|
||||
"optimizer": self.optimizer,
|
||||
"num_warmup_steps": 2,
|
||||
"scheduler_specific_kwargs": {"num_stable_steps": 1, "num_decay_steps": 3},
|
||||
},
|
||||
{
|
||||
"name": "warmup_stable_decay",
|
||||
"optimizer": self.optimizer,
|
||||
"num_warmup_steps": 2,
|
||||
"num_training_steps": 10,
|
||||
"scheduler_specific_kwargs": {"num_stable_steps": 1, "num_decay_steps": 3},
|
||||
},
|
||||
{"name": "cosine", "optimizer": self.optimizer, "num_warmup_steps": 2, "num_training_steps": 10},
|
||||
]
|
||||
|
||||
for param in test_params:
|
||||
self.assertTrue(get_scheduler(**param), msg=f"failed for {param['name']} in get_scheduler")
|
||||
|
||||
|
||||
class LambdaScheduleWrapper:
|
||||
"""See https://github.com/huggingface/transformers/issues/21689"""
|
||||
|
|
|
|||
Loading…
Reference in a new issue