mirror of
https://github.com/Lightning-AI/pytorch-lightning.git
synced 2026-10-12 02:06:43 +00:00
This code example is shown in docs for Optimization:
```python
def configure_optimizers(self):
optimizer = ...
scheduler = torch.optim.lr_scheduler.OneCycleLR(
optimizer, max_lr=1e-3, total_steps=self.trainer.estimated_stepping_batches
)
return optimizer, scheduler
```
But this raises error:
```python
>>> model = MyModel()
>>> trainer = ...
>>> trainer.fit(model=model, train_dataloaders=train_loader)
MisconfigurationException: Unknown configuration for model optimizers. Output from `model.configure_optimizers()` should be one of:
* `Optimizer`
* [`Optimizer`]
* ([`Optimizer`], [`LRScheduler`])
* {"optimizer": `Optimizer`, (optional) "lr_scheduler": `LRScheduler`}
```
It's because return type is wrong in `configure_optimizers`. To fix, changed to returning lists: `return [optimizer], [scheduler]`.