Lightning-AI/pytorch-lightning

Support for returning LRSchedulerConfig on LightningModule.configure_optimizers

Open

#18 870 ouverte le 26 oct. 2023

Voir sur GitHub
 (1 commentaire) (0 réactions) (0 assignés)Python (3 233 forks)batch import
featurehelp wantedlightningmodulelr scheduler

Métriques du dépôt

Stars
 (26 687 stars)
Métriques de merge PR
 (Merge moyen 9j 15h) (3 PRs mergées en 30 j)

Description

Description & Motivation

This is a re-proposal for #13569. At that time, this feature is considered to be discouraged since LRSchedulerConfig is supposed to be an "internal structure" (according to this comment). However, as #18463 adds type hints for the returns of configure_optimizers (also can be found in the current documentation), one of them is Tuple[Sequence[Optimizer], Sequence[Union[LRScheduler, ReduceLROnPlateau, LRSchedulerConfig]]], indicating that returning LRSchedulerConfig should be supported now.

According to my personal experience, I find returning LRSchedulerConfig handy, and I hope this feature could be supported, instead of revising the type hints. Thanks!

Pitch

The suggestion proposed in #13569 still should work, i.e., adding the following two lines to _configure_schedulers_automatic_opt:

...
elif isinstance(scheduler, LRSchedulerConfig):
    config = scheduler
...

Alternatives

No response

Additional context

No response

cc @borda @carmocca @justusschock @awaelchli

Guide contributeur