mirror of
https://github.com/Lightning-AI/pytorch-lightning.git
synced 2026-10-12 02:06:43 +00:00
Docs: Pytorch: Optimization: correct return type of configure_optimizers (#21947)
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]`.
This commit is contained in:
@@ -227,4 +227,4 @@ distributed setting into consideration so you don't have to derive it manually.
|
||||
scheduler = torch.optim.lr_scheduler.OneCycleLR(
|
||||
optimizer, max_lr=1e-3, total_steps=self.trainer.estimated_stepping_batches
|
||||
)
|
||||
return optimizer, scheduler
|
||||
return [optimizer], [scheduler]
|
||||
|
||||
Reference in New Issue
Block a user