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

pytorch_lightning.loops file structure: group by dataloader, epoch, and batch loop #8077

Merged
merged 12 commits into from
Jun 24, 2021

Conversation

awaelchli
Copy link
Contributor

@awaelchli awaelchli commented Jun 22, 2021

What does this PR do?

part of #7938

The current structure is the following:

loops/
    dataloader/
        dataloader_loop.py
        evaluation_dataloader_loop.py
        prediction_dataloader_loop.py
    base.py
    fit_loop.py
    training_epoch_loop.py
    evaluation_epoch_loop.py
    prediction_epoch_loop.py
    training_batch_loop.py

The new proposed file structure:

loops/
    dataloader/
        dataloader_loop.py
        evaluation_loop.py
        prediction_loop.py
    epoch/
        training_epoch_loop.py
        evaluation_epoch_loop.py
        prediction_epoch_loop.py

    batch/
        training_batch_loop.py
        
    base.py
    fit_loop.py

No deprecations required. The new loops were introduced in master only so far and are for internal use currently.

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 🙃

@awaelchli awaelchli added this to the v1.4 milestone Jun 22, 2021
@awaelchli awaelchli changed the title pytorch_lightning.loops file structure: group by dataloader, epoch, and batch loop pytorch_lightning.loops file structure: group by dataloader, epoch, and batch loop Jun 22, 2021
@codecov
Copy link

codecov bot commented Jun 22, 2021

Codecov Report

Merging #8077 (de1297a) into master (8bd7b1b) will decrease coverage by 4%.
The diff coverage is 95%.

@@           Coverage Diff           @@
##           master   #8077    +/-   ##
=======================================
- Coverage      92%     88%    -4%     
=======================================
  Files         211     211            
  Lines       13658   13416   -242     
=======================================
- Hits        12512   11803   -709     
- Misses       1146    1613   +467     

Copy link
Contributor

@tchaton tchaton left a comment

Choose a reason for hiding this comment

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

LGTM !

@awaelchli awaelchli force-pushed the refactor/loops/consistent-naming branch from 2f8e0c2 to 9be32de Compare June 23, 2021 09:48
@awaelchli awaelchli force-pushed the refactor/loops/consistent-naming branch from f062a5a to 9538c65 Compare June 23, 2021 13:29
@awaelchli awaelchli marked this pull request as ready for review June 23, 2021 13:57
pytorch_lightning/loops/__init__.py Outdated Show resolved Hide resolved
pytorch_lightning/loops/__init__.py Outdated Show resolved Hide resolved
pytorch_lightning/loops/__init__.py Outdated Show resolved Hide resolved
pytorch_lightning/loops/fit_loop.py Show resolved Hide resolved
@awaelchli awaelchli requested a review from carmocca June 24, 2021 17:21
self.training_loop = TrainingEpochLoop(min_steps, max_steps)
self.validation_loop = EvaluationDataLoaderLoop()
self.epoch_loop = TrainingEpochLoop(min_steps, max_steps)
self.val_loop = EvaluationLoop()
Copy link
Contributor

Choose a reason for hiding this comment

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

Still need to move this inside the epoch loop as we discussed.

Or do you want to do that in a separate PR?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yes, I have it already implemented locally,
there is going to be a circular import due to that, so I would like to discuss the resolution of that in a separate PR.

@carmocca carmocca dismissed their stale review June 24, 2021 20:50

Changes were discussed

@carmocca carmocca merged commit 55a90af into master Jun 24, 2021
@carmocca carmocca deleted the refactor/loops/consistent-naming branch June 24, 2021 21:40
awaelchli added a commit that referenced this pull request Jun 25, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants