Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix restoring trainer after lr_find() #14113

Merged
merged 11 commits into from
Aug 26, 2022
Merged

Fix restoring trainer after lr_find() #14113

merged 11 commits into from
Aug 26, 2022

Conversation

Callidior
Copy link
Contributor

@Callidior Callidior commented Aug 9, 2022

What does this PR do?

Fixes #12670: After using the LR finder and then training the model with the same trainer instance (which is the standard use-case), an incorrect learning rate schedule is used, leading to immediate divergence.

This bug was introduced in Lightning version 1.6 by commit a6a28e0, which removed two lines responsible for resetting the init_optimizers method of the trainer after it has been replaced with a wrapper changing the LR scheduler to one trying different learning rates.

This PR reintroduces these two lines and updates them to match the current codebase, where trainer.init_optimizers has been renamed to trainer.strategy.setup_optimizers.

Does your PR introduce any breaking changes? If yes, please list them.

No

Before submitting

  • Was this discussed/approved via a GitHub issue? (not for typos and docs)
  • Did you read the contributor guideline, Pull Request section?
  • Did you make sure your PR does only one thing, instead of bundling different changes together?
  • Did you make sure to update the documentation with your changes? (if necessary)
  • Did you write any new necessary tests? (not for typos and docs)
  • Did you verify new and existing tests pass locally with your changes?
  • Did you list all the breaking changes introduced by this pull request?
  • Did you update the CHANGELOG? (not for typos, docs, test updates, or minor internal changes/refactors)

PR review

Anyone in the community is welcome to review the PR.
Before you start reviewing, make sure you have read the review guidelines. In short, see the following bullet-list:

  • Is this pull request ready for review? (if not, please submit in draft mode)
  • Check that all items from Before submitting are resolved
  • Make sure the title is self-explanatory and the description concisely explains the PR
  • Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?

Make sure you had fun coding 🙃

@github-actions github-actions bot added the pl Generic label for PyTorch Lightning package label Aug 9, 2022
@Callidior Callidior marked this pull request as ready for review August 9, 2022 10:58
@carmocca carmocca added this to the pl:1.7.x milestone Aug 20, 2022
@carmocca carmocca added bug Something isn't working tuner community This PR is from the community labels Aug 20, 2022
src/pytorch_lightning/tuner/lr_finder.py Outdated Show resolved Hide resolved
@Callidior Callidior requested a review from otaj as a code owner August 22, 2022 07:13
Copy link
Contributor

@carmocca carmocca left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great!

@carmocca carmocca assigned carmocca and unassigned rohitgr7 Aug 22, 2022
@carmocca carmocca enabled auto-merge (squash) August 22, 2022 16:25
@mergify mergify bot added the ready PRs ready to be merged label Aug 22, 2022
@mergify mergify bot added has conflicts and removed ready PRs ready to be merged labels Aug 25, 2022
@mergify mergify bot added ready PRs ready to be merged and removed has conflicts ready PRs ready to be merged labels Aug 26, 2022
@carmocca carmocca merged commit 0102d0d into Lightning-AI:master Aug 26, 2022
rohitgr7 pushed a commit that referenced this pull request Aug 27, 2022
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
lexierule pushed a commit that referenced this pull request Aug 31, 2022
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
@awaelchli
Copy link
Contributor

FYI, this PR created an issue with convergence and I am investigating now what the cause is. Repro here: #14824

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working community This PR is from the community pl Generic label for PyTorch Lightning package ready PRs ready to be merged tuner
Projects
No open projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Trainer always causes divergence after Trainer.tuner.lr_find
4 participants