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

extract manual optimization loop #9266

Merged
merged 83 commits into from
Sep 8, 2021
Merged

Conversation

awaelchli
Copy link
Contributor

@awaelchli awaelchli commented Sep 2, 2021

What does this PR do?

Part of #7938
Follow up to #9191
Fixes #9283

Now that automatic optimization is separated into its own loop, we can finally drastically simplify the calls to manual optimization and move it to a separat loop class.

TODO:

  • make mypy happy

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 update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review

Anyone in the community is free to review the PR once the tests have passed.
Before you start reviewing make sure you have read 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?

I made sure I had fun coding 🙃

@mergify mergify bot added the has conflicts label Sep 6, 2021
@mergify mergify bot removed the has conflicts label Sep 6, 2021
pytorch_lightning/loops/batch/manual.py Outdated Show resolved Hide resolved
pytorch_lightning/loops/batch/manual.py Outdated Show resolved Hide resolved
pytorch_lightning/loops/batch/training_batch_loop.py Outdated Show resolved Hide resolved
@carmocca carmocca merged commit ca679cd into master Sep 8, 2021
@carmocca carmocca deleted the refactor/clean-up-manual-opt branch September 8, 2021 00:26
if result:
# if no result, user decided to skip optimization
# otherwise update running loss + reset accumulated loss
self._update_running_loss(result.loss)
Copy link
Contributor

@carmocca carmocca Sep 8, 2021

Choose a reason for hiding this comment

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

Noticed this while resolving conflicts: this is not called anymore, is it? Is that intentional?

(personally lean towards removing the running loss, so this would be okay): see #9372

Copy link
Contributor Author

Choose a reason for hiding this comment

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

technically this should not have been removed, ... sigh
but yeah, we can see what happens with #9372

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready PRs ready to be merged refactor
Projects
None yet
Development

Successfully merging this pull request may close these issues.

RFC: Manual Optimization Loop
5 participants