Lightning-AI/pytorch-lightning

Support for returning LRSchedulerConfig on LightningModule.configure_optimizers

Open

#18,870 opened on 2023年10月26日

GitHub で見る
 (1 comment) (0 reactions) (0 assignees)Python (3,233 forks)batch import
featurehelp wantedlightningmodulelr scheduler

Repository metrics

Stars
 (26,687 stars)
PR merge metrics
 (平均マージ 9d 15h) (30d で 3 merged PRs)

説明

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

コントリビューターガイド