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

Consume the prediction batch indices iteratively #16826

Merged
merged 6 commits into from
Feb 22, 2023

Conversation

carmocca
Copy link
Contributor

@carmocca carmocca commented Feb 21, 2023

What does this PR do?

During prediction, the IndexBatchSamplerWrapper class was consuming the entire batch_sampler on __iter__, at the very beginning

This PR makes it get consumed on the go.

It also fixes an issue where we were trying to call batch_sampler.set_epoch, when it had to be batch_sampler.sampler.set_epoch.

Additionally, the IndexBatchSamplerWrapper is now marked as protected.

cc @Borda @justusschock @awaelchli

@carmocca carmocca self-assigned this Feb 21, 2023
@carmocca carmocca added this to the 2.0 milestone Feb 21, 2023
@github-actions github-actions bot added the pl Generic label for PyTorch Lightning package label Feb 21, 2023
@carmocca carmocca marked this pull request as ready for review February 21, 2023 13:19
@github-actions
Copy link
Contributor

github-actions bot commented Feb 21, 2023

⚡ Required checks status: All passing 🟢

Groups summary

🟢 pytorch_lightning: Tests workflow
Check ID Status
pl-cpu (macOS-11, lightning, 3.8, 1.11) success
pl-cpu (macOS-11, lightning, 3.9, 1.12) success
pl-cpu (macOS-11, lightning, 3.10, 1.13) success
pl-cpu (macOS-11, lightning, 3.8, 1.11, oldest) success
pl-cpu (ubuntu-20.04, lightning, 3.9, 1.11) success
pl-cpu (ubuntu-20.04, lightning, 3.10, 1.12) success
pl-cpu (ubuntu-20.04, lightning, 3.10, 1.13) success
pl-cpu (ubuntu-20.04, lightning, 3.8, 1.11, oldest) success
pl-cpu (windows-2022, lightning, 3.9, 1.11) success
pl-cpu (windows-2022, lightning, 3.10, 1.12) success
pl-cpu (windows-2022, lightning, 3.10, 1.13) success
pl-cpu (windows-2022, lightning, 3.8, 1.11, oldest) success
pl-cpu (macOS-11, pytorch, 3.8, 1.13) success
pl-cpu (ubuntu-20.04, pytorch, 3.8, 1.13) success
pl-cpu (windows-2022, pytorch, 3.8, 1.13) success

These checks are required after the changes to src/lightning/pytorch/loops/prediction_loop.py, src/lightning/pytorch/loops/utilities.py, src/lightning/pytorch/overrides/distributed.py, src/lightning/pytorch/utilities/data.py, tests/tests_pytorch/loops/test_evaluation_loop.py, tests/tests_pytorch/loops/test_prediction_loop.py, tests/tests_pytorch/loops/test_utilities.py, tests/tests_pytorch/overrides/test_distributed.py, tests/tests_pytorch/trainer/test_trainer.py, tests/tests_pytorch/utilities/test_data.py.

🟢 pytorch_lightning: Azure GPU
Check ID Status
pytorch-lightning (GPUs) success

These checks are required after the changes to src/lightning/pytorch/loops/prediction_loop.py, src/lightning/pytorch/loops/utilities.py, src/lightning/pytorch/overrides/distributed.py, src/lightning/pytorch/utilities/data.py, tests/tests_pytorch/loops/test_evaluation_loop.py, tests/tests_pytorch/loops/test_prediction_loop.py, tests/tests_pytorch/loops/test_utilities.py, tests/tests_pytorch/overrides/test_distributed.py, tests/tests_pytorch/trainer/test_trainer.py, tests/tests_pytorch/utilities/test_data.py.

🟢 pytorch_lightning: Azure HPU
Check ID Status
pytorch-lightning (HPUs) success

These checks are required after the changes to src/lightning/pytorch/loops/prediction_loop.py, src/lightning/pytorch/loops/utilities.py, src/lightning/pytorch/overrides/distributed.py, src/lightning/pytorch/utilities/data.py, tests/tests_pytorch/loops/test_evaluation_loop.py, tests/tests_pytorch/loops/test_prediction_loop.py, tests/tests_pytorch/loops/test_utilities.py, tests/tests_pytorch/overrides/test_distributed.py, tests/tests_pytorch/trainer/test_trainer.py, tests/tests_pytorch/utilities/test_data.py.

🟢 pytorch_lightning: Azure IPU
Check ID Status
pytorch-lightning (IPUs) success

These checks are required after the changes to src/lightning/pytorch/loops/prediction_loop.py, src/lightning/pytorch/loops/utilities.py, src/lightning/pytorch/overrides/distributed.py, src/lightning/pytorch/utilities/data.py, tests/tests_pytorch/loops/test_evaluation_loop.py, tests/tests_pytorch/loops/test_prediction_loop.py, tests/tests_pytorch/loops/test_utilities.py, tests/tests_pytorch/overrides/test_distributed.py, tests/tests_pytorch/trainer/test_trainer.py, tests/tests_pytorch/utilities/test_data.py.

🟢 pytorch_lightning: Docs
Check ID Status
make-doctest (pytorch) success
make-html (pytorch) success

These checks are required after the changes to src/lightning/pytorch/loops/prediction_loop.py, src/lightning/pytorch/loops/utilities.py, src/lightning/pytorch/overrides/distributed.py, src/lightning/pytorch/utilities/data.py.

🟢 mypy
Check ID Status
mypy success

These checks are required after the changes to src/lightning/pytorch/loops/prediction_loop.py, src/lightning/pytorch/loops/utilities.py, src/lightning/pytorch/overrides/distributed.py, src/lightning/pytorch/utilities/data.py.

🟢 install
Check ID Status
install-pkg (ubuntu-22.04, app, 3.8) success
install-pkg (ubuntu-22.04, app, 3.10) success
install-pkg (ubuntu-22.04, fabric, 3.8) success
install-pkg (ubuntu-22.04, fabric, 3.10) success
install-pkg (ubuntu-22.04, pytorch, 3.8) success
install-pkg (ubuntu-22.04, pytorch, 3.10) success
install-pkg (ubuntu-22.04, lightning, 3.8) success
install-pkg (ubuntu-22.04, lightning, 3.10) success
install-pkg (ubuntu-22.04, notset, 3.8) success
install-pkg (ubuntu-22.04, notset, 3.10) success
install-pkg (macOS-12, app, 3.8) success
install-pkg (macOS-12, app, 3.10) success
install-pkg (macOS-12, fabric, 3.8) success
install-pkg (macOS-12, fabric, 3.10) success
install-pkg (macOS-12, pytorch, 3.8) success
install-pkg (macOS-12, pytorch, 3.10) success
install-pkg (macOS-12, lightning, 3.8) success
install-pkg (macOS-12, lightning, 3.10) success
install-pkg (macOS-12, notset, 3.8) success
install-pkg (macOS-12, notset, 3.10) success
install-pkg (windows-2022, app, 3.8) success
install-pkg (windows-2022, app, 3.10) success
install-pkg (windows-2022, fabric, 3.8) success
install-pkg (windows-2022, fabric, 3.10) success
install-pkg (windows-2022, pytorch, 3.8) success
install-pkg (windows-2022, pytorch, 3.10) success
install-pkg (windows-2022, lightning, 3.8) success
install-pkg (windows-2022, lightning, 3.10) success
install-pkg (windows-2022, notset, 3.8) success
install-pkg (windows-2022, notset, 3.10) success

These checks are required after the changes to src/lightning/pytorch/loops/prediction_loop.py, src/lightning/pytorch/loops/utilities.py, src/lightning/pytorch/overrides/distributed.py, src/lightning/pytorch/utilities/data.py.

🟢 link-check
Check ID Status
markdown-link-check success

These checks are required after the changes to src/lightning/pytorch/CHANGELOG.md.


Thank you for your contribution! 💜

Note
This comment is automatically generated and updates for 60 minutes every 180 seconds. If you have any other questions, contact carmocca for help.

@carmocca carmocca requested a review from awaelchli February 22, 2023 14:04
@carmocca carmocca enabled auto-merge (squash) February 22, 2023 15:54
@mergify mergify bot added the ready PRs ready to be merged label Feb 22, 2023
@carmocca carmocca merged commit 62e3d58 into master Feb 22, 2023
@carmocca carmocca deleted the refactor/consume-predict-sampler branch February 22, 2023 16:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
data handling Generic data-related topic pl Generic label for PyTorch Lightning package ready PRs ready to be merged refactor trainer: predict
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants