Skip to content

Cannot import OptimizerLRSchedulerConfig or OptimizerLRSchedulerConfigDict Β #20511

@zordi-youngsun

Description

@zordi-youngsun

Bug description

Since I bumped up lightning to 2.5.0, the configure_optimizers has been failing the type checker. I saw that OptimizerLRSchedulerConfig had been replaced with OptimizerLRSchedulerConfigDict, but I cannot import any of them.

What version are you seeing the problem on?

v2.5

How to reproduce the bug

import torch
import pytorch_lightning as pl
from lightning.pytorch.utilities.types import OptimizerLRSchedulerConfigDict
from torch.optim.lr_scheduler import ReduceLROnPlateau

class Model(pl.LightningModule):
    ...
    def configure_optimizers(self) -> OptimizerLRSchedulerConfigDict:
        optimizer = torch.optim.Adam(self.parameters(), lr=1e-3)
        scheduler = ReduceLROnPlateau(
            optimizer, mode="min", factor=0.1, patience=20, min_lr=1e-6
        )
        return {
            "optimizer": optimizer,
            "lr_scheduler": {
                "scheduler": scheduler,
                "monitor": "val_loss",
                "interval": "epoch",
                "frequency": 1,
            },
        }

Error messages and logs

In [2]: import lightning

In [3]: lightning.__version__
Out[3]: '2.5.0'

In [4]: from lightning.pytorch.utilities.types import OptimizerLRSchedulerConfigDict
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
Cell In[4], line 1
----> 1 from lightning.pytorch.utilities.types import OptimizerLRSchedulerConfigDict

ImportError: cannot import name 'OptimizerLRSchedulerConfigDict' from 'lightning.pytorch.utilities.types' (/home/test/.venv/lib/python3.11/site-packages/lightning/pytorch/utilities/types.py)

In [5]: from lightning.pytorch.utilities.types import OptimizerLRSchedulerConfig
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
Cell In[5], line 1
----> 1 from lightning.pytorch.utilities.types import OptimizerLRSchedulerConfig

ImportError: cannot import name 'OptimizerLRSchedulerConfig' from 'lightning.pytorch.utilities.types' (/home/test/.venv/lib/python3.11/site-packages/lightning/pytorch/utilities/types.py)

Environment

Current environment
#- PyTorch Lightning Version (e.g., 2.5.0):
#- PyTorch Version (e.g., 2.5):
#- Python version (e.g., 3.12):
#- OS (e.g., Linux):
#- CUDA/cuDNN version:
#- GPU models and configuration:
#- How you installed Lightning(`conda`, `pip`, source):

More info

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions