Loop Refactor 5/N - Prediction Loop (#7700)
* integrate d180bb2
* Minor changes
* Refactor loop logic into logger connector
* Refactor test
* Tighter fx validator
* Add back split idx
* Typing
* update
* Conflict
* Fix tests
* resolve grad_norm
* update
* move to train loop
* Bye grad_norm_dict parameter
* Fix sync test
* update
* Fix bug when validation is run mid epoch
* fix grad_norm_dict test
* Fix fx_validator test
* fix grad_norm_dict test
* Fix order bug
* Detach tensors in test
* resolve some tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* resolve flake8
* Update test
* more tests
* Revert last thomas' changes
* resolve 1 test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor context restoration
* integrate latest changes from logger connector refactor poc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate latest changes from logger connector refactor poc
* Minor changes
* update changelog
* Remove unused argument
* Update CHANGELOG
* Copy call_hook changes
* Docs
* Fix ref
* move to cpu
* Bad merge
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* remove pdb
* Refactor to
* Avoid partial
* trigger ci
* Bad merge
* integrate latest logger connector changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove grad norm dicts list
* Diff
* properties first
* Bad merge
* Reuse metrics_to_scalars
* Use active loop
* Move to device
* resolve test
* integrate latest changes from logger connector poc
* define union
* define union
* Update logger connector
* Update result
* Update imports
* Update after rename
* Refactor reduce_fx and op
* Fix test after rename
* mypy
* integrate latest logger connector refactor poc changes
* Fix test
* Refactor test
* Deprecate `self.log(sync_dist_op)` in favor of `self.log(reduce_fx)`
* Undo field
* add redundant return
* rename
rename files and classes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename
* Replace code
* Fix names and imports
* Remove metric_attribute
* imports
* loop hygiene
* yapf on loops
* protected new loop trigger
* rename NEW LOOP guard
* integrate latest logger connector changes
* integrate latest logger connector changes (eval loop)
* resolve todo dataloading reset
* re-add notebooks
* add missing init
* bad merge
* remove NEW_LOOP guard
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* flake8
* exclude coverage
coverage
* integrate #7917, remove teardown from training loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update "accumulated_batches_reached" condition
based on if iter count was updated or not
* remove public loop properties
* make skip backward protected again
* typing base loop
* typing fit loop
* typing training_batch_loop
* typing evaluation loop
* typing prediction loop
* typing training epoch loop
* dataloader_loop
* evaluation_dataloader_loop
* prediction_dataloader_loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate train loop changes from master
* integrate eval loop changes from master
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix tpipes moving model to cpu and leaving it there.
* don't reset fit loop
don't reset fit loop
* fix test iteration count <-> batch_idx reset
* replace torch.Tensor -> Tensor
* fix attribute error to block_ddp_sync_behaviour
* fix flake8 and yapf conflict
* remove redundant override
* add classes
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
* trainer changes
* connect
* clean up
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update test renaming
* rename evaluation loop to evaluation epoch loop
* minor docstring improvements
* update chlog
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try ci fix
* update code owners for pl/loops
* update mock path
* re-order
* simplify dataloader reset
* simplify get_dataloaders()
* save predictions on_run_end()
* improve skip condition re-routing
* re-order
* remove unused type import
* check which assert is failing
* pig
* hobbit
* teardown for evaluation
* Revert "hobbit"
This reverts commit e81b0dbee31da813ba6ad58f74d236863c86d18e.
* Revert "pig"
This reverts commit 33d89e0720ce7380af80917b15a79362d9416ae7.
* Revert "check which assert is failing"
This reverts commit b7483b425cab95290eb2cbf354ccb0a77004df83.
* free memory in fit loop teardown
* update docstring
* period
* remove dead code
* else carlos
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/evaluation_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* update chlog
* unused imp
* move default construction in run_evaluation
* add something for lawyer to read
* switch typehint for eval loop trainer property
* add missing imports
* remove a todo that needs more discussion
* combine _get_num_dataloaders with the property
* Update pytorch_lightning/loops/dataloader/dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* black + yapf
* avoid coverage on old unused eval loop
* empty space in docstring
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
* resolve todo for args forwarding
* weekproxy trainer
* fix check for num dataloaders kwargs
* clean up num prediction dataloaders property
* free memory
* rm notebooks folder
* rm old file
* revert changes to old eval loop
* bad merge
* undo teardown
* setup signature
* remove file for notes
* free memory
* chlog
* Revert "weekproxy trainer"
This reverts commit d4e6969170b80db4c9e6111fa9af507c740cde4a.
* connect trainer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up max batches and dataloaders
* max batches handling
* no grad handling
* unused argument
* protected attrs
* unused imports
* undo unintentional rename
* consistent naming
* capitalization in docstring
* list all args
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: Carlos Mocholi <carlossmocholi@gmail.com>
Co-authored-by: tchaton <thomas@grid.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
2021-06-23 09:17:04 +00:00
|
|
|
from collections import OrderedDict
|
2021-11-30 20:28:55 +00:00
|
|
|
from typing import Any, Dict, Iterator, List, Tuple
|
Loop Refactor 5/N - Prediction Loop (#7700)
* integrate d180bb2
* Minor changes
* Refactor loop logic into logger connector
* Refactor test
* Tighter fx validator
* Add back split idx
* Typing
* update
* Conflict
* Fix tests
* resolve grad_norm
* update
* move to train loop
* Bye grad_norm_dict parameter
* Fix sync test
* update
* Fix bug when validation is run mid epoch
* fix grad_norm_dict test
* Fix fx_validator test
* fix grad_norm_dict test
* Fix order bug
* Detach tensors in test
* resolve some tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* resolve flake8
* Update test
* more tests
* Revert last thomas' changes
* resolve 1 test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor context restoration
* integrate latest changes from logger connector refactor poc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate latest changes from logger connector refactor poc
* Minor changes
* update changelog
* Remove unused argument
* Update CHANGELOG
* Copy call_hook changes
* Docs
* Fix ref
* move to cpu
* Bad merge
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* remove pdb
* Refactor to
* Avoid partial
* trigger ci
* Bad merge
* integrate latest logger connector changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove grad norm dicts list
* Diff
* properties first
* Bad merge
* Reuse metrics_to_scalars
* Use active loop
* Move to device
* resolve test
* integrate latest changes from logger connector poc
* define union
* define union
* Update logger connector
* Update result
* Update imports
* Update after rename
* Refactor reduce_fx and op
* Fix test after rename
* mypy
* integrate latest logger connector refactor poc changes
* Fix test
* Refactor test
* Deprecate `self.log(sync_dist_op)` in favor of `self.log(reduce_fx)`
* Undo field
* add redundant return
* rename
rename files and classes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename
* Replace code
* Fix names and imports
* Remove metric_attribute
* imports
* loop hygiene
* yapf on loops
* protected new loop trigger
* rename NEW LOOP guard
* integrate latest logger connector changes
* integrate latest logger connector changes (eval loop)
* resolve todo dataloading reset
* re-add notebooks
* add missing init
* bad merge
* remove NEW_LOOP guard
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* flake8
* exclude coverage
coverage
* integrate #7917, remove teardown from training loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update "accumulated_batches_reached" condition
based on if iter count was updated or not
* remove public loop properties
* make skip backward protected again
* typing base loop
* typing fit loop
* typing training_batch_loop
* typing evaluation loop
* typing prediction loop
* typing training epoch loop
* dataloader_loop
* evaluation_dataloader_loop
* prediction_dataloader_loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate train loop changes from master
* integrate eval loop changes from master
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix tpipes moving model to cpu and leaving it there.
* don't reset fit loop
don't reset fit loop
* fix test iteration count <-> batch_idx reset
* replace torch.Tensor -> Tensor
* fix attribute error to block_ddp_sync_behaviour
* fix flake8 and yapf conflict
* remove redundant override
* add classes
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
* trainer changes
* connect
* clean up
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update test renaming
* rename evaluation loop to evaluation epoch loop
* minor docstring improvements
* update chlog
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try ci fix
* update code owners for pl/loops
* update mock path
* re-order
* simplify dataloader reset
* simplify get_dataloaders()
* save predictions on_run_end()
* improve skip condition re-routing
* re-order
* remove unused type import
* check which assert is failing
* pig
* hobbit
* teardown for evaluation
* Revert "hobbit"
This reverts commit e81b0dbee31da813ba6ad58f74d236863c86d18e.
* Revert "pig"
This reverts commit 33d89e0720ce7380af80917b15a79362d9416ae7.
* Revert "check which assert is failing"
This reverts commit b7483b425cab95290eb2cbf354ccb0a77004df83.
* free memory in fit loop teardown
* update docstring
* period
* remove dead code
* else carlos
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/evaluation_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* update chlog
* unused imp
* move default construction in run_evaluation
* add something for lawyer to read
* switch typehint for eval loop trainer property
* add missing imports
* remove a todo that needs more discussion
* combine _get_num_dataloaders with the property
* Update pytorch_lightning/loops/dataloader/dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* black + yapf
* avoid coverage on old unused eval loop
* empty space in docstring
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
* resolve todo for args forwarding
* weekproxy trainer
* fix check for num dataloaders kwargs
* clean up num prediction dataloaders property
* free memory
* rm notebooks folder
* rm old file
* revert changes to old eval loop
* bad merge
* undo teardown
* setup signature
* remove file for notes
* free memory
* chlog
* Revert "weekproxy trainer"
This reverts commit d4e6969170b80db4c9e6111fa9af507c740cde4a.
* connect trainer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up max batches and dataloaders
* max batches handling
* no grad handling
* unused argument
* protected attrs
* unused imports
* undo unintentional rename
* consistent naming
* capitalization in docstring
* list all args
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: Carlos Mocholi <carlossmocholi@gmail.com>
Co-authored-by: tchaton <thomas@grid.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
2021-06-23 09:17:04 +00:00
|
|
|
|
2021-08-26 15:02:42 +00:00
|
|
|
import torch
|
Loop Refactor 5/N - Prediction Loop (#7700)
* integrate d180bb2
* Minor changes
* Refactor loop logic into logger connector
* Refactor test
* Tighter fx validator
* Add back split idx
* Typing
* update
* Conflict
* Fix tests
* resolve grad_norm
* update
* move to train loop
* Bye grad_norm_dict parameter
* Fix sync test
* update
* Fix bug when validation is run mid epoch
* fix grad_norm_dict test
* Fix fx_validator test
* fix grad_norm_dict test
* Fix order bug
* Detach tensors in test
* resolve some tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* resolve flake8
* Update test
* more tests
* Revert last thomas' changes
* resolve 1 test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor context restoration
* integrate latest changes from logger connector refactor poc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate latest changes from logger connector refactor poc
* Minor changes
* update changelog
* Remove unused argument
* Update CHANGELOG
* Copy call_hook changes
* Docs
* Fix ref
* move to cpu
* Bad merge
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* remove pdb
* Refactor to
* Avoid partial
* trigger ci
* Bad merge
* integrate latest logger connector changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove grad norm dicts list
* Diff
* properties first
* Bad merge
* Reuse metrics_to_scalars
* Use active loop
* Move to device
* resolve test
* integrate latest changes from logger connector poc
* define union
* define union
* Update logger connector
* Update result
* Update imports
* Update after rename
* Refactor reduce_fx and op
* Fix test after rename
* mypy
* integrate latest logger connector refactor poc changes
* Fix test
* Refactor test
* Deprecate `self.log(sync_dist_op)` in favor of `self.log(reduce_fx)`
* Undo field
* add redundant return
* rename
rename files and classes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename
* Replace code
* Fix names and imports
* Remove metric_attribute
* imports
* loop hygiene
* yapf on loops
* protected new loop trigger
* rename NEW LOOP guard
* integrate latest logger connector changes
* integrate latest logger connector changes (eval loop)
* resolve todo dataloading reset
* re-add notebooks
* add missing init
* bad merge
* remove NEW_LOOP guard
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* flake8
* exclude coverage
coverage
* integrate #7917, remove teardown from training loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update "accumulated_batches_reached" condition
based on if iter count was updated or not
* remove public loop properties
* make skip backward protected again
* typing base loop
* typing fit loop
* typing training_batch_loop
* typing evaluation loop
* typing prediction loop
* typing training epoch loop
* dataloader_loop
* evaluation_dataloader_loop
* prediction_dataloader_loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate train loop changes from master
* integrate eval loop changes from master
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix tpipes moving model to cpu and leaving it there.
* don't reset fit loop
don't reset fit loop
* fix test iteration count <-> batch_idx reset
* replace torch.Tensor -> Tensor
* fix attribute error to block_ddp_sync_behaviour
* fix flake8 and yapf conflict
* remove redundant override
* add classes
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
* trainer changes
* connect
* clean up
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update test renaming
* rename evaluation loop to evaluation epoch loop
* minor docstring improvements
* update chlog
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try ci fix
* update code owners for pl/loops
* update mock path
* re-order
* simplify dataloader reset
* simplify get_dataloaders()
* save predictions on_run_end()
* improve skip condition re-routing
* re-order
* remove unused type import
* check which assert is failing
* pig
* hobbit
* teardown for evaluation
* Revert "hobbit"
This reverts commit e81b0dbee31da813ba6ad58f74d236863c86d18e.
* Revert "pig"
This reverts commit 33d89e0720ce7380af80917b15a79362d9416ae7.
* Revert "check which assert is failing"
This reverts commit b7483b425cab95290eb2cbf354ccb0a77004df83.
* free memory in fit loop teardown
* update docstring
* period
* remove dead code
* else carlos
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/evaluation_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* update chlog
* unused imp
* move default construction in run_evaluation
* add something for lawyer to read
* switch typehint for eval loop trainer property
* add missing imports
* remove a todo that needs more discussion
* combine _get_num_dataloaders with the property
* Update pytorch_lightning/loops/dataloader/dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* black + yapf
* avoid coverage on old unused eval loop
* empty space in docstring
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
* resolve todo for args forwarding
* weekproxy trainer
* fix check for num dataloaders kwargs
* clean up num prediction dataloaders property
* free memory
* rm notebooks folder
* rm old file
* revert changes to old eval loop
* bad merge
* undo teardown
* setup signature
* remove file for notes
* free memory
* chlog
* Revert "weekproxy trainer"
This reverts commit d4e6969170b80db4c9e6111fa9af507c740cde4a.
* connect trainer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up max batches and dataloaders
* max batches handling
* no grad handling
* unused argument
* protected attrs
* unused imports
* undo unintentional rename
* consistent naming
* capitalization in docstring
* list all args
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: Carlos Mocholi <carlossmocholi@gmail.com>
Co-authored-by: tchaton <thomas@grid.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
2021-06-23 09:17:04 +00:00
|
|
|
from deprecate import void
|
|
|
|
|
|
|
|
from pytorch_lightning.loops.base import Loop
|
|
|
|
from pytorch_lightning.overrides.distributed import IndexBatchSamplerWrapper
|
2021-07-19 08:31:45 +00:00
|
|
|
from pytorch_lightning.trainer.progress import Progress
|
2021-08-26 15:02:42 +00:00
|
|
|
from pytorch_lightning.utilities.apply_func import move_data_to_device
|
Loop Refactor 5/N - Prediction Loop (#7700)
* integrate d180bb2
* Minor changes
* Refactor loop logic into logger connector
* Refactor test
* Tighter fx validator
* Add back split idx
* Typing
* update
* Conflict
* Fix tests
* resolve grad_norm
* update
* move to train loop
* Bye grad_norm_dict parameter
* Fix sync test
* update
* Fix bug when validation is run mid epoch
* fix grad_norm_dict test
* Fix fx_validator test
* fix grad_norm_dict test
* Fix order bug
* Detach tensors in test
* resolve some tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* resolve flake8
* Update test
* more tests
* Revert last thomas' changes
* resolve 1 test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor context restoration
* integrate latest changes from logger connector refactor poc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate latest changes from logger connector refactor poc
* Minor changes
* update changelog
* Remove unused argument
* Update CHANGELOG
* Copy call_hook changes
* Docs
* Fix ref
* move to cpu
* Bad merge
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* remove pdb
* Refactor to
* Avoid partial
* trigger ci
* Bad merge
* integrate latest logger connector changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove grad norm dicts list
* Diff
* properties first
* Bad merge
* Reuse metrics_to_scalars
* Use active loop
* Move to device
* resolve test
* integrate latest changes from logger connector poc
* define union
* define union
* Update logger connector
* Update result
* Update imports
* Update after rename
* Refactor reduce_fx and op
* Fix test after rename
* mypy
* integrate latest logger connector refactor poc changes
* Fix test
* Refactor test
* Deprecate `self.log(sync_dist_op)` in favor of `self.log(reduce_fx)`
* Undo field
* add redundant return
* rename
rename files and classes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename
* Replace code
* Fix names and imports
* Remove metric_attribute
* imports
* loop hygiene
* yapf on loops
* protected new loop trigger
* rename NEW LOOP guard
* integrate latest logger connector changes
* integrate latest logger connector changes (eval loop)
* resolve todo dataloading reset
* re-add notebooks
* add missing init
* bad merge
* remove NEW_LOOP guard
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* flake8
* exclude coverage
coverage
* integrate #7917, remove teardown from training loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update "accumulated_batches_reached" condition
based on if iter count was updated or not
* remove public loop properties
* make skip backward protected again
* typing base loop
* typing fit loop
* typing training_batch_loop
* typing evaluation loop
* typing prediction loop
* typing training epoch loop
* dataloader_loop
* evaluation_dataloader_loop
* prediction_dataloader_loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate train loop changes from master
* integrate eval loop changes from master
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix tpipes moving model to cpu and leaving it there.
* don't reset fit loop
don't reset fit loop
* fix test iteration count <-> batch_idx reset
* replace torch.Tensor -> Tensor
* fix attribute error to block_ddp_sync_behaviour
* fix flake8 and yapf conflict
* remove redundant override
* add classes
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
* trainer changes
* connect
* clean up
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update test renaming
* rename evaluation loop to evaluation epoch loop
* minor docstring improvements
* update chlog
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try ci fix
* update code owners for pl/loops
* update mock path
* re-order
* simplify dataloader reset
* simplify get_dataloaders()
* save predictions on_run_end()
* improve skip condition re-routing
* re-order
* remove unused type import
* check which assert is failing
* pig
* hobbit
* teardown for evaluation
* Revert "hobbit"
This reverts commit e81b0dbee31da813ba6ad58f74d236863c86d18e.
* Revert "pig"
This reverts commit 33d89e0720ce7380af80917b15a79362d9416ae7.
* Revert "check which assert is failing"
This reverts commit b7483b425cab95290eb2cbf354ccb0a77004df83.
* free memory in fit loop teardown
* update docstring
* period
* remove dead code
* else carlos
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/evaluation_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* update chlog
* unused imp
* move default construction in run_evaluation
* add something for lawyer to read
* switch typehint for eval loop trainer property
* add missing imports
* remove a todo that needs more discussion
* combine _get_num_dataloaders with the property
* Update pytorch_lightning/loops/dataloader/dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* black + yapf
* avoid coverage on old unused eval loop
* empty space in docstring
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
* resolve todo for args forwarding
* weekproxy trainer
* fix check for num dataloaders kwargs
* clean up num prediction dataloaders property
* free memory
* rm notebooks folder
* rm old file
* revert changes to old eval loop
* bad merge
* undo teardown
* setup signature
* remove file for notes
* free memory
* chlog
* Revert "weekproxy trainer"
This reverts commit d4e6969170b80db4c9e6111fa9af507c740cde4a.
* connect trainer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up max batches and dataloaders
* max batches handling
* no grad handling
* unused argument
* protected attrs
* unused imports
* undo unintentional rename
* consistent naming
* capitalization in docstring
* list all args
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: Carlos Mocholi <carlossmocholi@gmail.com>
Co-authored-by: tchaton <thomas@grid.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
2021-06-23 09:17:04 +00:00
|
|
|
from pytorch_lightning.utilities.warnings import WarningCache
|
|
|
|
|
2021-09-14 14:40:19 +00:00
|
|
|
warning_cache = WarningCache()
|
|
|
|
|
Loop Refactor 5/N - Prediction Loop (#7700)
* integrate d180bb2
* Minor changes
* Refactor loop logic into logger connector
* Refactor test
* Tighter fx validator
* Add back split idx
* Typing
* update
* Conflict
* Fix tests
* resolve grad_norm
* update
* move to train loop
* Bye grad_norm_dict parameter
* Fix sync test
* update
* Fix bug when validation is run mid epoch
* fix grad_norm_dict test
* Fix fx_validator test
* fix grad_norm_dict test
* Fix order bug
* Detach tensors in test
* resolve some tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* resolve flake8
* Update test
* more tests
* Revert last thomas' changes
* resolve 1 test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor context restoration
* integrate latest changes from logger connector refactor poc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate latest changes from logger connector refactor poc
* Minor changes
* update changelog
* Remove unused argument
* Update CHANGELOG
* Copy call_hook changes
* Docs
* Fix ref
* move to cpu
* Bad merge
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* remove pdb
* Refactor to
* Avoid partial
* trigger ci
* Bad merge
* integrate latest logger connector changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove grad norm dicts list
* Diff
* properties first
* Bad merge
* Reuse metrics_to_scalars
* Use active loop
* Move to device
* resolve test
* integrate latest changes from logger connector poc
* define union
* define union
* Update logger connector
* Update result
* Update imports
* Update after rename
* Refactor reduce_fx and op
* Fix test after rename
* mypy
* integrate latest logger connector refactor poc changes
* Fix test
* Refactor test
* Deprecate `self.log(sync_dist_op)` in favor of `self.log(reduce_fx)`
* Undo field
* add redundant return
* rename
rename files and classes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename
* Replace code
* Fix names and imports
* Remove metric_attribute
* imports
* loop hygiene
* yapf on loops
* protected new loop trigger
* rename NEW LOOP guard
* integrate latest logger connector changes
* integrate latest logger connector changes (eval loop)
* resolve todo dataloading reset
* re-add notebooks
* add missing init
* bad merge
* remove NEW_LOOP guard
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* flake8
* exclude coverage
coverage
* integrate #7917, remove teardown from training loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update "accumulated_batches_reached" condition
based on if iter count was updated or not
* remove public loop properties
* make skip backward protected again
* typing base loop
* typing fit loop
* typing training_batch_loop
* typing evaluation loop
* typing prediction loop
* typing training epoch loop
* dataloader_loop
* evaluation_dataloader_loop
* prediction_dataloader_loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate train loop changes from master
* integrate eval loop changes from master
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix tpipes moving model to cpu and leaving it there.
* don't reset fit loop
don't reset fit loop
* fix test iteration count <-> batch_idx reset
* replace torch.Tensor -> Tensor
* fix attribute error to block_ddp_sync_behaviour
* fix flake8 and yapf conflict
* remove redundant override
* add classes
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
* trainer changes
* connect
* clean up
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update test renaming
* rename evaluation loop to evaluation epoch loop
* minor docstring improvements
* update chlog
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try ci fix
* update code owners for pl/loops
* update mock path
* re-order
* simplify dataloader reset
* simplify get_dataloaders()
* save predictions on_run_end()
* improve skip condition re-routing
* re-order
* remove unused type import
* check which assert is failing
* pig
* hobbit
* teardown for evaluation
* Revert "hobbit"
This reverts commit e81b0dbee31da813ba6ad58f74d236863c86d18e.
* Revert "pig"
This reverts commit 33d89e0720ce7380af80917b15a79362d9416ae7.
* Revert "check which assert is failing"
This reverts commit b7483b425cab95290eb2cbf354ccb0a77004df83.
* free memory in fit loop teardown
* update docstring
* period
* remove dead code
* else carlos
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/evaluation_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* update chlog
* unused imp
* move default construction in run_evaluation
* add something for lawyer to read
* switch typehint for eval loop trainer property
* add missing imports
* remove a todo that needs more discussion
* combine _get_num_dataloaders with the property
* Update pytorch_lightning/loops/dataloader/dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* black + yapf
* avoid coverage on old unused eval loop
* empty space in docstring
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
* resolve todo for args forwarding
* weekproxy trainer
* fix check for num dataloaders kwargs
* clean up num prediction dataloaders property
* free memory
* rm notebooks folder
* rm old file
* revert changes to old eval loop
* bad merge
* undo teardown
* setup signature
* remove file for notes
* free memory
* chlog
* Revert "weekproxy trainer"
This reverts commit d4e6969170b80db4c9e6111fa9af507c740cde4a.
* connect trainer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up max batches and dataloaders
* max batches handling
* no grad handling
* unused argument
* protected attrs
* unused imports
* undo unintentional rename
* consistent naming
* capitalization in docstring
* list all args
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: Carlos Mocholi <carlossmocholi@gmail.com>
Co-authored-by: tchaton <thomas@grid.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
2021-06-23 09:17:04 +00:00
|
|
|
|
|
|
|
class PredictionEpochLoop(Loop):
|
|
|
|
"""Loop performing prediction on arbitrary sequentially used dataloaders."""
|
|
|
|
|
|
|
|
def __init__(self) -> None:
|
|
|
|
super().__init__()
|
2021-11-30 20:28:55 +00:00
|
|
|
self.return_predictions = False
|
Loop Refactor 5/N - Prediction Loop (#7700)
* integrate d180bb2
* Minor changes
* Refactor loop logic into logger connector
* Refactor test
* Tighter fx validator
* Add back split idx
* Typing
* update
* Conflict
* Fix tests
* resolve grad_norm
* update
* move to train loop
* Bye grad_norm_dict parameter
* Fix sync test
* update
* Fix bug when validation is run mid epoch
* fix grad_norm_dict test
* Fix fx_validator test
* fix grad_norm_dict test
* Fix order bug
* Detach tensors in test
* resolve some tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* resolve flake8
* Update test
* more tests
* Revert last thomas' changes
* resolve 1 test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor context restoration
* integrate latest changes from logger connector refactor poc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate latest changes from logger connector refactor poc
* Minor changes
* update changelog
* Remove unused argument
* Update CHANGELOG
* Copy call_hook changes
* Docs
* Fix ref
* move to cpu
* Bad merge
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* remove pdb
* Refactor to
* Avoid partial
* trigger ci
* Bad merge
* integrate latest logger connector changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove grad norm dicts list
* Diff
* properties first
* Bad merge
* Reuse metrics_to_scalars
* Use active loop
* Move to device
* resolve test
* integrate latest changes from logger connector poc
* define union
* define union
* Update logger connector
* Update result
* Update imports
* Update after rename
* Refactor reduce_fx and op
* Fix test after rename
* mypy
* integrate latest logger connector refactor poc changes
* Fix test
* Refactor test
* Deprecate `self.log(sync_dist_op)` in favor of `self.log(reduce_fx)`
* Undo field
* add redundant return
* rename
rename files and classes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename
* Replace code
* Fix names and imports
* Remove metric_attribute
* imports
* loop hygiene
* yapf on loops
* protected new loop trigger
* rename NEW LOOP guard
* integrate latest logger connector changes
* integrate latest logger connector changes (eval loop)
* resolve todo dataloading reset
* re-add notebooks
* add missing init
* bad merge
* remove NEW_LOOP guard
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* flake8
* exclude coverage
coverage
* integrate #7917, remove teardown from training loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update "accumulated_batches_reached" condition
based on if iter count was updated or not
* remove public loop properties
* make skip backward protected again
* typing base loop
* typing fit loop
* typing training_batch_loop
* typing evaluation loop
* typing prediction loop
* typing training epoch loop
* dataloader_loop
* evaluation_dataloader_loop
* prediction_dataloader_loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate train loop changes from master
* integrate eval loop changes from master
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix tpipes moving model to cpu and leaving it there.
* don't reset fit loop
don't reset fit loop
* fix test iteration count <-> batch_idx reset
* replace torch.Tensor -> Tensor
* fix attribute error to block_ddp_sync_behaviour
* fix flake8 and yapf conflict
* remove redundant override
* add classes
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
* trainer changes
* connect
* clean up
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update test renaming
* rename evaluation loop to evaluation epoch loop
* minor docstring improvements
* update chlog
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try ci fix
* update code owners for pl/loops
* update mock path
* re-order
* simplify dataloader reset
* simplify get_dataloaders()
* save predictions on_run_end()
* improve skip condition re-routing
* re-order
* remove unused type import
* check which assert is failing
* pig
* hobbit
* teardown for evaluation
* Revert "hobbit"
This reverts commit e81b0dbee31da813ba6ad58f74d236863c86d18e.
* Revert "pig"
This reverts commit 33d89e0720ce7380af80917b15a79362d9416ae7.
* Revert "check which assert is failing"
This reverts commit b7483b425cab95290eb2cbf354ccb0a77004df83.
* free memory in fit loop teardown
* update docstring
* period
* remove dead code
* else carlos
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/evaluation_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* update chlog
* unused imp
* move default construction in run_evaluation
* add something for lawyer to read
* switch typehint for eval loop trainer property
* add missing imports
* remove a todo that needs more discussion
* combine _get_num_dataloaders with the property
* Update pytorch_lightning/loops/dataloader/dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* black + yapf
* avoid coverage on old unused eval loop
* empty space in docstring
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
* resolve todo for args forwarding
* weekproxy trainer
* fix check for num dataloaders kwargs
* clean up num prediction dataloaders property
* free memory
* rm notebooks folder
* rm old file
* revert changes to old eval loop
* bad merge
* undo teardown
* setup signature
* remove file for notes
* free memory
* chlog
* Revert "weekproxy trainer"
This reverts commit d4e6969170b80db4c9e6111fa9af507c740cde4a.
* connect trainer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up max batches and dataloaders
* max batches handling
* no grad handling
* unused argument
* protected attrs
* unused imports
* undo unintentional rename
* consistent naming
* capitalization in docstring
* list all args
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: Carlos Mocholi <carlossmocholi@gmail.com>
Co-authored-by: tchaton <thomas@grid.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
2021-06-23 09:17:04 +00:00
|
|
|
self.predictions: List[Any] = []
|
|
|
|
self.current_batch_indices: List[int] = []
|
2021-07-19 08:31:45 +00:00
|
|
|
self.batch_progress = Progress()
|
2021-07-05 11:33:12 +00:00
|
|
|
|
2021-11-30 20:28:55 +00:00
|
|
|
self._dl_max_batches = 0
|
|
|
|
self._num_dataloaders = 0
|
Loop Refactor 5/N - Prediction Loop (#7700)
* integrate d180bb2
* Minor changes
* Refactor loop logic into logger connector
* Refactor test
* Tighter fx validator
* Add back split idx
* Typing
* update
* Conflict
* Fix tests
* resolve grad_norm
* update
* move to train loop
* Bye grad_norm_dict parameter
* Fix sync test
* update
* Fix bug when validation is run mid epoch
* fix grad_norm_dict test
* Fix fx_validator test
* fix grad_norm_dict test
* Fix order bug
* Detach tensors in test
* resolve some tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* resolve flake8
* Update test
* more tests
* Revert last thomas' changes
* resolve 1 test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor context restoration
* integrate latest changes from logger connector refactor poc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate latest changes from logger connector refactor poc
* Minor changes
* update changelog
* Remove unused argument
* Update CHANGELOG
* Copy call_hook changes
* Docs
* Fix ref
* move to cpu
* Bad merge
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* remove pdb
* Refactor to
* Avoid partial
* trigger ci
* Bad merge
* integrate latest logger connector changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove grad norm dicts list
* Diff
* properties first
* Bad merge
* Reuse metrics_to_scalars
* Use active loop
* Move to device
* resolve test
* integrate latest changes from logger connector poc
* define union
* define union
* Update logger connector
* Update result
* Update imports
* Update after rename
* Refactor reduce_fx and op
* Fix test after rename
* mypy
* integrate latest logger connector refactor poc changes
* Fix test
* Refactor test
* Deprecate `self.log(sync_dist_op)` in favor of `self.log(reduce_fx)`
* Undo field
* add redundant return
* rename
rename files and classes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename
* Replace code
* Fix names and imports
* Remove metric_attribute
* imports
* loop hygiene
* yapf on loops
* protected new loop trigger
* rename NEW LOOP guard
* integrate latest logger connector changes
* integrate latest logger connector changes (eval loop)
* resolve todo dataloading reset
* re-add notebooks
* add missing init
* bad merge
* remove NEW_LOOP guard
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* flake8
* exclude coverage
coverage
* integrate #7917, remove teardown from training loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update "accumulated_batches_reached" condition
based on if iter count was updated or not
* remove public loop properties
* make skip backward protected again
* typing base loop
* typing fit loop
* typing training_batch_loop
* typing evaluation loop
* typing prediction loop
* typing training epoch loop
* dataloader_loop
* evaluation_dataloader_loop
* prediction_dataloader_loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate train loop changes from master
* integrate eval loop changes from master
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix tpipes moving model to cpu and leaving it there.
* don't reset fit loop
don't reset fit loop
* fix test iteration count <-> batch_idx reset
* replace torch.Tensor -> Tensor
* fix attribute error to block_ddp_sync_behaviour
* fix flake8 and yapf conflict
* remove redundant override
* add classes
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
* trainer changes
* connect
* clean up
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update test renaming
* rename evaluation loop to evaluation epoch loop
* minor docstring improvements
* update chlog
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try ci fix
* update code owners for pl/loops
* update mock path
* re-order
* simplify dataloader reset
* simplify get_dataloaders()
* save predictions on_run_end()
* improve skip condition re-routing
* re-order
* remove unused type import
* check which assert is failing
* pig
* hobbit
* teardown for evaluation
* Revert "hobbit"
This reverts commit e81b0dbee31da813ba6ad58f74d236863c86d18e.
* Revert "pig"
This reverts commit 33d89e0720ce7380af80917b15a79362d9416ae7.
* Revert "check which assert is failing"
This reverts commit b7483b425cab95290eb2cbf354ccb0a77004df83.
* free memory in fit loop teardown
* update docstring
* period
* remove dead code
* else carlos
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/evaluation_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* update chlog
* unused imp
* move default construction in run_evaluation
* add something for lawyer to read
* switch typehint for eval loop trainer property
* add missing imports
* remove a todo that needs more discussion
* combine _get_num_dataloaders with the property
* Update pytorch_lightning/loops/dataloader/dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* black + yapf
* avoid coverage on old unused eval loop
* empty space in docstring
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
* resolve todo for args forwarding
* weekproxy trainer
* fix check for num dataloaders kwargs
* clean up num prediction dataloaders property
* free memory
* rm notebooks folder
* rm old file
* revert changes to old eval loop
* bad merge
* undo teardown
* setup signature
* remove file for notes
* free memory
* chlog
* Revert "weekproxy trainer"
This reverts commit d4e6969170b80db4c9e6111fa9af507c740cde4a.
* connect trainer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up max batches and dataloaders
* max batches handling
* no grad handling
* unused argument
* protected attrs
* unused imports
* undo unintentional rename
* consistent naming
* capitalization in docstring
* list all args
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: Carlos Mocholi <carlossmocholi@gmail.com>
Co-authored-by: tchaton <thomas@grid.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
2021-06-23 09:17:04 +00:00
|
|
|
self._warning_cache = WarningCache()
|
2021-12-02 10:36:10 +00:00
|
|
|
self._seen_batch_indices: List[List[int]] = []
|
Loop Refactor 5/N - Prediction Loop (#7700)
* integrate d180bb2
* Minor changes
* Refactor loop logic into logger connector
* Refactor test
* Tighter fx validator
* Add back split idx
* Typing
* update
* Conflict
* Fix tests
* resolve grad_norm
* update
* move to train loop
* Bye grad_norm_dict parameter
* Fix sync test
* update
* Fix bug when validation is run mid epoch
* fix grad_norm_dict test
* Fix fx_validator test
* fix grad_norm_dict test
* Fix order bug
* Detach tensors in test
* resolve some tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* resolve flake8
* Update test
* more tests
* Revert last thomas' changes
* resolve 1 test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor context restoration
* integrate latest changes from logger connector refactor poc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate latest changes from logger connector refactor poc
* Minor changes
* update changelog
* Remove unused argument
* Update CHANGELOG
* Copy call_hook changes
* Docs
* Fix ref
* move to cpu
* Bad merge
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* remove pdb
* Refactor to
* Avoid partial
* trigger ci
* Bad merge
* integrate latest logger connector changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove grad norm dicts list
* Diff
* properties first
* Bad merge
* Reuse metrics_to_scalars
* Use active loop
* Move to device
* resolve test
* integrate latest changes from logger connector poc
* define union
* define union
* Update logger connector
* Update result
* Update imports
* Update after rename
* Refactor reduce_fx and op
* Fix test after rename
* mypy
* integrate latest logger connector refactor poc changes
* Fix test
* Refactor test
* Deprecate `self.log(sync_dist_op)` in favor of `self.log(reduce_fx)`
* Undo field
* add redundant return
* rename
rename files and classes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename
* Replace code
* Fix names and imports
* Remove metric_attribute
* imports
* loop hygiene
* yapf on loops
* protected new loop trigger
* rename NEW LOOP guard
* integrate latest logger connector changes
* integrate latest logger connector changes (eval loop)
* resolve todo dataloading reset
* re-add notebooks
* add missing init
* bad merge
* remove NEW_LOOP guard
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* flake8
* exclude coverage
coverage
* integrate #7917, remove teardown from training loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update "accumulated_batches_reached" condition
based on if iter count was updated or not
* remove public loop properties
* make skip backward protected again
* typing base loop
* typing fit loop
* typing training_batch_loop
* typing evaluation loop
* typing prediction loop
* typing training epoch loop
* dataloader_loop
* evaluation_dataloader_loop
* prediction_dataloader_loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate train loop changes from master
* integrate eval loop changes from master
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix tpipes moving model to cpu and leaving it there.
* don't reset fit loop
don't reset fit loop
* fix test iteration count <-> batch_idx reset
* replace torch.Tensor -> Tensor
* fix attribute error to block_ddp_sync_behaviour
* fix flake8 and yapf conflict
* remove redundant override
* add classes
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
* trainer changes
* connect
* clean up
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update test renaming
* rename evaluation loop to evaluation epoch loop
* minor docstring improvements
* update chlog
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try ci fix
* update code owners for pl/loops
* update mock path
* re-order
* simplify dataloader reset
* simplify get_dataloaders()
* save predictions on_run_end()
* improve skip condition re-routing
* re-order
* remove unused type import
* check which assert is failing
* pig
* hobbit
* teardown for evaluation
* Revert "hobbit"
This reverts commit e81b0dbee31da813ba6ad58f74d236863c86d18e.
* Revert "pig"
This reverts commit 33d89e0720ce7380af80917b15a79362d9416ae7.
* Revert "check which assert is failing"
This reverts commit b7483b425cab95290eb2cbf354ccb0a77004df83.
* free memory in fit loop teardown
* update docstring
* period
* remove dead code
* else carlos
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/evaluation_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* update chlog
* unused imp
* move default construction in run_evaluation
* add something for lawyer to read
* switch typehint for eval loop trainer property
* add missing imports
* remove a todo that needs more discussion
* combine _get_num_dataloaders with the property
* Update pytorch_lightning/loops/dataloader/dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* black + yapf
* avoid coverage on old unused eval loop
* empty space in docstring
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
* resolve todo for args forwarding
* weekproxy trainer
* fix check for num dataloaders kwargs
* clean up num prediction dataloaders property
* free memory
* rm notebooks folder
* rm old file
* revert changes to old eval loop
* bad merge
* undo teardown
* setup signature
* remove file for notes
* free memory
* chlog
* Revert "weekproxy trainer"
This reverts commit d4e6969170b80db4c9e6111fa9af507c740cde4a.
* connect trainer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up max batches and dataloaders
* max batches handling
* no grad handling
* unused argument
* protected attrs
* unused imports
* undo unintentional rename
* consistent naming
* capitalization in docstring
* list all args
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: Carlos Mocholi <carlossmocholi@gmail.com>
Co-authored-by: tchaton <thomas@grid.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
2021-06-23 09:17:04 +00:00
|
|
|
|
|
|
|
@property
|
|
|
|
def done(self) -> bool:
|
2021-09-06 12:49:09 +00:00
|
|
|
"""Ends prediction when the iteration count exceeds the total number of available batches."""
|
2021-07-19 08:31:45 +00:00
|
|
|
return self.batch_progress.current.completed >= self._dl_max_batches
|
Loop Refactor 5/N - Prediction Loop (#7700)
* integrate d180bb2
* Minor changes
* Refactor loop logic into logger connector
* Refactor test
* Tighter fx validator
* Add back split idx
* Typing
* update
* Conflict
* Fix tests
* resolve grad_norm
* update
* move to train loop
* Bye grad_norm_dict parameter
* Fix sync test
* update
* Fix bug when validation is run mid epoch
* fix grad_norm_dict test
* Fix fx_validator test
* fix grad_norm_dict test
* Fix order bug
* Detach tensors in test
* resolve some tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* resolve flake8
* Update test
* more tests
* Revert last thomas' changes
* resolve 1 test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor context restoration
* integrate latest changes from logger connector refactor poc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate latest changes from logger connector refactor poc
* Minor changes
* update changelog
* Remove unused argument
* Update CHANGELOG
* Copy call_hook changes
* Docs
* Fix ref
* move to cpu
* Bad merge
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* remove pdb
* Refactor to
* Avoid partial
* trigger ci
* Bad merge
* integrate latest logger connector changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove grad norm dicts list
* Diff
* properties first
* Bad merge
* Reuse metrics_to_scalars
* Use active loop
* Move to device
* resolve test
* integrate latest changes from logger connector poc
* define union
* define union
* Update logger connector
* Update result
* Update imports
* Update after rename
* Refactor reduce_fx and op
* Fix test after rename
* mypy
* integrate latest logger connector refactor poc changes
* Fix test
* Refactor test
* Deprecate `self.log(sync_dist_op)` in favor of `self.log(reduce_fx)`
* Undo field
* add redundant return
* rename
rename files and classes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename
* Replace code
* Fix names and imports
* Remove metric_attribute
* imports
* loop hygiene
* yapf on loops
* protected new loop trigger
* rename NEW LOOP guard
* integrate latest logger connector changes
* integrate latest logger connector changes (eval loop)
* resolve todo dataloading reset
* re-add notebooks
* add missing init
* bad merge
* remove NEW_LOOP guard
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* flake8
* exclude coverage
coverage
* integrate #7917, remove teardown from training loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update "accumulated_batches_reached" condition
based on if iter count was updated or not
* remove public loop properties
* make skip backward protected again
* typing base loop
* typing fit loop
* typing training_batch_loop
* typing evaluation loop
* typing prediction loop
* typing training epoch loop
* dataloader_loop
* evaluation_dataloader_loop
* prediction_dataloader_loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate train loop changes from master
* integrate eval loop changes from master
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix tpipes moving model to cpu and leaving it there.
* don't reset fit loop
don't reset fit loop
* fix test iteration count <-> batch_idx reset
* replace torch.Tensor -> Tensor
* fix attribute error to block_ddp_sync_behaviour
* fix flake8 and yapf conflict
* remove redundant override
* add classes
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
* trainer changes
* connect
* clean up
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update test renaming
* rename evaluation loop to evaluation epoch loop
* minor docstring improvements
* update chlog
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try ci fix
* update code owners for pl/loops
* update mock path
* re-order
* simplify dataloader reset
* simplify get_dataloaders()
* save predictions on_run_end()
* improve skip condition re-routing
* re-order
* remove unused type import
* check which assert is failing
* pig
* hobbit
* teardown for evaluation
* Revert "hobbit"
This reverts commit e81b0dbee31da813ba6ad58f74d236863c86d18e.
* Revert "pig"
This reverts commit 33d89e0720ce7380af80917b15a79362d9416ae7.
* Revert "check which assert is failing"
This reverts commit b7483b425cab95290eb2cbf354ccb0a77004df83.
* free memory in fit loop teardown
* update docstring
* period
* remove dead code
* else carlos
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/evaluation_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* update chlog
* unused imp
* move default construction in run_evaluation
* add something for lawyer to read
* switch typehint for eval loop trainer property
* add missing imports
* remove a todo that needs more discussion
* combine _get_num_dataloaders with the property
* Update pytorch_lightning/loops/dataloader/dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* black + yapf
* avoid coverage on old unused eval loop
* empty space in docstring
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
* resolve todo for args forwarding
* weekproxy trainer
* fix check for num dataloaders kwargs
* clean up num prediction dataloaders property
* free memory
* rm notebooks folder
* rm old file
* revert changes to old eval loop
* bad merge
* undo teardown
* setup signature
* remove file for notes
* free memory
* chlog
* Revert "weekproxy trainer"
This reverts commit d4e6969170b80db4c9e6111fa9af507c740cde4a.
* connect trainer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up max batches and dataloaders
* max batches handling
* no grad handling
* unused argument
* protected attrs
* unused imports
* undo unintentional rename
* consistent naming
* capitalization in docstring
* list all args
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: Carlos Mocholi <carlossmocholi@gmail.com>
Co-authored-by: tchaton <thomas@grid.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
2021-06-23 09:17:04 +00:00
|
|
|
|
|
|
|
@property
|
|
|
|
def should_store_predictions(self) -> bool:
|
|
|
|
"""Whether the predictions should be stored for later usage (e.g. aggregation or returning)"""
|
|
|
|
any_pred = any(cb.interval.on_epoch for cb in self.trainer.prediction_writer_callbacks)
|
|
|
|
return self.return_predictions or any_pred
|
|
|
|
|
2021-07-19 13:08:53 +00:00
|
|
|
def connect(self, **kwargs: "Loop") -> None:
|
|
|
|
raise NotImplementedError(f"{self.__class__.__name__} does not connect any child loops.")
|
|
|
|
|
Loop Refactor 5/N - Prediction Loop (#7700)
* integrate d180bb2
* Minor changes
* Refactor loop logic into logger connector
* Refactor test
* Tighter fx validator
* Add back split idx
* Typing
* update
* Conflict
* Fix tests
* resolve grad_norm
* update
* move to train loop
* Bye grad_norm_dict parameter
* Fix sync test
* update
* Fix bug when validation is run mid epoch
* fix grad_norm_dict test
* Fix fx_validator test
* fix grad_norm_dict test
* Fix order bug
* Detach tensors in test
* resolve some tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* resolve flake8
* Update test
* more tests
* Revert last thomas' changes
* resolve 1 test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor context restoration
* integrate latest changes from logger connector refactor poc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate latest changes from logger connector refactor poc
* Minor changes
* update changelog
* Remove unused argument
* Update CHANGELOG
* Copy call_hook changes
* Docs
* Fix ref
* move to cpu
* Bad merge
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* remove pdb
* Refactor to
* Avoid partial
* trigger ci
* Bad merge
* integrate latest logger connector changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove grad norm dicts list
* Diff
* properties first
* Bad merge
* Reuse metrics_to_scalars
* Use active loop
* Move to device
* resolve test
* integrate latest changes from logger connector poc
* define union
* define union
* Update logger connector
* Update result
* Update imports
* Update after rename
* Refactor reduce_fx and op
* Fix test after rename
* mypy
* integrate latest logger connector refactor poc changes
* Fix test
* Refactor test
* Deprecate `self.log(sync_dist_op)` in favor of `self.log(reduce_fx)`
* Undo field
* add redundant return
* rename
rename files and classes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename
* Replace code
* Fix names and imports
* Remove metric_attribute
* imports
* loop hygiene
* yapf on loops
* protected new loop trigger
* rename NEW LOOP guard
* integrate latest logger connector changes
* integrate latest logger connector changes (eval loop)
* resolve todo dataloading reset
* re-add notebooks
* add missing init
* bad merge
* remove NEW_LOOP guard
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* flake8
* exclude coverage
coverage
* integrate #7917, remove teardown from training loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update "accumulated_batches_reached" condition
based on if iter count was updated or not
* remove public loop properties
* make skip backward protected again
* typing base loop
* typing fit loop
* typing training_batch_loop
* typing evaluation loop
* typing prediction loop
* typing training epoch loop
* dataloader_loop
* evaluation_dataloader_loop
* prediction_dataloader_loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate train loop changes from master
* integrate eval loop changes from master
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix tpipes moving model to cpu and leaving it there.
* don't reset fit loop
don't reset fit loop
* fix test iteration count <-> batch_idx reset
* replace torch.Tensor -> Tensor
* fix attribute error to block_ddp_sync_behaviour
* fix flake8 and yapf conflict
* remove redundant override
* add classes
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
* trainer changes
* connect
* clean up
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update test renaming
* rename evaluation loop to evaluation epoch loop
* minor docstring improvements
* update chlog
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try ci fix
* update code owners for pl/loops
* update mock path
* re-order
* simplify dataloader reset
* simplify get_dataloaders()
* save predictions on_run_end()
* improve skip condition re-routing
* re-order
* remove unused type import
* check which assert is failing
* pig
* hobbit
* teardown for evaluation
* Revert "hobbit"
This reverts commit e81b0dbee31da813ba6ad58f74d236863c86d18e.
* Revert "pig"
This reverts commit 33d89e0720ce7380af80917b15a79362d9416ae7.
* Revert "check which assert is failing"
This reverts commit b7483b425cab95290eb2cbf354ccb0a77004df83.
* free memory in fit loop teardown
* update docstring
* period
* remove dead code
* else carlos
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/evaluation_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* update chlog
* unused imp
* move default construction in run_evaluation
* add something for lawyer to read
* switch typehint for eval loop trainer property
* add missing imports
* remove a todo that needs more discussion
* combine _get_num_dataloaders with the property
* Update pytorch_lightning/loops/dataloader/dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* black + yapf
* avoid coverage on old unused eval loop
* empty space in docstring
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
* resolve todo for args forwarding
* weekproxy trainer
* fix check for num dataloaders kwargs
* clean up num prediction dataloaders property
* free memory
* rm notebooks folder
* rm old file
* revert changes to old eval loop
* bad merge
* undo teardown
* setup signature
* remove file for notes
* free memory
* chlog
* Revert "weekproxy trainer"
This reverts commit d4e6969170b80db4c9e6111fa9af507c740cde4a.
* connect trainer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up max batches and dataloaders
* max batches handling
* no grad handling
* unused argument
* protected attrs
* unused imports
* undo unintentional rename
* consistent naming
* capitalization in docstring
* list all args
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: Carlos Mocholi <carlossmocholi@gmail.com>
Co-authored-by: tchaton <thomas@grid.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
2021-06-23 09:17:04 +00:00
|
|
|
def reset(self) -> None:
|
2021-09-06 12:49:09 +00:00
|
|
|
"""Resets the loops internal state."""
|
2021-12-02 10:36:10 +00:00
|
|
|
self._seen_batch_indices = []
|
2021-11-30 20:28:55 +00:00
|
|
|
self.predictions = []
|
2021-09-25 02:27:54 +00:00
|
|
|
self.batch_progress.reset_on_run()
|
Loop Refactor 5/N - Prediction Loop (#7700)
* integrate d180bb2
* Minor changes
* Refactor loop logic into logger connector
* Refactor test
* Tighter fx validator
* Add back split idx
* Typing
* update
* Conflict
* Fix tests
* resolve grad_norm
* update
* move to train loop
* Bye grad_norm_dict parameter
* Fix sync test
* update
* Fix bug when validation is run mid epoch
* fix grad_norm_dict test
* Fix fx_validator test
* fix grad_norm_dict test
* Fix order bug
* Detach tensors in test
* resolve some tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* resolve flake8
* Update test
* more tests
* Revert last thomas' changes
* resolve 1 test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor context restoration
* integrate latest changes from logger connector refactor poc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate latest changes from logger connector refactor poc
* Minor changes
* update changelog
* Remove unused argument
* Update CHANGELOG
* Copy call_hook changes
* Docs
* Fix ref
* move to cpu
* Bad merge
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* remove pdb
* Refactor to
* Avoid partial
* trigger ci
* Bad merge
* integrate latest logger connector changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove grad norm dicts list
* Diff
* properties first
* Bad merge
* Reuse metrics_to_scalars
* Use active loop
* Move to device
* resolve test
* integrate latest changes from logger connector poc
* define union
* define union
* Update logger connector
* Update result
* Update imports
* Update after rename
* Refactor reduce_fx and op
* Fix test after rename
* mypy
* integrate latest logger connector refactor poc changes
* Fix test
* Refactor test
* Deprecate `self.log(sync_dist_op)` in favor of `self.log(reduce_fx)`
* Undo field
* add redundant return
* rename
rename files and classes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename
* Replace code
* Fix names and imports
* Remove metric_attribute
* imports
* loop hygiene
* yapf on loops
* protected new loop trigger
* rename NEW LOOP guard
* integrate latest logger connector changes
* integrate latest logger connector changes (eval loop)
* resolve todo dataloading reset
* re-add notebooks
* add missing init
* bad merge
* remove NEW_LOOP guard
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* flake8
* exclude coverage
coverage
* integrate #7917, remove teardown from training loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update "accumulated_batches_reached" condition
based on if iter count was updated or not
* remove public loop properties
* make skip backward protected again
* typing base loop
* typing fit loop
* typing training_batch_loop
* typing evaluation loop
* typing prediction loop
* typing training epoch loop
* dataloader_loop
* evaluation_dataloader_loop
* prediction_dataloader_loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate train loop changes from master
* integrate eval loop changes from master
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix tpipes moving model to cpu and leaving it there.
* don't reset fit loop
don't reset fit loop
* fix test iteration count <-> batch_idx reset
* replace torch.Tensor -> Tensor
* fix attribute error to block_ddp_sync_behaviour
* fix flake8 and yapf conflict
* remove redundant override
* add classes
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
* trainer changes
* connect
* clean up
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update test renaming
* rename evaluation loop to evaluation epoch loop
* minor docstring improvements
* update chlog
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try ci fix
* update code owners for pl/loops
* update mock path
* re-order
* simplify dataloader reset
* simplify get_dataloaders()
* save predictions on_run_end()
* improve skip condition re-routing
* re-order
* remove unused type import
* check which assert is failing
* pig
* hobbit
* teardown for evaluation
* Revert "hobbit"
This reverts commit e81b0dbee31da813ba6ad58f74d236863c86d18e.
* Revert "pig"
This reverts commit 33d89e0720ce7380af80917b15a79362d9416ae7.
* Revert "check which assert is failing"
This reverts commit b7483b425cab95290eb2cbf354ccb0a77004df83.
* free memory in fit loop teardown
* update docstring
* period
* remove dead code
* else carlos
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/evaluation_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* update chlog
* unused imp
* move default construction in run_evaluation
* add something for lawyer to read
* switch typehint for eval loop trainer property
* add missing imports
* remove a todo that needs more discussion
* combine _get_num_dataloaders with the property
* Update pytorch_lightning/loops/dataloader/dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* black + yapf
* avoid coverage on old unused eval loop
* empty space in docstring
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
* resolve todo for args forwarding
* weekproxy trainer
* fix check for num dataloaders kwargs
* clean up num prediction dataloaders property
* free memory
* rm notebooks folder
* rm old file
* revert changes to old eval loop
* bad merge
* undo teardown
* setup signature
* remove file for notes
* free memory
* chlog
* Revert "weekproxy trainer"
This reverts commit d4e6969170b80db4c9e6111fa9af507c740cde4a.
* connect trainer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up max batches and dataloaders
* max batches handling
* no grad handling
* unused argument
* protected attrs
* unused imports
* undo unintentional rename
* consistent naming
* capitalization in docstring
* list all args
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: Carlos Mocholi <carlossmocholi@gmail.com>
Co-authored-by: tchaton <thomas@grid.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
2021-06-23 09:17:04 +00:00
|
|
|
|
2021-11-30 20:28:55 +00:00
|
|
|
def on_run_start( # type: ignore[override]
|
Loop Refactor 5/N - Prediction Loop (#7700)
* integrate d180bb2
* Minor changes
* Refactor loop logic into logger connector
* Refactor test
* Tighter fx validator
* Add back split idx
* Typing
* update
* Conflict
* Fix tests
* resolve grad_norm
* update
* move to train loop
* Bye grad_norm_dict parameter
* Fix sync test
* update
* Fix bug when validation is run mid epoch
* fix grad_norm_dict test
* Fix fx_validator test
* fix grad_norm_dict test
* Fix order bug
* Detach tensors in test
* resolve some tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* resolve flake8
* Update test
* more tests
* Revert last thomas' changes
* resolve 1 test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor context restoration
* integrate latest changes from logger connector refactor poc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate latest changes from logger connector refactor poc
* Minor changes
* update changelog
* Remove unused argument
* Update CHANGELOG
* Copy call_hook changes
* Docs
* Fix ref
* move to cpu
* Bad merge
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* remove pdb
* Refactor to
* Avoid partial
* trigger ci
* Bad merge
* integrate latest logger connector changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove grad norm dicts list
* Diff
* properties first
* Bad merge
* Reuse metrics_to_scalars
* Use active loop
* Move to device
* resolve test
* integrate latest changes from logger connector poc
* define union
* define union
* Update logger connector
* Update result
* Update imports
* Update after rename
* Refactor reduce_fx and op
* Fix test after rename
* mypy
* integrate latest logger connector refactor poc changes
* Fix test
* Refactor test
* Deprecate `self.log(sync_dist_op)` in favor of `self.log(reduce_fx)`
* Undo field
* add redundant return
* rename
rename files and classes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename
* Replace code
* Fix names and imports
* Remove metric_attribute
* imports
* loop hygiene
* yapf on loops
* protected new loop trigger
* rename NEW LOOP guard
* integrate latest logger connector changes
* integrate latest logger connector changes (eval loop)
* resolve todo dataloading reset
* re-add notebooks
* add missing init
* bad merge
* remove NEW_LOOP guard
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* flake8
* exclude coverage
coverage
* integrate #7917, remove teardown from training loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update "accumulated_batches_reached" condition
based on if iter count was updated or not
* remove public loop properties
* make skip backward protected again
* typing base loop
* typing fit loop
* typing training_batch_loop
* typing evaluation loop
* typing prediction loop
* typing training epoch loop
* dataloader_loop
* evaluation_dataloader_loop
* prediction_dataloader_loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate train loop changes from master
* integrate eval loop changes from master
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix tpipes moving model to cpu and leaving it there.
* don't reset fit loop
don't reset fit loop
* fix test iteration count <-> batch_idx reset
* replace torch.Tensor -> Tensor
* fix attribute error to block_ddp_sync_behaviour
* fix flake8 and yapf conflict
* remove redundant override
* add classes
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
* trainer changes
* connect
* clean up
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update test renaming
* rename evaluation loop to evaluation epoch loop
* minor docstring improvements
* update chlog
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try ci fix
* update code owners for pl/loops
* update mock path
* re-order
* simplify dataloader reset
* simplify get_dataloaders()
* save predictions on_run_end()
* improve skip condition re-routing
* re-order
* remove unused type import
* check which assert is failing
* pig
* hobbit
* teardown for evaluation
* Revert "hobbit"
This reverts commit e81b0dbee31da813ba6ad58f74d236863c86d18e.
* Revert "pig"
This reverts commit 33d89e0720ce7380af80917b15a79362d9416ae7.
* Revert "check which assert is failing"
This reverts commit b7483b425cab95290eb2cbf354ccb0a77004df83.
* free memory in fit loop teardown
* update docstring
* period
* remove dead code
* else carlos
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/evaluation_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* update chlog
* unused imp
* move default construction in run_evaluation
* add something for lawyer to read
* switch typehint for eval loop trainer property
* add missing imports
* remove a todo that needs more discussion
* combine _get_num_dataloaders with the property
* Update pytorch_lightning/loops/dataloader/dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* black + yapf
* avoid coverage on old unused eval loop
* empty space in docstring
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
* resolve todo for args forwarding
* weekproxy trainer
* fix check for num dataloaders kwargs
* clean up num prediction dataloaders property
* free memory
* rm notebooks folder
* rm old file
* revert changes to old eval loop
* bad merge
* undo teardown
* setup signature
* remove file for notes
* free memory
* chlog
* Revert "weekproxy trainer"
This reverts commit d4e6969170b80db4c9e6111fa9af507c740cde4a.
* connect trainer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up max batches and dataloaders
* max batches handling
* no grad handling
* unused argument
* protected attrs
* unused imports
* undo unintentional rename
* consistent naming
* capitalization in docstring
* list all args
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: Carlos Mocholi <carlossmocholi@gmail.com>
Co-authored-by: tchaton <thomas@grid.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
2021-06-23 09:17:04 +00:00
|
|
|
self,
|
|
|
|
dataloader_iter: Iterator,
|
|
|
|
dataloader_idx: int,
|
|
|
|
dl_max_batches: int,
|
|
|
|
num_dataloaders: int,
|
2021-07-26 11:37:35 +00:00
|
|
|
return_predictions: bool = False,
|
Loop Refactor 5/N - Prediction Loop (#7700)
* integrate d180bb2
* Minor changes
* Refactor loop logic into logger connector
* Refactor test
* Tighter fx validator
* Add back split idx
* Typing
* update
* Conflict
* Fix tests
* resolve grad_norm
* update
* move to train loop
* Bye grad_norm_dict parameter
* Fix sync test
* update
* Fix bug when validation is run mid epoch
* fix grad_norm_dict test
* Fix fx_validator test
* fix grad_norm_dict test
* Fix order bug
* Detach tensors in test
* resolve some tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* resolve flake8
* Update test
* more tests
* Revert last thomas' changes
* resolve 1 test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor context restoration
* integrate latest changes from logger connector refactor poc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate latest changes from logger connector refactor poc
* Minor changes
* update changelog
* Remove unused argument
* Update CHANGELOG
* Copy call_hook changes
* Docs
* Fix ref
* move to cpu
* Bad merge
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* remove pdb
* Refactor to
* Avoid partial
* trigger ci
* Bad merge
* integrate latest logger connector changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove grad norm dicts list
* Diff
* properties first
* Bad merge
* Reuse metrics_to_scalars
* Use active loop
* Move to device
* resolve test
* integrate latest changes from logger connector poc
* define union
* define union
* Update logger connector
* Update result
* Update imports
* Update after rename
* Refactor reduce_fx and op
* Fix test after rename
* mypy
* integrate latest logger connector refactor poc changes
* Fix test
* Refactor test
* Deprecate `self.log(sync_dist_op)` in favor of `self.log(reduce_fx)`
* Undo field
* add redundant return
* rename
rename files and classes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename
* Replace code
* Fix names and imports
* Remove metric_attribute
* imports
* loop hygiene
* yapf on loops
* protected new loop trigger
* rename NEW LOOP guard
* integrate latest logger connector changes
* integrate latest logger connector changes (eval loop)
* resolve todo dataloading reset
* re-add notebooks
* add missing init
* bad merge
* remove NEW_LOOP guard
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* flake8
* exclude coverage
coverage
* integrate #7917, remove teardown from training loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update "accumulated_batches_reached" condition
based on if iter count was updated or not
* remove public loop properties
* make skip backward protected again
* typing base loop
* typing fit loop
* typing training_batch_loop
* typing evaluation loop
* typing prediction loop
* typing training epoch loop
* dataloader_loop
* evaluation_dataloader_loop
* prediction_dataloader_loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate train loop changes from master
* integrate eval loop changes from master
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix tpipes moving model to cpu and leaving it there.
* don't reset fit loop
don't reset fit loop
* fix test iteration count <-> batch_idx reset
* replace torch.Tensor -> Tensor
* fix attribute error to block_ddp_sync_behaviour
* fix flake8 and yapf conflict
* remove redundant override
* add classes
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
* trainer changes
* connect
* clean up
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update test renaming
* rename evaluation loop to evaluation epoch loop
* minor docstring improvements
* update chlog
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try ci fix
* update code owners for pl/loops
* update mock path
* re-order
* simplify dataloader reset
* simplify get_dataloaders()
* save predictions on_run_end()
* improve skip condition re-routing
* re-order
* remove unused type import
* check which assert is failing
* pig
* hobbit
* teardown for evaluation
* Revert "hobbit"
This reverts commit e81b0dbee31da813ba6ad58f74d236863c86d18e.
* Revert "pig"
This reverts commit 33d89e0720ce7380af80917b15a79362d9416ae7.
* Revert "check which assert is failing"
This reverts commit b7483b425cab95290eb2cbf354ccb0a77004df83.
* free memory in fit loop teardown
* update docstring
* period
* remove dead code
* else carlos
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/evaluation_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* update chlog
* unused imp
* move default construction in run_evaluation
* add something for lawyer to read
* switch typehint for eval loop trainer property
* add missing imports
* remove a todo that needs more discussion
* combine _get_num_dataloaders with the property
* Update pytorch_lightning/loops/dataloader/dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* black + yapf
* avoid coverage on old unused eval loop
* empty space in docstring
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
* resolve todo for args forwarding
* weekproxy trainer
* fix check for num dataloaders kwargs
* clean up num prediction dataloaders property
* free memory
* rm notebooks folder
* rm old file
* revert changes to old eval loop
* bad merge
* undo teardown
* setup signature
* remove file for notes
* free memory
* chlog
* Revert "weekproxy trainer"
This reverts commit d4e6969170b80db4c9e6111fa9af507c740cde4a.
* connect trainer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up max batches and dataloaders
* max batches handling
* no grad handling
* unused argument
* protected attrs
* unused imports
* undo unintentional rename
* consistent naming
* capitalization in docstring
* list all args
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: Carlos Mocholi <carlossmocholi@gmail.com>
Co-authored-by: tchaton <thomas@grid.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
2021-06-23 09:17:04 +00:00
|
|
|
) -> None:
|
2021-09-06 12:49:09 +00:00
|
|
|
"""Prepares the loops internal state.
|
Loop Refactor 5/N - Prediction Loop (#7700)
* integrate d180bb2
* Minor changes
* Refactor loop logic into logger connector
* Refactor test
* Tighter fx validator
* Add back split idx
* Typing
* update
* Conflict
* Fix tests
* resolve grad_norm
* update
* move to train loop
* Bye grad_norm_dict parameter
* Fix sync test
* update
* Fix bug when validation is run mid epoch
* fix grad_norm_dict test
* Fix fx_validator test
* fix grad_norm_dict test
* Fix order bug
* Detach tensors in test
* resolve some tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* resolve flake8
* Update test
* more tests
* Revert last thomas' changes
* resolve 1 test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor context restoration
* integrate latest changes from logger connector refactor poc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate latest changes from logger connector refactor poc
* Minor changes
* update changelog
* Remove unused argument
* Update CHANGELOG
* Copy call_hook changes
* Docs
* Fix ref
* move to cpu
* Bad merge
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* remove pdb
* Refactor to
* Avoid partial
* trigger ci
* Bad merge
* integrate latest logger connector changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove grad norm dicts list
* Diff
* properties first
* Bad merge
* Reuse metrics_to_scalars
* Use active loop
* Move to device
* resolve test
* integrate latest changes from logger connector poc
* define union
* define union
* Update logger connector
* Update result
* Update imports
* Update after rename
* Refactor reduce_fx and op
* Fix test after rename
* mypy
* integrate latest logger connector refactor poc changes
* Fix test
* Refactor test
* Deprecate `self.log(sync_dist_op)` in favor of `self.log(reduce_fx)`
* Undo field
* add redundant return
* rename
rename files and classes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename
* Replace code
* Fix names and imports
* Remove metric_attribute
* imports
* loop hygiene
* yapf on loops
* protected new loop trigger
* rename NEW LOOP guard
* integrate latest logger connector changes
* integrate latest logger connector changes (eval loop)
* resolve todo dataloading reset
* re-add notebooks
* add missing init
* bad merge
* remove NEW_LOOP guard
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* flake8
* exclude coverage
coverage
* integrate #7917, remove teardown from training loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update "accumulated_batches_reached" condition
based on if iter count was updated or not
* remove public loop properties
* make skip backward protected again
* typing base loop
* typing fit loop
* typing training_batch_loop
* typing evaluation loop
* typing prediction loop
* typing training epoch loop
* dataloader_loop
* evaluation_dataloader_loop
* prediction_dataloader_loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate train loop changes from master
* integrate eval loop changes from master
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix tpipes moving model to cpu and leaving it there.
* don't reset fit loop
don't reset fit loop
* fix test iteration count <-> batch_idx reset
* replace torch.Tensor -> Tensor
* fix attribute error to block_ddp_sync_behaviour
* fix flake8 and yapf conflict
* remove redundant override
* add classes
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
* trainer changes
* connect
* clean up
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update test renaming
* rename evaluation loop to evaluation epoch loop
* minor docstring improvements
* update chlog
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try ci fix
* update code owners for pl/loops
* update mock path
* re-order
* simplify dataloader reset
* simplify get_dataloaders()
* save predictions on_run_end()
* improve skip condition re-routing
* re-order
* remove unused type import
* check which assert is failing
* pig
* hobbit
* teardown for evaluation
* Revert "hobbit"
This reverts commit e81b0dbee31da813ba6ad58f74d236863c86d18e.
* Revert "pig"
This reverts commit 33d89e0720ce7380af80917b15a79362d9416ae7.
* Revert "check which assert is failing"
This reverts commit b7483b425cab95290eb2cbf354ccb0a77004df83.
* free memory in fit loop teardown
* update docstring
* period
* remove dead code
* else carlos
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/evaluation_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* update chlog
* unused imp
* move default construction in run_evaluation
* add something for lawyer to read
* switch typehint for eval loop trainer property
* add missing imports
* remove a todo that needs more discussion
* combine _get_num_dataloaders with the property
* Update pytorch_lightning/loops/dataloader/dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* black + yapf
* avoid coverage on old unused eval loop
* empty space in docstring
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
* resolve todo for args forwarding
* weekproxy trainer
* fix check for num dataloaders kwargs
* clean up num prediction dataloaders property
* free memory
* rm notebooks folder
* rm old file
* revert changes to old eval loop
* bad merge
* undo teardown
* setup signature
* remove file for notes
* free memory
* chlog
* Revert "weekproxy trainer"
This reverts commit d4e6969170b80db4c9e6111fa9af507c740cde4a.
* connect trainer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up max batches and dataloaders
* max batches handling
* no grad handling
* unused argument
* protected attrs
* unused imports
* undo unintentional rename
* consistent naming
* capitalization in docstring
* list all args
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: Carlos Mocholi <carlossmocholi@gmail.com>
Co-authored-by: tchaton <thomas@grid.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
2021-06-23 09:17:04 +00:00
|
|
|
|
|
|
|
Args:
|
|
|
|
dataloader_iter: the iterator over the current dataloader
|
|
|
|
dataloader_idx: the index of the current dataloader
|
|
|
|
dl_max_batches: the maximum number of batches the current loader can produce
|
|
|
|
num_dataloaders: the total number of dataloaders
|
|
|
|
return_predictions: whether to return the obtained predictions
|
|
|
|
"""
|
|
|
|
void(dataloader_iter, dataloader_idx)
|
|
|
|
self._dl_max_batches = dl_max_batches
|
|
|
|
self._num_dataloaders = num_dataloaders
|
|
|
|
self.return_predictions = return_predictions
|
2021-12-21 14:40:41 +00:00
|
|
|
# this call requires that `self.return_predictions` is set
|
|
|
|
self._seen_batch_indices = self._get_batch_indices(dataloader_idx)
|
Loop Refactor 5/N - Prediction Loop (#7700)
* integrate d180bb2
* Minor changes
* Refactor loop logic into logger connector
* Refactor test
* Tighter fx validator
* Add back split idx
* Typing
* update
* Conflict
* Fix tests
* resolve grad_norm
* update
* move to train loop
* Bye grad_norm_dict parameter
* Fix sync test
* update
* Fix bug when validation is run mid epoch
* fix grad_norm_dict test
* Fix fx_validator test
* fix grad_norm_dict test
* Fix order bug
* Detach tensors in test
* resolve some tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* resolve flake8
* Update test
* more tests
* Revert last thomas' changes
* resolve 1 test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor context restoration
* integrate latest changes from logger connector refactor poc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate latest changes from logger connector refactor poc
* Minor changes
* update changelog
* Remove unused argument
* Update CHANGELOG
* Copy call_hook changes
* Docs
* Fix ref
* move to cpu
* Bad merge
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* remove pdb
* Refactor to
* Avoid partial
* trigger ci
* Bad merge
* integrate latest logger connector changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove grad norm dicts list
* Diff
* properties first
* Bad merge
* Reuse metrics_to_scalars
* Use active loop
* Move to device
* resolve test
* integrate latest changes from logger connector poc
* define union
* define union
* Update logger connector
* Update result
* Update imports
* Update after rename
* Refactor reduce_fx and op
* Fix test after rename
* mypy
* integrate latest logger connector refactor poc changes
* Fix test
* Refactor test
* Deprecate `self.log(sync_dist_op)` in favor of `self.log(reduce_fx)`
* Undo field
* add redundant return
* rename
rename files and classes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename
* Replace code
* Fix names and imports
* Remove metric_attribute
* imports
* loop hygiene
* yapf on loops
* protected new loop trigger
* rename NEW LOOP guard
* integrate latest logger connector changes
* integrate latest logger connector changes (eval loop)
* resolve todo dataloading reset
* re-add notebooks
* add missing init
* bad merge
* remove NEW_LOOP guard
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* flake8
* exclude coverage
coverage
* integrate #7917, remove teardown from training loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update "accumulated_batches_reached" condition
based on if iter count was updated or not
* remove public loop properties
* make skip backward protected again
* typing base loop
* typing fit loop
* typing training_batch_loop
* typing evaluation loop
* typing prediction loop
* typing training epoch loop
* dataloader_loop
* evaluation_dataloader_loop
* prediction_dataloader_loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate train loop changes from master
* integrate eval loop changes from master
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix tpipes moving model to cpu and leaving it there.
* don't reset fit loop
don't reset fit loop
* fix test iteration count <-> batch_idx reset
* replace torch.Tensor -> Tensor
* fix attribute error to block_ddp_sync_behaviour
* fix flake8 and yapf conflict
* remove redundant override
* add classes
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
* trainer changes
* connect
* clean up
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update test renaming
* rename evaluation loop to evaluation epoch loop
* minor docstring improvements
* update chlog
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try ci fix
* update code owners for pl/loops
* update mock path
* re-order
* simplify dataloader reset
* simplify get_dataloaders()
* save predictions on_run_end()
* improve skip condition re-routing
* re-order
* remove unused type import
* check which assert is failing
* pig
* hobbit
* teardown for evaluation
* Revert "hobbit"
This reverts commit e81b0dbee31da813ba6ad58f74d236863c86d18e.
* Revert "pig"
This reverts commit 33d89e0720ce7380af80917b15a79362d9416ae7.
* Revert "check which assert is failing"
This reverts commit b7483b425cab95290eb2cbf354ccb0a77004df83.
* free memory in fit loop teardown
* update docstring
* period
* remove dead code
* else carlos
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/evaluation_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* update chlog
* unused imp
* move default construction in run_evaluation
* add something for lawyer to read
* switch typehint for eval loop trainer property
* add missing imports
* remove a todo that needs more discussion
* combine _get_num_dataloaders with the property
* Update pytorch_lightning/loops/dataloader/dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* black + yapf
* avoid coverage on old unused eval loop
* empty space in docstring
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
* resolve todo for args forwarding
* weekproxy trainer
* fix check for num dataloaders kwargs
* clean up num prediction dataloaders property
* free memory
* rm notebooks folder
* rm old file
* revert changes to old eval loop
* bad merge
* undo teardown
* setup signature
* remove file for notes
* free memory
* chlog
* Revert "weekproxy trainer"
This reverts commit d4e6969170b80db4c9e6111fa9af507c740cde4a.
* connect trainer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up max batches and dataloaders
* max batches handling
* no grad handling
* unused argument
* protected attrs
* unused imports
* undo unintentional rename
* consistent naming
* capitalization in docstring
* list all args
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: Carlos Mocholi <carlossmocholi@gmail.com>
Co-authored-by: tchaton <thomas@grid.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
2021-06-23 09:17:04 +00:00
|
|
|
|
2021-11-30 20:28:55 +00:00
|
|
|
def advance( # type: ignore[override]
|
Loop Refactor 5/N - Prediction Loop (#7700)
* integrate d180bb2
* Minor changes
* Refactor loop logic into logger connector
* Refactor test
* Tighter fx validator
* Add back split idx
* Typing
* update
* Conflict
* Fix tests
* resolve grad_norm
* update
* move to train loop
* Bye grad_norm_dict parameter
* Fix sync test
* update
* Fix bug when validation is run mid epoch
* fix grad_norm_dict test
* Fix fx_validator test
* fix grad_norm_dict test
* Fix order bug
* Detach tensors in test
* resolve some tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* resolve flake8
* Update test
* more tests
* Revert last thomas' changes
* resolve 1 test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor context restoration
* integrate latest changes from logger connector refactor poc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate latest changes from logger connector refactor poc
* Minor changes
* update changelog
* Remove unused argument
* Update CHANGELOG
* Copy call_hook changes
* Docs
* Fix ref
* move to cpu
* Bad merge
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* remove pdb
* Refactor to
* Avoid partial
* trigger ci
* Bad merge
* integrate latest logger connector changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove grad norm dicts list
* Diff
* properties first
* Bad merge
* Reuse metrics_to_scalars
* Use active loop
* Move to device
* resolve test
* integrate latest changes from logger connector poc
* define union
* define union
* Update logger connector
* Update result
* Update imports
* Update after rename
* Refactor reduce_fx and op
* Fix test after rename
* mypy
* integrate latest logger connector refactor poc changes
* Fix test
* Refactor test
* Deprecate `self.log(sync_dist_op)` in favor of `self.log(reduce_fx)`
* Undo field
* add redundant return
* rename
rename files and classes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename
* Replace code
* Fix names and imports
* Remove metric_attribute
* imports
* loop hygiene
* yapf on loops
* protected new loop trigger
* rename NEW LOOP guard
* integrate latest logger connector changes
* integrate latest logger connector changes (eval loop)
* resolve todo dataloading reset
* re-add notebooks
* add missing init
* bad merge
* remove NEW_LOOP guard
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* flake8
* exclude coverage
coverage
* integrate #7917, remove teardown from training loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update "accumulated_batches_reached" condition
based on if iter count was updated or not
* remove public loop properties
* make skip backward protected again
* typing base loop
* typing fit loop
* typing training_batch_loop
* typing evaluation loop
* typing prediction loop
* typing training epoch loop
* dataloader_loop
* evaluation_dataloader_loop
* prediction_dataloader_loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate train loop changes from master
* integrate eval loop changes from master
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix tpipes moving model to cpu and leaving it there.
* don't reset fit loop
don't reset fit loop
* fix test iteration count <-> batch_idx reset
* replace torch.Tensor -> Tensor
* fix attribute error to block_ddp_sync_behaviour
* fix flake8 and yapf conflict
* remove redundant override
* add classes
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
* trainer changes
* connect
* clean up
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update test renaming
* rename evaluation loop to evaluation epoch loop
* minor docstring improvements
* update chlog
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try ci fix
* update code owners for pl/loops
* update mock path
* re-order
* simplify dataloader reset
* simplify get_dataloaders()
* save predictions on_run_end()
* improve skip condition re-routing
* re-order
* remove unused type import
* check which assert is failing
* pig
* hobbit
* teardown for evaluation
* Revert "hobbit"
This reverts commit e81b0dbee31da813ba6ad58f74d236863c86d18e.
* Revert "pig"
This reverts commit 33d89e0720ce7380af80917b15a79362d9416ae7.
* Revert "check which assert is failing"
This reverts commit b7483b425cab95290eb2cbf354ccb0a77004df83.
* free memory in fit loop teardown
* update docstring
* period
* remove dead code
* else carlos
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/evaluation_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* update chlog
* unused imp
* move default construction in run_evaluation
* add something for lawyer to read
* switch typehint for eval loop trainer property
* add missing imports
* remove a todo that needs more discussion
* combine _get_num_dataloaders with the property
* Update pytorch_lightning/loops/dataloader/dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* black + yapf
* avoid coverage on old unused eval loop
* empty space in docstring
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
* resolve todo for args forwarding
* weekproxy trainer
* fix check for num dataloaders kwargs
* clean up num prediction dataloaders property
* free memory
* rm notebooks folder
* rm old file
* revert changes to old eval loop
* bad merge
* undo teardown
* setup signature
* remove file for notes
* free memory
* chlog
* Revert "weekproxy trainer"
This reverts commit d4e6969170b80db4c9e6111fa9af507c740cde4a.
* connect trainer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up max batches and dataloaders
* max batches handling
* no grad handling
* unused argument
* protected attrs
* unused imports
* undo unintentional rename
* consistent naming
* capitalization in docstring
* list all args
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: Carlos Mocholi <carlossmocholi@gmail.com>
Co-authored-by: tchaton <thomas@grid.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
2021-06-23 09:17:04 +00:00
|
|
|
self,
|
|
|
|
dataloader_iter: Iterator,
|
|
|
|
dataloader_idx: int,
|
|
|
|
dl_max_batches: int,
|
|
|
|
num_dataloaders: int,
|
2021-07-26 11:37:35 +00:00
|
|
|
return_predictions: bool = False,
|
Loop Refactor 5/N - Prediction Loop (#7700)
* integrate d180bb2
* Minor changes
* Refactor loop logic into logger connector
* Refactor test
* Tighter fx validator
* Add back split idx
* Typing
* update
* Conflict
* Fix tests
* resolve grad_norm
* update
* move to train loop
* Bye grad_norm_dict parameter
* Fix sync test
* update
* Fix bug when validation is run mid epoch
* fix grad_norm_dict test
* Fix fx_validator test
* fix grad_norm_dict test
* Fix order bug
* Detach tensors in test
* resolve some tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* resolve flake8
* Update test
* more tests
* Revert last thomas' changes
* resolve 1 test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor context restoration
* integrate latest changes from logger connector refactor poc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate latest changes from logger connector refactor poc
* Minor changes
* update changelog
* Remove unused argument
* Update CHANGELOG
* Copy call_hook changes
* Docs
* Fix ref
* move to cpu
* Bad merge
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* remove pdb
* Refactor to
* Avoid partial
* trigger ci
* Bad merge
* integrate latest logger connector changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove grad norm dicts list
* Diff
* properties first
* Bad merge
* Reuse metrics_to_scalars
* Use active loop
* Move to device
* resolve test
* integrate latest changes from logger connector poc
* define union
* define union
* Update logger connector
* Update result
* Update imports
* Update after rename
* Refactor reduce_fx and op
* Fix test after rename
* mypy
* integrate latest logger connector refactor poc changes
* Fix test
* Refactor test
* Deprecate `self.log(sync_dist_op)` in favor of `self.log(reduce_fx)`
* Undo field
* add redundant return
* rename
rename files and classes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename
* Replace code
* Fix names and imports
* Remove metric_attribute
* imports
* loop hygiene
* yapf on loops
* protected new loop trigger
* rename NEW LOOP guard
* integrate latest logger connector changes
* integrate latest logger connector changes (eval loop)
* resolve todo dataloading reset
* re-add notebooks
* add missing init
* bad merge
* remove NEW_LOOP guard
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* flake8
* exclude coverage
coverage
* integrate #7917, remove teardown from training loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update "accumulated_batches_reached" condition
based on if iter count was updated or not
* remove public loop properties
* make skip backward protected again
* typing base loop
* typing fit loop
* typing training_batch_loop
* typing evaluation loop
* typing prediction loop
* typing training epoch loop
* dataloader_loop
* evaluation_dataloader_loop
* prediction_dataloader_loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate train loop changes from master
* integrate eval loop changes from master
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix tpipes moving model to cpu and leaving it there.
* don't reset fit loop
don't reset fit loop
* fix test iteration count <-> batch_idx reset
* replace torch.Tensor -> Tensor
* fix attribute error to block_ddp_sync_behaviour
* fix flake8 and yapf conflict
* remove redundant override
* add classes
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
* trainer changes
* connect
* clean up
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update test renaming
* rename evaluation loop to evaluation epoch loop
* minor docstring improvements
* update chlog
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try ci fix
* update code owners for pl/loops
* update mock path
* re-order
* simplify dataloader reset
* simplify get_dataloaders()
* save predictions on_run_end()
* improve skip condition re-routing
* re-order
* remove unused type import
* check which assert is failing
* pig
* hobbit
* teardown for evaluation
* Revert "hobbit"
This reverts commit e81b0dbee31da813ba6ad58f74d236863c86d18e.
* Revert "pig"
This reverts commit 33d89e0720ce7380af80917b15a79362d9416ae7.
* Revert "check which assert is failing"
This reverts commit b7483b425cab95290eb2cbf354ccb0a77004df83.
* free memory in fit loop teardown
* update docstring
* period
* remove dead code
* else carlos
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/evaluation_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* update chlog
* unused imp
* move default construction in run_evaluation
* add something for lawyer to read
* switch typehint for eval loop trainer property
* add missing imports
* remove a todo that needs more discussion
* combine _get_num_dataloaders with the property
* Update pytorch_lightning/loops/dataloader/dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* black + yapf
* avoid coverage on old unused eval loop
* empty space in docstring
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
* resolve todo for args forwarding
* weekproxy trainer
* fix check for num dataloaders kwargs
* clean up num prediction dataloaders property
* free memory
* rm notebooks folder
* rm old file
* revert changes to old eval loop
* bad merge
* undo teardown
* setup signature
* remove file for notes
* free memory
* chlog
* Revert "weekproxy trainer"
This reverts commit d4e6969170b80db4c9e6111fa9af507c740cde4a.
* connect trainer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up max batches and dataloaders
* max batches handling
* no grad handling
* unused argument
* protected attrs
* unused imports
* undo unintentional rename
* consistent naming
* capitalization in docstring
* list all args
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: Carlos Mocholi <carlossmocholi@gmail.com>
Co-authored-by: tchaton <thomas@grid.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
2021-06-23 09:17:04 +00:00
|
|
|
) -> None:
|
2021-09-06 12:49:09 +00:00
|
|
|
"""Runs one prediction step.
|
Loop Refactor 5/N - Prediction Loop (#7700)
* integrate d180bb2
* Minor changes
* Refactor loop logic into logger connector
* Refactor test
* Tighter fx validator
* Add back split idx
* Typing
* update
* Conflict
* Fix tests
* resolve grad_norm
* update
* move to train loop
* Bye grad_norm_dict parameter
* Fix sync test
* update
* Fix bug when validation is run mid epoch
* fix grad_norm_dict test
* Fix fx_validator test
* fix grad_norm_dict test
* Fix order bug
* Detach tensors in test
* resolve some tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* resolve flake8
* Update test
* more tests
* Revert last thomas' changes
* resolve 1 test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor context restoration
* integrate latest changes from logger connector refactor poc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate latest changes from logger connector refactor poc
* Minor changes
* update changelog
* Remove unused argument
* Update CHANGELOG
* Copy call_hook changes
* Docs
* Fix ref
* move to cpu
* Bad merge
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* remove pdb
* Refactor to
* Avoid partial
* trigger ci
* Bad merge
* integrate latest logger connector changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove grad norm dicts list
* Diff
* properties first
* Bad merge
* Reuse metrics_to_scalars
* Use active loop
* Move to device
* resolve test
* integrate latest changes from logger connector poc
* define union
* define union
* Update logger connector
* Update result
* Update imports
* Update after rename
* Refactor reduce_fx and op
* Fix test after rename
* mypy
* integrate latest logger connector refactor poc changes
* Fix test
* Refactor test
* Deprecate `self.log(sync_dist_op)` in favor of `self.log(reduce_fx)`
* Undo field
* add redundant return
* rename
rename files and classes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename
* Replace code
* Fix names and imports
* Remove metric_attribute
* imports
* loop hygiene
* yapf on loops
* protected new loop trigger
* rename NEW LOOP guard
* integrate latest logger connector changes
* integrate latest logger connector changes (eval loop)
* resolve todo dataloading reset
* re-add notebooks
* add missing init
* bad merge
* remove NEW_LOOP guard
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* flake8
* exclude coverage
coverage
* integrate #7917, remove teardown from training loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update "accumulated_batches_reached" condition
based on if iter count was updated or not
* remove public loop properties
* make skip backward protected again
* typing base loop
* typing fit loop
* typing training_batch_loop
* typing evaluation loop
* typing prediction loop
* typing training epoch loop
* dataloader_loop
* evaluation_dataloader_loop
* prediction_dataloader_loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate train loop changes from master
* integrate eval loop changes from master
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix tpipes moving model to cpu and leaving it there.
* don't reset fit loop
don't reset fit loop
* fix test iteration count <-> batch_idx reset
* replace torch.Tensor -> Tensor
* fix attribute error to block_ddp_sync_behaviour
* fix flake8 and yapf conflict
* remove redundant override
* add classes
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
* trainer changes
* connect
* clean up
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update test renaming
* rename evaluation loop to evaluation epoch loop
* minor docstring improvements
* update chlog
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try ci fix
* update code owners for pl/loops
* update mock path
* re-order
* simplify dataloader reset
* simplify get_dataloaders()
* save predictions on_run_end()
* improve skip condition re-routing
* re-order
* remove unused type import
* check which assert is failing
* pig
* hobbit
* teardown for evaluation
* Revert "hobbit"
This reverts commit e81b0dbee31da813ba6ad58f74d236863c86d18e.
* Revert "pig"
This reverts commit 33d89e0720ce7380af80917b15a79362d9416ae7.
* Revert "check which assert is failing"
This reverts commit b7483b425cab95290eb2cbf354ccb0a77004df83.
* free memory in fit loop teardown
* update docstring
* period
* remove dead code
* else carlos
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/evaluation_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* update chlog
* unused imp
* move default construction in run_evaluation
* add something for lawyer to read
* switch typehint for eval loop trainer property
* add missing imports
* remove a todo that needs more discussion
* combine _get_num_dataloaders with the property
* Update pytorch_lightning/loops/dataloader/dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* black + yapf
* avoid coverage on old unused eval loop
* empty space in docstring
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
* resolve todo for args forwarding
* weekproxy trainer
* fix check for num dataloaders kwargs
* clean up num prediction dataloaders property
* free memory
* rm notebooks folder
* rm old file
* revert changes to old eval loop
* bad merge
* undo teardown
* setup signature
* remove file for notes
* free memory
* chlog
* Revert "weekproxy trainer"
This reverts commit d4e6969170b80db4c9e6111fa9af507c740cde4a.
* connect trainer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up max batches and dataloaders
* max batches handling
* no grad handling
* unused argument
* protected attrs
* unused imports
* undo unintentional rename
* consistent naming
* capitalization in docstring
* list all args
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: Carlos Mocholi <carlossmocholi@gmail.com>
Co-authored-by: tchaton <thomas@grid.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
2021-06-23 09:17:04 +00:00
|
|
|
|
|
|
|
Args:
|
|
|
|
dataloader_iter: the iterator over the current dataloader
|
|
|
|
dataloader_idx: the index of the current dataloader
|
|
|
|
dl_max_batches: the maximum number of batches the current loader can produce
|
|
|
|
num_dataloaders: the total number of dataloaders
|
|
|
|
return_predictions: whether to return the obtained predictions
|
|
|
|
"""
|
|
|
|
batch_idx, batch = next(dataloader_iter)
|
2021-12-02 10:36:10 +00:00
|
|
|
self._seen_batch_indices = self._get_batch_indices(dataloader_idx)
|
2022-02-17 01:27:51 +00:00
|
|
|
# we need to truncate the list of batch indices due to prefetching in the dataloader and Lightning
|
2021-12-02 10:36:10 +00:00
|
|
|
self._seen_batch_indices = self._seen_batch_indices[: (self.batch_progress.current.completed + 1)]
|
|
|
|
|
Loop Refactor 5/N - Prediction Loop (#7700)
* integrate d180bb2
* Minor changes
* Refactor loop logic into logger connector
* Refactor test
* Tighter fx validator
* Add back split idx
* Typing
* update
* Conflict
* Fix tests
* resolve grad_norm
* update
* move to train loop
* Bye grad_norm_dict parameter
* Fix sync test
* update
* Fix bug when validation is run mid epoch
* fix grad_norm_dict test
* Fix fx_validator test
* fix grad_norm_dict test
* Fix order bug
* Detach tensors in test
* resolve some tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* resolve flake8
* Update test
* more tests
* Revert last thomas' changes
* resolve 1 test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor context restoration
* integrate latest changes from logger connector refactor poc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate latest changes from logger connector refactor poc
* Minor changes
* update changelog
* Remove unused argument
* Update CHANGELOG
* Copy call_hook changes
* Docs
* Fix ref
* move to cpu
* Bad merge
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* remove pdb
* Refactor to
* Avoid partial
* trigger ci
* Bad merge
* integrate latest logger connector changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove grad norm dicts list
* Diff
* properties first
* Bad merge
* Reuse metrics_to_scalars
* Use active loop
* Move to device
* resolve test
* integrate latest changes from logger connector poc
* define union
* define union
* Update logger connector
* Update result
* Update imports
* Update after rename
* Refactor reduce_fx and op
* Fix test after rename
* mypy
* integrate latest logger connector refactor poc changes
* Fix test
* Refactor test
* Deprecate `self.log(sync_dist_op)` in favor of `self.log(reduce_fx)`
* Undo field
* add redundant return
* rename
rename files and classes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename
* Replace code
* Fix names and imports
* Remove metric_attribute
* imports
* loop hygiene
* yapf on loops
* protected new loop trigger
* rename NEW LOOP guard
* integrate latest logger connector changes
* integrate latest logger connector changes (eval loop)
* resolve todo dataloading reset
* re-add notebooks
* add missing init
* bad merge
* remove NEW_LOOP guard
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* flake8
* exclude coverage
coverage
* integrate #7917, remove teardown from training loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update "accumulated_batches_reached" condition
based on if iter count was updated or not
* remove public loop properties
* make skip backward protected again
* typing base loop
* typing fit loop
* typing training_batch_loop
* typing evaluation loop
* typing prediction loop
* typing training epoch loop
* dataloader_loop
* evaluation_dataloader_loop
* prediction_dataloader_loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate train loop changes from master
* integrate eval loop changes from master
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix tpipes moving model to cpu and leaving it there.
* don't reset fit loop
don't reset fit loop
* fix test iteration count <-> batch_idx reset
* replace torch.Tensor -> Tensor
* fix attribute error to block_ddp_sync_behaviour
* fix flake8 and yapf conflict
* remove redundant override
* add classes
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
* trainer changes
* connect
* clean up
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update test renaming
* rename evaluation loop to evaluation epoch loop
* minor docstring improvements
* update chlog
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try ci fix
* update code owners for pl/loops
* update mock path
* re-order
* simplify dataloader reset
* simplify get_dataloaders()
* save predictions on_run_end()
* improve skip condition re-routing
* re-order
* remove unused type import
* check which assert is failing
* pig
* hobbit
* teardown for evaluation
* Revert "hobbit"
This reverts commit e81b0dbee31da813ba6ad58f74d236863c86d18e.
* Revert "pig"
This reverts commit 33d89e0720ce7380af80917b15a79362d9416ae7.
* Revert "check which assert is failing"
This reverts commit b7483b425cab95290eb2cbf354ccb0a77004df83.
* free memory in fit loop teardown
* update docstring
* period
* remove dead code
* else carlos
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/evaluation_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* update chlog
* unused imp
* move default construction in run_evaluation
* add something for lawyer to read
* switch typehint for eval loop trainer property
* add missing imports
* remove a todo that needs more discussion
* combine _get_num_dataloaders with the property
* Update pytorch_lightning/loops/dataloader/dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* black + yapf
* avoid coverage on old unused eval loop
* empty space in docstring
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
* resolve todo for args forwarding
* weekproxy trainer
* fix check for num dataloaders kwargs
* clean up num prediction dataloaders property
* free memory
* rm notebooks folder
* rm old file
* revert changes to old eval loop
* bad merge
* undo teardown
* setup signature
* remove file for notes
* free memory
* chlog
* Revert "weekproxy trainer"
This reverts commit d4e6969170b80db4c9e6111fa9af507c740cde4a.
* connect trainer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up max batches and dataloaders
* max batches handling
* no grad handling
* unused argument
* protected attrs
* unused imports
* undo unintentional rename
* consistent naming
* capitalization in docstring
* list all args
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: Carlos Mocholi <carlossmocholi@gmail.com>
Co-authored-by: tchaton <thomas@grid.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
2021-06-23 09:17:04 +00:00
|
|
|
if batch is None:
|
|
|
|
raise StopIteration
|
|
|
|
|
2021-12-19 01:53:03 +00:00
|
|
|
batch = self.trainer._call_strategy_hook("batch_to_device", batch, dataloader_idx=dataloader_idx)
|
2021-07-05 08:31:39 +00:00
|
|
|
|
2021-07-19 08:31:45 +00:00
|
|
|
self.batch_progress.increment_ready()
|
|
|
|
|
2021-12-14 19:49:19 +00:00
|
|
|
self._predict_step(batch, batch_idx, dataloader_idx)
|
Loop Refactor 5/N - Prediction Loop (#7700)
* integrate d180bb2
* Minor changes
* Refactor loop logic into logger connector
* Refactor test
* Tighter fx validator
* Add back split idx
* Typing
* update
* Conflict
* Fix tests
* resolve grad_norm
* update
* move to train loop
* Bye grad_norm_dict parameter
* Fix sync test
* update
* Fix bug when validation is run mid epoch
* fix grad_norm_dict test
* Fix fx_validator test
* fix grad_norm_dict test
* Fix order bug
* Detach tensors in test
* resolve some tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* resolve flake8
* Update test
* more tests
* Revert last thomas' changes
* resolve 1 test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor context restoration
* integrate latest changes from logger connector refactor poc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate latest changes from logger connector refactor poc
* Minor changes
* update changelog
* Remove unused argument
* Update CHANGELOG
* Copy call_hook changes
* Docs
* Fix ref
* move to cpu
* Bad merge
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* remove pdb
* Refactor to
* Avoid partial
* trigger ci
* Bad merge
* integrate latest logger connector changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove grad norm dicts list
* Diff
* properties first
* Bad merge
* Reuse metrics_to_scalars
* Use active loop
* Move to device
* resolve test
* integrate latest changes from logger connector poc
* define union
* define union
* Update logger connector
* Update result
* Update imports
* Update after rename
* Refactor reduce_fx and op
* Fix test after rename
* mypy
* integrate latest logger connector refactor poc changes
* Fix test
* Refactor test
* Deprecate `self.log(sync_dist_op)` in favor of `self.log(reduce_fx)`
* Undo field
* add redundant return
* rename
rename files and classes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename
* Replace code
* Fix names and imports
* Remove metric_attribute
* imports
* loop hygiene
* yapf on loops
* protected new loop trigger
* rename NEW LOOP guard
* integrate latest logger connector changes
* integrate latest logger connector changes (eval loop)
* resolve todo dataloading reset
* re-add notebooks
* add missing init
* bad merge
* remove NEW_LOOP guard
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* flake8
* exclude coverage
coverage
* integrate #7917, remove teardown from training loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update "accumulated_batches_reached" condition
based on if iter count was updated or not
* remove public loop properties
* make skip backward protected again
* typing base loop
* typing fit loop
* typing training_batch_loop
* typing evaluation loop
* typing prediction loop
* typing training epoch loop
* dataloader_loop
* evaluation_dataloader_loop
* prediction_dataloader_loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate train loop changes from master
* integrate eval loop changes from master
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix tpipes moving model to cpu and leaving it there.
* don't reset fit loop
don't reset fit loop
* fix test iteration count <-> batch_idx reset
* replace torch.Tensor -> Tensor
* fix attribute error to block_ddp_sync_behaviour
* fix flake8 and yapf conflict
* remove redundant override
* add classes
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
* trainer changes
* connect
* clean up
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update test renaming
* rename evaluation loop to evaluation epoch loop
* minor docstring improvements
* update chlog
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try ci fix
* update code owners for pl/loops
* update mock path
* re-order
* simplify dataloader reset
* simplify get_dataloaders()
* save predictions on_run_end()
* improve skip condition re-routing
* re-order
* remove unused type import
* check which assert is failing
* pig
* hobbit
* teardown for evaluation
* Revert "hobbit"
This reverts commit e81b0dbee31da813ba6ad58f74d236863c86d18e.
* Revert "pig"
This reverts commit 33d89e0720ce7380af80917b15a79362d9416ae7.
* Revert "check which assert is failing"
This reverts commit b7483b425cab95290eb2cbf354ccb0a77004df83.
* free memory in fit loop teardown
* update docstring
* period
* remove dead code
* else carlos
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/evaluation_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* update chlog
* unused imp
* move default construction in run_evaluation
* add something for lawyer to read
* switch typehint for eval loop trainer property
* add missing imports
* remove a todo that needs more discussion
* combine _get_num_dataloaders with the property
* Update pytorch_lightning/loops/dataloader/dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* black + yapf
* avoid coverage on old unused eval loop
* empty space in docstring
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
* resolve todo for args forwarding
* weekproxy trainer
* fix check for num dataloaders kwargs
* clean up num prediction dataloaders property
* free memory
* rm notebooks folder
* rm old file
* revert changes to old eval loop
* bad merge
* undo teardown
* setup signature
* remove file for notes
* free memory
* chlog
* Revert "weekproxy trainer"
This reverts commit d4e6969170b80db4c9e6111fa9af507c740cde4a.
* connect trainer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up max batches and dataloaders
* max batches handling
* no grad handling
* unused argument
* protected attrs
* unused imports
* undo unintentional rename
* consistent naming
* capitalization in docstring
* list all args
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: Carlos Mocholi <carlossmocholi@gmail.com>
Co-authored-by: tchaton <thomas@grid.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
2021-06-23 09:17:04 +00:00
|
|
|
|
2021-12-02 10:36:10 +00:00
|
|
|
def on_run_end(self) -> Tuple[List[Any], List[List[int]]]:
|
2021-09-06 12:49:09 +00:00
|
|
|
"""Returns the predictions and the corresponding batch indices."""
|
2021-12-02 10:36:10 +00:00
|
|
|
predictions, all_batch_indices = self.predictions, self._seen_batch_indices
|
|
|
|
self.predictions, self._seen_batch_indices = [], [] # free memory
|
2021-07-02 13:36:14 +00:00
|
|
|
return predictions, all_batch_indices
|
Loop Refactor 5/N - Prediction Loop (#7700)
* integrate d180bb2
* Minor changes
* Refactor loop logic into logger connector
* Refactor test
* Tighter fx validator
* Add back split idx
* Typing
* update
* Conflict
* Fix tests
* resolve grad_norm
* update
* move to train loop
* Bye grad_norm_dict parameter
* Fix sync test
* update
* Fix bug when validation is run mid epoch
* fix grad_norm_dict test
* Fix fx_validator test
* fix grad_norm_dict test
* Fix order bug
* Detach tensors in test
* resolve some tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* resolve flake8
* Update test
* more tests
* Revert last thomas' changes
* resolve 1 test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor context restoration
* integrate latest changes from logger connector refactor poc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate latest changes from logger connector refactor poc
* Minor changes
* update changelog
* Remove unused argument
* Update CHANGELOG
* Copy call_hook changes
* Docs
* Fix ref
* move to cpu
* Bad merge
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* remove pdb
* Refactor to
* Avoid partial
* trigger ci
* Bad merge
* integrate latest logger connector changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove grad norm dicts list
* Diff
* properties first
* Bad merge
* Reuse metrics_to_scalars
* Use active loop
* Move to device
* resolve test
* integrate latest changes from logger connector poc
* define union
* define union
* Update logger connector
* Update result
* Update imports
* Update after rename
* Refactor reduce_fx and op
* Fix test after rename
* mypy
* integrate latest logger connector refactor poc changes
* Fix test
* Refactor test
* Deprecate `self.log(sync_dist_op)` in favor of `self.log(reduce_fx)`
* Undo field
* add redundant return
* rename
rename files and classes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename
* Replace code
* Fix names and imports
* Remove metric_attribute
* imports
* loop hygiene
* yapf on loops
* protected new loop trigger
* rename NEW LOOP guard
* integrate latest logger connector changes
* integrate latest logger connector changes (eval loop)
* resolve todo dataloading reset
* re-add notebooks
* add missing init
* bad merge
* remove NEW_LOOP guard
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* flake8
* exclude coverage
coverage
* integrate #7917, remove teardown from training loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update "accumulated_batches_reached" condition
based on if iter count was updated or not
* remove public loop properties
* make skip backward protected again
* typing base loop
* typing fit loop
* typing training_batch_loop
* typing evaluation loop
* typing prediction loop
* typing training epoch loop
* dataloader_loop
* evaluation_dataloader_loop
* prediction_dataloader_loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate train loop changes from master
* integrate eval loop changes from master
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix tpipes moving model to cpu and leaving it there.
* don't reset fit loop
don't reset fit loop
* fix test iteration count <-> batch_idx reset
* replace torch.Tensor -> Tensor
* fix attribute error to block_ddp_sync_behaviour
* fix flake8 and yapf conflict
* remove redundant override
* add classes
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
* trainer changes
* connect
* clean up
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update test renaming
* rename evaluation loop to evaluation epoch loop
* minor docstring improvements
* update chlog
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try ci fix
* update code owners for pl/loops
* update mock path
* re-order
* simplify dataloader reset
* simplify get_dataloaders()
* save predictions on_run_end()
* improve skip condition re-routing
* re-order
* remove unused type import
* check which assert is failing
* pig
* hobbit
* teardown for evaluation
* Revert "hobbit"
This reverts commit e81b0dbee31da813ba6ad58f74d236863c86d18e.
* Revert "pig"
This reverts commit 33d89e0720ce7380af80917b15a79362d9416ae7.
* Revert "check which assert is failing"
This reverts commit b7483b425cab95290eb2cbf354ccb0a77004df83.
* free memory in fit loop teardown
* update docstring
* period
* remove dead code
* else carlos
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/evaluation_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* update chlog
* unused imp
* move default construction in run_evaluation
* add something for lawyer to read
* switch typehint for eval loop trainer property
* add missing imports
* remove a todo that needs more discussion
* combine _get_num_dataloaders with the property
* Update pytorch_lightning/loops/dataloader/dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* black + yapf
* avoid coverage on old unused eval loop
* empty space in docstring
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
* resolve todo for args forwarding
* weekproxy trainer
* fix check for num dataloaders kwargs
* clean up num prediction dataloaders property
* free memory
* rm notebooks folder
* rm old file
* revert changes to old eval loop
* bad merge
* undo teardown
* setup signature
* remove file for notes
* free memory
* chlog
* Revert "weekproxy trainer"
This reverts commit d4e6969170b80db4c9e6111fa9af507c740cde4a.
* connect trainer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up max batches and dataloaders
* max batches handling
* no grad handling
* unused argument
* protected attrs
* unused imports
* undo unintentional rename
* consistent naming
* capitalization in docstring
* list all args
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: Carlos Mocholi <carlossmocholi@gmail.com>
Co-authored-by: tchaton <thomas@grid.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
2021-06-23 09:17:04 +00:00
|
|
|
|
|
|
|
def _predict_step(self, batch: Any, batch_idx: int, dataloader_idx: int) -> None:
|
2021-09-06 12:49:09 +00:00
|
|
|
"""Runs the actual predict step together with all the necessary bookkeeping and the hooks tied to the
|
|
|
|
predict step.
|
Loop Refactor 5/N - Prediction Loop (#7700)
* integrate d180bb2
* Minor changes
* Refactor loop logic into logger connector
* Refactor test
* Tighter fx validator
* Add back split idx
* Typing
* update
* Conflict
* Fix tests
* resolve grad_norm
* update
* move to train loop
* Bye grad_norm_dict parameter
* Fix sync test
* update
* Fix bug when validation is run mid epoch
* fix grad_norm_dict test
* Fix fx_validator test
* fix grad_norm_dict test
* Fix order bug
* Detach tensors in test
* resolve some tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* resolve flake8
* Update test
* more tests
* Revert last thomas' changes
* resolve 1 test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor context restoration
* integrate latest changes from logger connector refactor poc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate latest changes from logger connector refactor poc
* Minor changes
* update changelog
* Remove unused argument
* Update CHANGELOG
* Copy call_hook changes
* Docs
* Fix ref
* move to cpu
* Bad merge
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* remove pdb
* Refactor to
* Avoid partial
* trigger ci
* Bad merge
* integrate latest logger connector changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove grad norm dicts list
* Diff
* properties first
* Bad merge
* Reuse metrics_to_scalars
* Use active loop
* Move to device
* resolve test
* integrate latest changes from logger connector poc
* define union
* define union
* Update logger connector
* Update result
* Update imports
* Update after rename
* Refactor reduce_fx and op
* Fix test after rename
* mypy
* integrate latest logger connector refactor poc changes
* Fix test
* Refactor test
* Deprecate `self.log(sync_dist_op)` in favor of `self.log(reduce_fx)`
* Undo field
* add redundant return
* rename
rename files and classes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename
* Replace code
* Fix names and imports
* Remove metric_attribute
* imports
* loop hygiene
* yapf on loops
* protected new loop trigger
* rename NEW LOOP guard
* integrate latest logger connector changes
* integrate latest logger connector changes (eval loop)
* resolve todo dataloading reset
* re-add notebooks
* add missing init
* bad merge
* remove NEW_LOOP guard
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* flake8
* exclude coverage
coverage
* integrate #7917, remove teardown from training loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update "accumulated_batches_reached" condition
based on if iter count was updated or not
* remove public loop properties
* make skip backward protected again
* typing base loop
* typing fit loop
* typing training_batch_loop
* typing evaluation loop
* typing prediction loop
* typing training epoch loop
* dataloader_loop
* evaluation_dataloader_loop
* prediction_dataloader_loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate train loop changes from master
* integrate eval loop changes from master
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix tpipes moving model to cpu and leaving it there.
* don't reset fit loop
don't reset fit loop
* fix test iteration count <-> batch_idx reset
* replace torch.Tensor -> Tensor
* fix attribute error to block_ddp_sync_behaviour
* fix flake8 and yapf conflict
* remove redundant override
* add classes
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
* trainer changes
* connect
* clean up
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update test renaming
* rename evaluation loop to evaluation epoch loop
* minor docstring improvements
* update chlog
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try ci fix
* update code owners for pl/loops
* update mock path
* re-order
* simplify dataloader reset
* simplify get_dataloaders()
* save predictions on_run_end()
* improve skip condition re-routing
* re-order
* remove unused type import
* check which assert is failing
* pig
* hobbit
* teardown for evaluation
* Revert "hobbit"
This reverts commit e81b0dbee31da813ba6ad58f74d236863c86d18e.
* Revert "pig"
This reverts commit 33d89e0720ce7380af80917b15a79362d9416ae7.
* Revert "check which assert is failing"
This reverts commit b7483b425cab95290eb2cbf354ccb0a77004df83.
* free memory in fit loop teardown
* update docstring
* period
* remove dead code
* else carlos
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/evaluation_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* update chlog
* unused imp
* move default construction in run_evaluation
* add something for lawyer to read
* switch typehint for eval loop trainer property
* add missing imports
* remove a todo that needs more discussion
* combine _get_num_dataloaders with the property
* Update pytorch_lightning/loops/dataloader/dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* black + yapf
* avoid coverage on old unused eval loop
* empty space in docstring
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
* resolve todo for args forwarding
* weekproxy trainer
* fix check for num dataloaders kwargs
* clean up num prediction dataloaders property
* free memory
* rm notebooks folder
* rm old file
* revert changes to old eval loop
* bad merge
* undo teardown
* setup signature
* remove file for notes
* free memory
* chlog
* Revert "weekproxy trainer"
This reverts commit d4e6969170b80db4c9e6111fa9af507c740cde4a.
* connect trainer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up max batches and dataloaders
* max batches handling
* no grad handling
* unused argument
* protected attrs
* unused imports
* undo unintentional rename
* consistent naming
* capitalization in docstring
* list all args
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: Carlos Mocholi <carlossmocholi@gmail.com>
Co-authored-by: tchaton <thomas@grid.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
2021-06-23 09:17:04 +00:00
|
|
|
|
|
|
|
Args:
|
|
|
|
batch: the current batch to run the prediction on
|
|
|
|
batch_idx: the index of the current batch
|
|
|
|
dataloader_idx: the index of the dataloader producing the current batch
|
|
|
|
"""
|
|
|
|
# configure step_kwargs
|
|
|
|
step_kwargs = self._build_kwargs(batch, batch_idx, dataloader_idx)
|
|
|
|
|
|
|
|
# extract batch_indices and store them
|
2021-12-02 10:36:10 +00:00
|
|
|
self.current_batch_indices = self._seen_batch_indices[batch_idx] if self._seen_batch_indices else []
|
Loop Refactor 5/N - Prediction Loop (#7700)
* integrate d180bb2
* Minor changes
* Refactor loop logic into logger connector
* Refactor test
* Tighter fx validator
* Add back split idx
* Typing
* update
* Conflict
* Fix tests
* resolve grad_norm
* update
* move to train loop
* Bye grad_norm_dict parameter
* Fix sync test
* update
* Fix bug when validation is run mid epoch
* fix grad_norm_dict test
* Fix fx_validator test
* fix grad_norm_dict test
* Fix order bug
* Detach tensors in test
* resolve some tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* resolve flake8
* Update test
* more tests
* Revert last thomas' changes
* resolve 1 test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor context restoration
* integrate latest changes from logger connector refactor poc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate latest changes from logger connector refactor poc
* Minor changes
* update changelog
* Remove unused argument
* Update CHANGELOG
* Copy call_hook changes
* Docs
* Fix ref
* move to cpu
* Bad merge
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* remove pdb
* Refactor to
* Avoid partial
* trigger ci
* Bad merge
* integrate latest logger connector changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove grad norm dicts list
* Diff
* properties first
* Bad merge
* Reuse metrics_to_scalars
* Use active loop
* Move to device
* resolve test
* integrate latest changes from logger connector poc
* define union
* define union
* Update logger connector
* Update result
* Update imports
* Update after rename
* Refactor reduce_fx and op
* Fix test after rename
* mypy
* integrate latest logger connector refactor poc changes
* Fix test
* Refactor test
* Deprecate `self.log(sync_dist_op)` in favor of `self.log(reduce_fx)`
* Undo field
* add redundant return
* rename
rename files and classes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename
* Replace code
* Fix names and imports
* Remove metric_attribute
* imports
* loop hygiene
* yapf on loops
* protected new loop trigger
* rename NEW LOOP guard
* integrate latest logger connector changes
* integrate latest logger connector changes (eval loop)
* resolve todo dataloading reset
* re-add notebooks
* add missing init
* bad merge
* remove NEW_LOOP guard
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* flake8
* exclude coverage
coverage
* integrate #7917, remove teardown from training loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update "accumulated_batches_reached" condition
based on if iter count was updated or not
* remove public loop properties
* make skip backward protected again
* typing base loop
* typing fit loop
* typing training_batch_loop
* typing evaluation loop
* typing prediction loop
* typing training epoch loop
* dataloader_loop
* evaluation_dataloader_loop
* prediction_dataloader_loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate train loop changes from master
* integrate eval loop changes from master
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix tpipes moving model to cpu and leaving it there.
* don't reset fit loop
don't reset fit loop
* fix test iteration count <-> batch_idx reset
* replace torch.Tensor -> Tensor
* fix attribute error to block_ddp_sync_behaviour
* fix flake8 and yapf conflict
* remove redundant override
* add classes
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
* trainer changes
* connect
* clean up
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update test renaming
* rename evaluation loop to evaluation epoch loop
* minor docstring improvements
* update chlog
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try ci fix
* update code owners for pl/loops
* update mock path
* re-order
* simplify dataloader reset
* simplify get_dataloaders()
* save predictions on_run_end()
* improve skip condition re-routing
* re-order
* remove unused type import
* check which assert is failing
* pig
* hobbit
* teardown for evaluation
* Revert "hobbit"
This reverts commit e81b0dbee31da813ba6ad58f74d236863c86d18e.
* Revert "pig"
This reverts commit 33d89e0720ce7380af80917b15a79362d9416ae7.
* Revert "check which assert is failing"
This reverts commit b7483b425cab95290eb2cbf354ccb0a77004df83.
* free memory in fit loop teardown
* update docstring
* period
* remove dead code
* else carlos
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/evaluation_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* update chlog
* unused imp
* move default construction in run_evaluation
* add something for lawyer to read
* switch typehint for eval loop trainer property
* add missing imports
* remove a todo that needs more discussion
* combine _get_num_dataloaders with the property
* Update pytorch_lightning/loops/dataloader/dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* black + yapf
* avoid coverage on old unused eval loop
* empty space in docstring
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
* resolve todo for args forwarding
* weekproxy trainer
* fix check for num dataloaders kwargs
* clean up num prediction dataloaders property
* free memory
* rm notebooks folder
* rm old file
* revert changes to old eval loop
* bad merge
* undo teardown
* setup signature
* remove file for notes
* free memory
* chlog
* Revert "weekproxy trainer"
This reverts commit d4e6969170b80db4c9e6111fa9af507c740cde4a.
* connect trainer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up max batches and dataloaders
* max batches handling
* no grad handling
* unused argument
* protected attrs
* unused imports
* undo unintentional rename
* consistent naming
* capitalization in docstring
* list all args
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: Carlos Mocholi <carlossmocholi@gmail.com>
Co-authored-by: tchaton <thomas@grid.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
2021-06-23 09:17:04 +00:00
|
|
|
|
2021-12-04 21:39:55 +00:00
|
|
|
self.trainer._call_callback_hooks("on_predict_batch_start", batch, batch_idx, dataloader_idx)
|
|
|
|
self.trainer._call_lightning_module_hook("on_predict_batch_start", batch, batch_idx, dataloader_idx)
|
Loop Refactor 5/N - Prediction Loop (#7700)
* integrate d180bb2
* Minor changes
* Refactor loop logic into logger connector
* Refactor test
* Tighter fx validator
* Add back split idx
* Typing
* update
* Conflict
* Fix tests
* resolve grad_norm
* update
* move to train loop
* Bye grad_norm_dict parameter
* Fix sync test
* update
* Fix bug when validation is run mid epoch
* fix grad_norm_dict test
* Fix fx_validator test
* fix grad_norm_dict test
* Fix order bug
* Detach tensors in test
* resolve some tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* resolve flake8
* Update test
* more tests
* Revert last thomas' changes
* resolve 1 test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor context restoration
* integrate latest changes from logger connector refactor poc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate latest changes from logger connector refactor poc
* Minor changes
* update changelog
* Remove unused argument
* Update CHANGELOG
* Copy call_hook changes
* Docs
* Fix ref
* move to cpu
* Bad merge
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* remove pdb
* Refactor to
* Avoid partial
* trigger ci
* Bad merge
* integrate latest logger connector changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove grad norm dicts list
* Diff
* properties first
* Bad merge
* Reuse metrics_to_scalars
* Use active loop
* Move to device
* resolve test
* integrate latest changes from logger connector poc
* define union
* define union
* Update logger connector
* Update result
* Update imports
* Update after rename
* Refactor reduce_fx and op
* Fix test after rename
* mypy
* integrate latest logger connector refactor poc changes
* Fix test
* Refactor test
* Deprecate `self.log(sync_dist_op)` in favor of `self.log(reduce_fx)`
* Undo field
* add redundant return
* rename
rename files and classes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename
* Replace code
* Fix names and imports
* Remove metric_attribute
* imports
* loop hygiene
* yapf on loops
* protected new loop trigger
* rename NEW LOOP guard
* integrate latest logger connector changes
* integrate latest logger connector changes (eval loop)
* resolve todo dataloading reset
* re-add notebooks
* add missing init
* bad merge
* remove NEW_LOOP guard
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* flake8
* exclude coverage
coverage
* integrate #7917, remove teardown from training loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update "accumulated_batches_reached" condition
based on if iter count was updated or not
* remove public loop properties
* make skip backward protected again
* typing base loop
* typing fit loop
* typing training_batch_loop
* typing evaluation loop
* typing prediction loop
* typing training epoch loop
* dataloader_loop
* evaluation_dataloader_loop
* prediction_dataloader_loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate train loop changes from master
* integrate eval loop changes from master
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix tpipes moving model to cpu and leaving it there.
* don't reset fit loop
don't reset fit loop
* fix test iteration count <-> batch_idx reset
* replace torch.Tensor -> Tensor
* fix attribute error to block_ddp_sync_behaviour
* fix flake8 and yapf conflict
* remove redundant override
* add classes
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
* trainer changes
* connect
* clean up
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update test renaming
* rename evaluation loop to evaluation epoch loop
* minor docstring improvements
* update chlog
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try ci fix
* update code owners for pl/loops
* update mock path
* re-order
* simplify dataloader reset
* simplify get_dataloaders()
* save predictions on_run_end()
* improve skip condition re-routing
* re-order
* remove unused type import
* check which assert is failing
* pig
* hobbit
* teardown for evaluation
* Revert "hobbit"
This reverts commit e81b0dbee31da813ba6ad58f74d236863c86d18e.
* Revert "pig"
This reverts commit 33d89e0720ce7380af80917b15a79362d9416ae7.
* Revert "check which assert is failing"
This reverts commit b7483b425cab95290eb2cbf354ccb0a77004df83.
* free memory in fit loop teardown
* update docstring
* period
* remove dead code
* else carlos
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/evaluation_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* update chlog
* unused imp
* move default construction in run_evaluation
* add something for lawyer to read
* switch typehint for eval loop trainer property
* add missing imports
* remove a todo that needs more discussion
* combine _get_num_dataloaders with the property
* Update pytorch_lightning/loops/dataloader/dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* black + yapf
* avoid coverage on old unused eval loop
* empty space in docstring
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
* resolve todo for args forwarding
* weekproxy trainer
* fix check for num dataloaders kwargs
* clean up num prediction dataloaders property
* free memory
* rm notebooks folder
* rm old file
* revert changes to old eval loop
* bad merge
* undo teardown
* setup signature
* remove file for notes
* free memory
* chlog
* Revert "weekproxy trainer"
This reverts commit d4e6969170b80db4c9e6111fa9af507c740cde4a.
* connect trainer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up max batches and dataloaders
* max batches handling
* no grad handling
* unused argument
* protected attrs
* unused imports
* undo unintentional rename
* consistent naming
* capitalization in docstring
* list all args
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: Carlos Mocholi <carlossmocholi@gmail.com>
Co-authored-by: tchaton <thomas@grid.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
2021-06-23 09:17:04 +00:00
|
|
|
|
2021-07-19 08:31:45 +00:00
|
|
|
self.batch_progress.increment_started()
|
|
|
|
|
2021-12-19 01:53:03 +00:00
|
|
|
predictions = self.trainer._call_strategy_hook("predict_step", *step_kwargs.values())
|
Loop Refactor 5/N - Prediction Loop (#7700)
* integrate d180bb2
* Minor changes
* Refactor loop logic into logger connector
* Refactor test
* Tighter fx validator
* Add back split idx
* Typing
* update
* Conflict
* Fix tests
* resolve grad_norm
* update
* move to train loop
* Bye grad_norm_dict parameter
* Fix sync test
* update
* Fix bug when validation is run mid epoch
* fix grad_norm_dict test
* Fix fx_validator test
* fix grad_norm_dict test
* Fix order bug
* Detach tensors in test
* resolve some tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* resolve flake8
* Update test
* more tests
* Revert last thomas' changes
* resolve 1 test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor context restoration
* integrate latest changes from logger connector refactor poc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate latest changes from logger connector refactor poc
* Minor changes
* update changelog
* Remove unused argument
* Update CHANGELOG
* Copy call_hook changes
* Docs
* Fix ref
* move to cpu
* Bad merge
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* remove pdb
* Refactor to
* Avoid partial
* trigger ci
* Bad merge
* integrate latest logger connector changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove grad norm dicts list
* Diff
* properties first
* Bad merge
* Reuse metrics_to_scalars
* Use active loop
* Move to device
* resolve test
* integrate latest changes from logger connector poc
* define union
* define union
* Update logger connector
* Update result
* Update imports
* Update after rename
* Refactor reduce_fx and op
* Fix test after rename
* mypy
* integrate latest logger connector refactor poc changes
* Fix test
* Refactor test
* Deprecate `self.log(sync_dist_op)` in favor of `self.log(reduce_fx)`
* Undo field
* add redundant return
* rename
rename files and classes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename
* Replace code
* Fix names and imports
* Remove metric_attribute
* imports
* loop hygiene
* yapf on loops
* protected new loop trigger
* rename NEW LOOP guard
* integrate latest logger connector changes
* integrate latest logger connector changes (eval loop)
* resolve todo dataloading reset
* re-add notebooks
* add missing init
* bad merge
* remove NEW_LOOP guard
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* flake8
* exclude coverage
coverage
* integrate #7917, remove teardown from training loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update "accumulated_batches_reached" condition
based on if iter count was updated or not
* remove public loop properties
* make skip backward protected again
* typing base loop
* typing fit loop
* typing training_batch_loop
* typing evaluation loop
* typing prediction loop
* typing training epoch loop
* dataloader_loop
* evaluation_dataloader_loop
* prediction_dataloader_loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate train loop changes from master
* integrate eval loop changes from master
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix tpipes moving model to cpu and leaving it there.
* don't reset fit loop
don't reset fit loop
* fix test iteration count <-> batch_idx reset
* replace torch.Tensor -> Tensor
* fix attribute error to block_ddp_sync_behaviour
* fix flake8 and yapf conflict
* remove redundant override
* add classes
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
* trainer changes
* connect
* clean up
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update test renaming
* rename evaluation loop to evaluation epoch loop
* minor docstring improvements
* update chlog
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try ci fix
* update code owners for pl/loops
* update mock path
* re-order
* simplify dataloader reset
* simplify get_dataloaders()
* save predictions on_run_end()
* improve skip condition re-routing
* re-order
* remove unused type import
* check which assert is failing
* pig
* hobbit
* teardown for evaluation
* Revert "hobbit"
This reverts commit e81b0dbee31da813ba6ad58f74d236863c86d18e.
* Revert "pig"
This reverts commit 33d89e0720ce7380af80917b15a79362d9416ae7.
* Revert "check which assert is failing"
This reverts commit b7483b425cab95290eb2cbf354ccb0a77004df83.
* free memory in fit loop teardown
* update docstring
* period
* remove dead code
* else carlos
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/evaluation_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* update chlog
* unused imp
* move default construction in run_evaluation
* add something for lawyer to read
* switch typehint for eval loop trainer property
* add missing imports
* remove a todo that needs more discussion
* combine _get_num_dataloaders with the property
* Update pytorch_lightning/loops/dataloader/dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* black + yapf
* avoid coverage on old unused eval loop
* empty space in docstring
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
* resolve todo for args forwarding
* weekproxy trainer
* fix check for num dataloaders kwargs
* clean up num prediction dataloaders property
* free memory
* rm notebooks folder
* rm old file
* revert changes to old eval loop
* bad merge
* undo teardown
* setup signature
* remove file for notes
* free memory
* chlog
* Revert "weekproxy trainer"
This reverts commit d4e6969170b80db4c9e6111fa9af507c740cde4a.
* connect trainer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up max batches and dataloaders
* max batches handling
* no grad handling
* unused argument
* protected attrs
* unused imports
* undo unintentional rename
* consistent naming
* capitalization in docstring
* list all args
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: Carlos Mocholi <carlossmocholi@gmail.com>
Co-authored-by: tchaton <thomas@grid.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
2021-06-23 09:17:04 +00:00
|
|
|
|
2021-07-19 08:31:45 +00:00
|
|
|
self.batch_progress.increment_processed()
|
|
|
|
|
Loop Refactor 5/N - Prediction Loop (#7700)
* integrate d180bb2
* Minor changes
* Refactor loop logic into logger connector
* Refactor test
* Tighter fx validator
* Add back split idx
* Typing
* update
* Conflict
* Fix tests
* resolve grad_norm
* update
* move to train loop
* Bye grad_norm_dict parameter
* Fix sync test
* update
* Fix bug when validation is run mid epoch
* fix grad_norm_dict test
* Fix fx_validator test
* fix grad_norm_dict test
* Fix order bug
* Detach tensors in test
* resolve some tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* resolve flake8
* Update test
* more tests
* Revert last thomas' changes
* resolve 1 test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor context restoration
* integrate latest changes from logger connector refactor poc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate latest changes from logger connector refactor poc
* Minor changes
* update changelog
* Remove unused argument
* Update CHANGELOG
* Copy call_hook changes
* Docs
* Fix ref
* move to cpu
* Bad merge
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* remove pdb
* Refactor to
* Avoid partial
* trigger ci
* Bad merge
* integrate latest logger connector changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove grad norm dicts list
* Diff
* properties first
* Bad merge
* Reuse metrics_to_scalars
* Use active loop
* Move to device
* resolve test
* integrate latest changes from logger connector poc
* define union
* define union
* Update logger connector
* Update result
* Update imports
* Update after rename
* Refactor reduce_fx and op
* Fix test after rename
* mypy
* integrate latest logger connector refactor poc changes
* Fix test
* Refactor test
* Deprecate `self.log(sync_dist_op)` in favor of `self.log(reduce_fx)`
* Undo field
* add redundant return
* rename
rename files and classes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename
* Replace code
* Fix names and imports
* Remove metric_attribute
* imports
* loop hygiene
* yapf on loops
* protected new loop trigger
* rename NEW LOOP guard
* integrate latest logger connector changes
* integrate latest logger connector changes (eval loop)
* resolve todo dataloading reset
* re-add notebooks
* add missing init
* bad merge
* remove NEW_LOOP guard
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* flake8
* exclude coverage
coverage
* integrate #7917, remove teardown from training loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update "accumulated_batches_reached" condition
based on if iter count was updated or not
* remove public loop properties
* make skip backward protected again
* typing base loop
* typing fit loop
* typing training_batch_loop
* typing evaluation loop
* typing prediction loop
* typing training epoch loop
* dataloader_loop
* evaluation_dataloader_loop
* prediction_dataloader_loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate train loop changes from master
* integrate eval loop changes from master
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix tpipes moving model to cpu and leaving it there.
* don't reset fit loop
don't reset fit loop
* fix test iteration count <-> batch_idx reset
* replace torch.Tensor -> Tensor
* fix attribute error to block_ddp_sync_behaviour
* fix flake8 and yapf conflict
* remove redundant override
* add classes
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
* trainer changes
* connect
* clean up
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update test renaming
* rename evaluation loop to evaluation epoch loop
* minor docstring improvements
* update chlog
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try ci fix
* update code owners for pl/loops
* update mock path
* re-order
* simplify dataloader reset
* simplify get_dataloaders()
* save predictions on_run_end()
* improve skip condition re-routing
* re-order
* remove unused type import
* check which assert is failing
* pig
* hobbit
* teardown for evaluation
* Revert "hobbit"
This reverts commit e81b0dbee31da813ba6ad58f74d236863c86d18e.
* Revert "pig"
This reverts commit 33d89e0720ce7380af80917b15a79362d9416ae7.
* Revert "check which assert is failing"
This reverts commit b7483b425cab95290eb2cbf354ccb0a77004df83.
* free memory in fit loop teardown
* update docstring
* period
* remove dead code
* else carlos
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/evaluation_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* update chlog
* unused imp
* move default construction in run_evaluation
* add something for lawyer to read
* switch typehint for eval loop trainer property
* add missing imports
* remove a todo that needs more discussion
* combine _get_num_dataloaders with the property
* Update pytorch_lightning/loops/dataloader/dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* black + yapf
* avoid coverage on old unused eval loop
* empty space in docstring
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
* resolve todo for args forwarding
* weekproxy trainer
* fix check for num dataloaders kwargs
* clean up num prediction dataloaders property
* free memory
* rm notebooks folder
* rm old file
* revert changes to old eval loop
* bad merge
* undo teardown
* setup signature
* remove file for notes
* free memory
* chlog
* Revert "weekproxy trainer"
This reverts commit d4e6969170b80db4c9e6111fa9af507c740cde4a.
* connect trainer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up max batches and dataloaders
* max batches handling
* no grad handling
* unused argument
* protected attrs
* unused imports
* undo unintentional rename
* consistent naming
* capitalization in docstring
* list all args
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: Carlos Mocholi <carlossmocholi@gmail.com>
Co-authored-by: tchaton <thomas@grid.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
2021-06-23 09:17:04 +00:00
|
|
|
if predictions is None:
|
|
|
|
self._warning_cache.warn("predict returned None if it was on purpose, ignore this warning...")
|
|
|
|
|
2021-12-04 21:39:55 +00:00
|
|
|
self.trainer._call_callback_hooks("on_predict_batch_end", predictions, batch, batch_idx, dataloader_idx)
|
|
|
|
self.trainer._call_lightning_module_hook("on_predict_batch_end", predictions, batch, batch_idx, dataloader_idx)
|
Loop Refactor 5/N - Prediction Loop (#7700)
* integrate d180bb2
* Minor changes
* Refactor loop logic into logger connector
* Refactor test
* Tighter fx validator
* Add back split idx
* Typing
* update
* Conflict
* Fix tests
* resolve grad_norm
* update
* move to train loop
* Bye grad_norm_dict parameter
* Fix sync test
* update
* Fix bug when validation is run mid epoch
* fix grad_norm_dict test
* Fix fx_validator test
* fix grad_norm_dict test
* Fix order bug
* Detach tensors in test
* resolve some tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* resolve flake8
* Update test
* more tests
* Revert last thomas' changes
* resolve 1 test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor context restoration
* integrate latest changes from logger connector refactor poc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate latest changes from logger connector refactor poc
* Minor changes
* update changelog
* Remove unused argument
* Update CHANGELOG
* Copy call_hook changes
* Docs
* Fix ref
* move to cpu
* Bad merge
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* remove pdb
* Refactor to
* Avoid partial
* trigger ci
* Bad merge
* integrate latest logger connector changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove grad norm dicts list
* Diff
* properties first
* Bad merge
* Reuse metrics_to_scalars
* Use active loop
* Move to device
* resolve test
* integrate latest changes from logger connector poc
* define union
* define union
* Update logger connector
* Update result
* Update imports
* Update after rename
* Refactor reduce_fx and op
* Fix test after rename
* mypy
* integrate latest logger connector refactor poc changes
* Fix test
* Refactor test
* Deprecate `self.log(sync_dist_op)` in favor of `self.log(reduce_fx)`
* Undo field
* add redundant return
* rename
rename files and classes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename
* Replace code
* Fix names and imports
* Remove metric_attribute
* imports
* loop hygiene
* yapf on loops
* protected new loop trigger
* rename NEW LOOP guard
* integrate latest logger connector changes
* integrate latest logger connector changes (eval loop)
* resolve todo dataloading reset
* re-add notebooks
* add missing init
* bad merge
* remove NEW_LOOP guard
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* flake8
* exclude coverage
coverage
* integrate #7917, remove teardown from training loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update "accumulated_batches_reached" condition
based on if iter count was updated or not
* remove public loop properties
* make skip backward protected again
* typing base loop
* typing fit loop
* typing training_batch_loop
* typing evaluation loop
* typing prediction loop
* typing training epoch loop
* dataloader_loop
* evaluation_dataloader_loop
* prediction_dataloader_loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate train loop changes from master
* integrate eval loop changes from master
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix tpipes moving model to cpu and leaving it there.
* don't reset fit loop
don't reset fit loop
* fix test iteration count <-> batch_idx reset
* replace torch.Tensor -> Tensor
* fix attribute error to block_ddp_sync_behaviour
* fix flake8 and yapf conflict
* remove redundant override
* add classes
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
* trainer changes
* connect
* clean up
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update test renaming
* rename evaluation loop to evaluation epoch loop
* minor docstring improvements
* update chlog
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try ci fix
* update code owners for pl/loops
* update mock path
* re-order
* simplify dataloader reset
* simplify get_dataloaders()
* save predictions on_run_end()
* improve skip condition re-routing
* re-order
* remove unused type import
* check which assert is failing
* pig
* hobbit
* teardown for evaluation
* Revert "hobbit"
This reverts commit e81b0dbee31da813ba6ad58f74d236863c86d18e.
* Revert "pig"
This reverts commit 33d89e0720ce7380af80917b15a79362d9416ae7.
* Revert "check which assert is failing"
This reverts commit b7483b425cab95290eb2cbf354ccb0a77004df83.
* free memory in fit loop teardown
* update docstring
* period
* remove dead code
* else carlos
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/evaluation_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* update chlog
* unused imp
* move default construction in run_evaluation
* add something for lawyer to read
* switch typehint for eval loop trainer property
* add missing imports
* remove a todo that needs more discussion
* combine _get_num_dataloaders with the property
* Update pytorch_lightning/loops/dataloader/dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* black + yapf
* avoid coverage on old unused eval loop
* empty space in docstring
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
* resolve todo for args forwarding
* weekproxy trainer
* fix check for num dataloaders kwargs
* clean up num prediction dataloaders property
* free memory
* rm notebooks folder
* rm old file
* revert changes to old eval loop
* bad merge
* undo teardown
* setup signature
* remove file for notes
* free memory
* chlog
* Revert "weekproxy trainer"
This reverts commit d4e6969170b80db4c9e6111fa9af507c740cde4a.
* connect trainer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up max batches and dataloaders
* max batches handling
* no grad handling
* unused argument
* protected attrs
* unused imports
* undo unintentional rename
* consistent naming
* capitalization in docstring
* list all args
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: Carlos Mocholi <carlossmocholi@gmail.com>
Co-authored-by: tchaton <thomas@grid.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
2021-06-23 09:17:04 +00:00
|
|
|
|
2021-07-19 08:31:45 +00:00
|
|
|
self.batch_progress.increment_completed()
|
|
|
|
|
Loop Refactor 5/N - Prediction Loop (#7700)
* integrate d180bb2
* Minor changes
* Refactor loop logic into logger connector
* Refactor test
* Tighter fx validator
* Add back split idx
* Typing
* update
* Conflict
* Fix tests
* resolve grad_norm
* update
* move to train loop
* Bye grad_norm_dict parameter
* Fix sync test
* update
* Fix bug when validation is run mid epoch
* fix grad_norm_dict test
* Fix fx_validator test
* fix grad_norm_dict test
* Fix order bug
* Detach tensors in test
* resolve some tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* resolve flake8
* Update test
* more tests
* Revert last thomas' changes
* resolve 1 test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor context restoration
* integrate latest changes from logger connector refactor poc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate latest changes from logger connector refactor poc
* Minor changes
* update changelog
* Remove unused argument
* Update CHANGELOG
* Copy call_hook changes
* Docs
* Fix ref
* move to cpu
* Bad merge
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* remove pdb
* Refactor to
* Avoid partial
* trigger ci
* Bad merge
* integrate latest logger connector changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove grad norm dicts list
* Diff
* properties first
* Bad merge
* Reuse metrics_to_scalars
* Use active loop
* Move to device
* resolve test
* integrate latest changes from logger connector poc
* define union
* define union
* Update logger connector
* Update result
* Update imports
* Update after rename
* Refactor reduce_fx and op
* Fix test after rename
* mypy
* integrate latest logger connector refactor poc changes
* Fix test
* Refactor test
* Deprecate `self.log(sync_dist_op)` in favor of `self.log(reduce_fx)`
* Undo field
* add redundant return
* rename
rename files and classes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename
* Replace code
* Fix names and imports
* Remove metric_attribute
* imports
* loop hygiene
* yapf on loops
* protected new loop trigger
* rename NEW LOOP guard
* integrate latest logger connector changes
* integrate latest logger connector changes (eval loop)
* resolve todo dataloading reset
* re-add notebooks
* add missing init
* bad merge
* remove NEW_LOOP guard
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* flake8
* exclude coverage
coverage
* integrate #7917, remove teardown from training loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update "accumulated_batches_reached" condition
based on if iter count was updated or not
* remove public loop properties
* make skip backward protected again
* typing base loop
* typing fit loop
* typing training_batch_loop
* typing evaluation loop
* typing prediction loop
* typing training epoch loop
* dataloader_loop
* evaluation_dataloader_loop
* prediction_dataloader_loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate train loop changes from master
* integrate eval loop changes from master
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix tpipes moving model to cpu and leaving it there.
* don't reset fit loop
don't reset fit loop
* fix test iteration count <-> batch_idx reset
* replace torch.Tensor -> Tensor
* fix attribute error to block_ddp_sync_behaviour
* fix flake8 and yapf conflict
* remove redundant override
* add classes
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
* trainer changes
* connect
* clean up
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update test renaming
* rename evaluation loop to evaluation epoch loop
* minor docstring improvements
* update chlog
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try ci fix
* update code owners for pl/loops
* update mock path
* re-order
* simplify dataloader reset
* simplify get_dataloaders()
* save predictions on_run_end()
* improve skip condition re-routing
* re-order
* remove unused type import
* check which assert is failing
* pig
* hobbit
* teardown for evaluation
* Revert "hobbit"
This reverts commit e81b0dbee31da813ba6ad58f74d236863c86d18e.
* Revert "pig"
This reverts commit 33d89e0720ce7380af80917b15a79362d9416ae7.
* Revert "check which assert is failing"
This reverts commit b7483b425cab95290eb2cbf354ccb0a77004df83.
* free memory in fit loop teardown
* update docstring
* period
* remove dead code
* else carlos
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/evaluation_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* update chlog
* unused imp
* move default construction in run_evaluation
* add something for lawyer to read
* switch typehint for eval loop trainer property
* add missing imports
* remove a todo that needs more discussion
* combine _get_num_dataloaders with the property
* Update pytorch_lightning/loops/dataloader/dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* black + yapf
* avoid coverage on old unused eval loop
* empty space in docstring
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
* resolve todo for args forwarding
* weekproxy trainer
* fix check for num dataloaders kwargs
* clean up num prediction dataloaders property
* free memory
* rm notebooks folder
* rm old file
* revert changes to old eval loop
* bad merge
* undo teardown
* setup signature
* remove file for notes
* free memory
* chlog
* Revert "weekproxy trainer"
This reverts commit d4e6969170b80db4c9e6111fa9af507c740cde4a.
* connect trainer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up max batches and dataloaders
* max batches handling
* no grad handling
* unused argument
* protected attrs
* unused imports
* undo unintentional rename
* consistent naming
* capitalization in docstring
* list all args
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: Carlos Mocholi <carlossmocholi@gmail.com>
Co-authored-by: tchaton <thomas@grid.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
2021-06-23 09:17:04 +00:00
|
|
|
if self.should_store_predictions:
|
2021-08-26 15:02:42 +00:00
|
|
|
self.predictions.append(move_data_to_device(predictions, torch.device("cpu")))
|
Loop Refactor 5/N - Prediction Loop (#7700)
* integrate d180bb2
* Minor changes
* Refactor loop logic into logger connector
* Refactor test
* Tighter fx validator
* Add back split idx
* Typing
* update
* Conflict
* Fix tests
* resolve grad_norm
* update
* move to train loop
* Bye grad_norm_dict parameter
* Fix sync test
* update
* Fix bug when validation is run mid epoch
* fix grad_norm_dict test
* Fix fx_validator test
* fix grad_norm_dict test
* Fix order bug
* Detach tensors in test
* resolve some tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* resolve flake8
* Update test
* more tests
* Revert last thomas' changes
* resolve 1 test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor context restoration
* integrate latest changes from logger connector refactor poc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate latest changes from logger connector refactor poc
* Minor changes
* update changelog
* Remove unused argument
* Update CHANGELOG
* Copy call_hook changes
* Docs
* Fix ref
* move to cpu
* Bad merge
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* remove pdb
* Refactor to
* Avoid partial
* trigger ci
* Bad merge
* integrate latest logger connector changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove grad norm dicts list
* Diff
* properties first
* Bad merge
* Reuse metrics_to_scalars
* Use active loop
* Move to device
* resolve test
* integrate latest changes from logger connector poc
* define union
* define union
* Update logger connector
* Update result
* Update imports
* Update after rename
* Refactor reduce_fx and op
* Fix test after rename
* mypy
* integrate latest logger connector refactor poc changes
* Fix test
* Refactor test
* Deprecate `self.log(sync_dist_op)` in favor of `self.log(reduce_fx)`
* Undo field
* add redundant return
* rename
rename files and classes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename
* Replace code
* Fix names and imports
* Remove metric_attribute
* imports
* loop hygiene
* yapf on loops
* protected new loop trigger
* rename NEW LOOP guard
* integrate latest logger connector changes
* integrate latest logger connector changes (eval loop)
* resolve todo dataloading reset
* re-add notebooks
* add missing init
* bad merge
* remove NEW_LOOP guard
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* flake8
* exclude coverage
coverage
* integrate #7917, remove teardown from training loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update "accumulated_batches_reached" condition
based on if iter count was updated or not
* remove public loop properties
* make skip backward protected again
* typing base loop
* typing fit loop
* typing training_batch_loop
* typing evaluation loop
* typing prediction loop
* typing training epoch loop
* dataloader_loop
* evaluation_dataloader_loop
* prediction_dataloader_loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate train loop changes from master
* integrate eval loop changes from master
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix tpipes moving model to cpu and leaving it there.
* don't reset fit loop
don't reset fit loop
* fix test iteration count <-> batch_idx reset
* replace torch.Tensor -> Tensor
* fix attribute error to block_ddp_sync_behaviour
* fix flake8 and yapf conflict
* remove redundant override
* add classes
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
* trainer changes
* connect
* clean up
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update test renaming
* rename evaluation loop to evaluation epoch loop
* minor docstring improvements
* update chlog
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try ci fix
* update code owners for pl/loops
* update mock path
* re-order
* simplify dataloader reset
* simplify get_dataloaders()
* save predictions on_run_end()
* improve skip condition re-routing
* re-order
* remove unused type import
* check which assert is failing
* pig
* hobbit
* teardown for evaluation
* Revert "hobbit"
This reverts commit e81b0dbee31da813ba6ad58f74d236863c86d18e.
* Revert "pig"
This reverts commit 33d89e0720ce7380af80917b15a79362d9416ae7.
* Revert "check which assert is failing"
This reverts commit b7483b425cab95290eb2cbf354ccb0a77004df83.
* free memory in fit loop teardown
* update docstring
* period
* remove dead code
* else carlos
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/evaluation_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* update chlog
* unused imp
* move default construction in run_evaluation
* add something for lawyer to read
* switch typehint for eval loop trainer property
* add missing imports
* remove a todo that needs more discussion
* combine _get_num_dataloaders with the property
* Update pytorch_lightning/loops/dataloader/dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* black + yapf
* avoid coverage on old unused eval loop
* empty space in docstring
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
* resolve todo for args forwarding
* weekproxy trainer
* fix check for num dataloaders kwargs
* clean up num prediction dataloaders property
* free memory
* rm notebooks folder
* rm old file
* revert changes to old eval loop
* bad merge
* undo teardown
* setup signature
* remove file for notes
* free memory
* chlog
* Revert "weekproxy trainer"
This reverts commit d4e6969170b80db4c9e6111fa9af507c740cde4a.
* connect trainer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up max batches and dataloaders
* max batches handling
* no grad handling
* unused argument
* protected attrs
* unused imports
* undo unintentional rename
* consistent naming
* capitalization in docstring
* list all args
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: Carlos Mocholi <carlossmocholi@gmail.com>
Co-authored-by: tchaton <thomas@grid.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
2021-06-23 09:17:04 +00:00
|
|
|
|
|
|
|
def _build_kwargs(self, batch: Any, batch_idx: int, dataloader_idx: int) -> Dict[str, Any]:
|
2021-09-06 12:49:09 +00:00
|
|
|
"""Assembles the keyword arguments for the ``predict_step``
|
Loop Refactor 5/N - Prediction Loop (#7700)
* integrate d180bb2
* Minor changes
* Refactor loop logic into logger connector
* Refactor test
* Tighter fx validator
* Add back split idx
* Typing
* update
* Conflict
* Fix tests
* resolve grad_norm
* update
* move to train loop
* Bye grad_norm_dict parameter
* Fix sync test
* update
* Fix bug when validation is run mid epoch
* fix grad_norm_dict test
* Fix fx_validator test
* fix grad_norm_dict test
* Fix order bug
* Detach tensors in test
* resolve some tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* resolve flake8
* Update test
* more tests
* Revert last thomas' changes
* resolve 1 test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor context restoration
* integrate latest changes from logger connector refactor poc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate latest changes from logger connector refactor poc
* Minor changes
* update changelog
* Remove unused argument
* Update CHANGELOG
* Copy call_hook changes
* Docs
* Fix ref
* move to cpu
* Bad merge
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* remove pdb
* Refactor to
* Avoid partial
* trigger ci
* Bad merge
* integrate latest logger connector changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove grad norm dicts list
* Diff
* properties first
* Bad merge
* Reuse metrics_to_scalars
* Use active loop
* Move to device
* resolve test
* integrate latest changes from logger connector poc
* define union
* define union
* Update logger connector
* Update result
* Update imports
* Update after rename
* Refactor reduce_fx and op
* Fix test after rename
* mypy
* integrate latest logger connector refactor poc changes
* Fix test
* Refactor test
* Deprecate `self.log(sync_dist_op)` in favor of `self.log(reduce_fx)`
* Undo field
* add redundant return
* rename
rename files and classes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename
* Replace code
* Fix names and imports
* Remove metric_attribute
* imports
* loop hygiene
* yapf on loops
* protected new loop trigger
* rename NEW LOOP guard
* integrate latest logger connector changes
* integrate latest logger connector changes (eval loop)
* resolve todo dataloading reset
* re-add notebooks
* add missing init
* bad merge
* remove NEW_LOOP guard
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* flake8
* exclude coverage
coverage
* integrate #7917, remove teardown from training loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update "accumulated_batches_reached" condition
based on if iter count was updated or not
* remove public loop properties
* make skip backward protected again
* typing base loop
* typing fit loop
* typing training_batch_loop
* typing evaluation loop
* typing prediction loop
* typing training epoch loop
* dataloader_loop
* evaluation_dataloader_loop
* prediction_dataloader_loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate train loop changes from master
* integrate eval loop changes from master
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix tpipes moving model to cpu and leaving it there.
* don't reset fit loop
don't reset fit loop
* fix test iteration count <-> batch_idx reset
* replace torch.Tensor -> Tensor
* fix attribute error to block_ddp_sync_behaviour
* fix flake8 and yapf conflict
* remove redundant override
* add classes
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
* trainer changes
* connect
* clean up
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update test renaming
* rename evaluation loop to evaluation epoch loop
* minor docstring improvements
* update chlog
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try ci fix
* update code owners for pl/loops
* update mock path
* re-order
* simplify dataloader reset
* simplify get_dataloaders()
* save predictions on_run_end()
* improve skip condition re-routing
* re-order
* remove unused type import
* check which assert is failing
* pig
* hobbit
* teardown for evaluation
* Revert "hobbit"
This reverts commit e81b0dbee31da813ba6ad58f74d236863c86d18e.
* Revert "pig"
This reverts commit 33d89e0720ce7380af80917b15a79362d9416ae7.
* Revert "check which assert is failing"
This reverts commit b7483b425cab95290eb2cbf354ccb0a77004df83.
* free memory in fit loop teardown
* update docstring
* period
* remove dead code
* else carlos
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/evaluation_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* update chlog
* unused imp
* move default construction in run_evaluation
* add something for lawyer to read
* switch typehint for eval loop trainer property
* add missing imports
* remove a todo that needs more discussion
* combine _get_num_dataloaders with the property
* Update pytorch_lightning/loops/dataloader/dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* black + yapf
* avoid coverage on old unused eval loop
* empty space in docstring
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
* resolve todo for args forwarding
* weekproxy trainer
* fix check for num dataloaders kwargs
* clean up num prediction dataloaders property
* free memory
* rm notebooks folder
* rm old file
* revert changes to old eval loop
* bad merge
* undo teardown
* setup signature
* remove file for notes
* free memory
* chlog
* Revert "weekproxy trainer"
This reverts commit d4e6969170b80db4c9e6111fa9af507c740cde4a.
* connect trainer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up max batches and dataloaders
* max batches handling
* no grad handling
* unused argument
* protected attrs
* unused imports
* undo unintentional rename
* consistent naming
* capitalization in docstring
* list all args
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: Carlos Mocholi <carlossmocholi@gmail.com>
Co-authored-by: tchaton <thomas@grid.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
2021-06-23 09:17:04 +00:00
|
|
|
|
|
|
|
Args:
|
|
|
|
batch: the current batch to run the prediction on
|
|
|
|
batch_idx: the index of the current batch
|
|
|
|
dataloader_idx: the index of the dataloader producing the current batch
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
the dictionary containing all the keyboard arguments for the predict step
|
|
|
|
"""
|
2021-07-26 11:37:35 +00:00
|
|
|
step_kwargs = OrderedDict([("batch", batch), ("batch_idx", batch_idx)])
|
Loop Refactor 5/N - Prediction Loop (#7700)
* integrate d180bb2
* Minor changes
* Refactor loop logic into logger connector
* Refactor test
* Tighter fx validator
* Add back split idx
* Typing
* update
* Conflict
* Fix tests
* resolve grad_norm
* update
* move to train loop
* Bye grad_norm_dict parameter
* Fix sync test
* update
* Fix bug when validation is run mid epoch
* fix grad_norm_dict test
* Fix fx_validator test
* fix grad_norm_dict test
* Fix order bug
* Detach tensors in test
* resolve some tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* resolve flake8
* Update test
* more tests
* Revert last thomas' changes
* resolve 1 test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor context restoration
* integrate latest changes from logger connector refactor poc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate latest changes from logger connector refactor poc
* Minor changes
* update changelog
* Remove unused argument
* Update CHANGELOG
* Copy call_hook changes
* Docs
* Fix ref
* move to cpu
* Bad merge
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* remove pdb
* Refactor to
* Avoid partial
* trigger ci
* Bad merge
* integrate latest logger connector changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove grad norm dicts list
* Diff
* properties first
* Bad merge
* Reuse metrics_to_scalars
* Use active loop
* Move to device
* resolve test
* integrate latest changes from logger connector poc
* define union
* define union
* Update logger connector
* Update result
* Update imports
* Update after rename
* Refactor reduce_fx and op
* Fix test after rename
* mypy
* integrate latest logger connector refactor poc changes
* Fix test
* Refactor test
* Deprecate `self.log(sync_dist_op)` in favor of `self.log(reduce_fx)`
* Undo field
* add redundant return
* rename
rename files and classes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename
* Replace code
* Fix names and imports
* Remove metric_attribute
* imports
* loop hygiene
* yapf on loops
* protected new loop trigger
* rename NEW LOOP guard
* integrate latest logger connector changes
* integrate latest logger connector changes (eval loop)
* resolve todo dataloading reset
* re-add notebooks
* add missing init
* bad merge
* remove NEW_LOOP guard
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* flake8
* exclude coverage
coverage
* integrate #7917, remove teardown from training loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update "accumulated_batches_reached" condition
based on if iter count was updated or not
* remove public loop properties
* make skip backward protected again
* typing base loop
* typing fit loop
* typing training_batch_loop
* typing evaluation loop
* typing prediction loop
* typing training epoch loop
* dataloader_loop
* evaluation_dataloader_loop
* prediction_dataloader_loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate train loop changes from master
* integrate eval loop changes from master
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix tpipes moving model to cpu and leaving it there.
* don't reset fit loop
don't reset fit loop
* fix test iteration count <-> batch_idx reset
* replace torch.Tensor -> Tensor
* fix attribute error to block_ddp_sync_behaviour
* fix flake8 and yapf conflict
* remove redundant override
* add classes
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
* trainer changes
* connect
* clean up
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update test renaming
* rename evaluation loop to evaluation epoch loop
* minor docstring improvements
* update chlog
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try ci fix
* update code owners for pl/loops
* update mock path
* re-order
* simplify dataloader reset
* simplify get_dataloaders()
* save predictions on_run_end()
* improve skip condition re-routing
* re-order
* remove unused type import
* check which assert is failing
* pig
* hobbit
* teardown for evaluation
* Revert "hobbit"
This reverts commit e81b0dbee31da813ba6ad58f74d236863c86d18e.
* Revert "pig"
This reverts commit 33d89e0720ce7380af80917b15a79362d9416ae7.
* Revert "check which assert is failing"
This reverts commit b7483b425cab95290eb2cbf354ccb0a77004df83.
* free memory in fit loop teardown
* update docstring
* period
* remove dead code
* else carlos
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/evaluation_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* update chlog
* unused imp
* move default construction in run_evaluation
* add something for lawyer to read
* switch typehint for eval loop trainer property
* add missing imports
* remove a todo that needs more discussion
* combine _get_num_dataloaders with the property
* Update pytorch_lightning/loops/dataloader/dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* black + yapf
* avoid coverage on old unused eval loop
* empty space in docstring
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
* resolve todo for args forwarding
* weekproxy trainer
* fix check for num dataloaders kwargs
* clean up num prediction dataloaders property
* free memory
* rm notebooks folder
* rm old file
* revert changes to old eval loop
* bad merge
* undo teardown
* setup signature
* remove file for notes
* free memory
* chlog
* Revert "weekproxy trainer"
This reverts commit d4e6969170b80db4c9e6111fa9af507c740cde4a.
* connect trainer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up max batches and dataloaders
* max batches handling
* no grad handling
* unused argument
* protected attrs
* unused imports
* undo unintentional rename
* consistent naming
* capitalization in docstring
* list all args
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: Carlos Mocholi <carlossmocholi@gmail.com>
Co-authored-by: tchaton <thomas@grid.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
2021-06-23 09:17:04 +00:00
|
|
|
if self._num_dataloaders > 1:
|
2021-07-26 11:37:35 +00:00
|
|
|
step_kwargs["dataloader_idx"] = dataloader_idx
|
Loop Refactor 5/N - Prediction Loop (#7700)
* integrate d180bb2
* Minor changes
* Refactor loop logic into logger connector
* Refactor test
* Tighter fx validator
* Add back split idx
* Typing
* update
* Conflict
* Fix tests
* resolve grad_norm
* update
* move to train loop
* Bye grad_norm_dict parameter
* Fix sync test
* update
* Fix bug when validation is run mid epoch
* fix grad_norm_dict test
* Fix fx_validator test
* fix grad_norm_dict test
* Fix order bug
* Detach tensors in test
* resolve some tests
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* resolve flake8
* Update test
* more tests
* Revert last thomas' changes
* resolve 1 test
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Refactor context restoration
* integrate latest changes from logger connector refactor poc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate latest changes from logger connector refactor poc
* Minor changes
* update changelog
* Remove unused argument
* Update CHANGELOG
* Copy call_hook changes
* Docs
* Fix ref
* move to cpu
* Bad merge
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove pdb
* remove pdb
* Refactor to
* Avoid partial
* trigger ci
* Bad merge
* integrate latest logger connector changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* remove grad norm dicts list
* Diff
* properties first
* Bad merge
* Reuse metrics_to_scalars
* Use active loop
* Move to device
* resolve test
* integrate latest changes from logger connector poc
* define union
* define union
* Update logger connector
* Update result
* Update imports
* Update after rename
* Refactor reduce_fx and op
* Fix test after rename
* mypy
* integrate latest logger connector refactor poc changes
* Fix test
* Refactor test
* Deprecate `self.log(sync_dist_op)` in favor of `self.log(reduce_fx)`
* Undo field
* add redundant return
* rename
rename files and classes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* rename
* Replace code
* Fix names and imports
* Remove metric_attribute
* imports
* loop hygiene
* yapf on loops
* protected new loop trigger
* rename NEW LOOP guard
* integrate latest logger connector changes
* integrate latest logger connector changes (eval loop)
* resolve todo dataloading reset
* re-add notebooks
* add missing init
* bad merge
* remove NEW_LOOP guard
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* flake8
* exclude coverage
coverage
* integrate #7917, remove teardown from training loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update "accumulated_batches_reached" condition
based on if iter count was updated or not
* remove public loop properties
* make skip backward protected again
* typing base loop
* typing fit loop
* typing training_batch_loop
* typing evaluation loop
* typing prediction loop
* typing training epoch loop
* dataloader_loop
* evaluation_dataloader_loop
* prediction_dataloader_loop
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* integrate train loop changes from master
* integrate eval loop changes from master
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix tpipes moving model to cpu and leaving it there.
* don't reset fit loop
don't reset fit loop
* fix test iteration count <-> batch_idx reset
* replace torch.Tensor -> Tensor
* fix attribute error to block_ddp_sync_behaviour
* fix flake8 and yapf conflict
* remove redundant override
* add classes
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
* trainer changes
* connect
* clean up
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* update test renaming
* rename evaluation loop to evaluation epoch loop
* minor docstring improvements
* update chlog
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* try ci fix
* update code owners for pl/loops
* update mock path
* re-order
* simplify dataloader reset
* simplify get_dataloaders()
* save predictions on_run_end()
* improve skip condition re-routing
* re-order
* remove unused type import
* check which assert is failing
* pig
* hobbit
* teardown for evaluation
* Revert "hobbit"
This reverts commit e81b0dbee31da813ba6ad58f74d236863c86d18e.
* Revert "pig"
This reverts commit 33d89e0720ce7380af80917b15a79362d9416ae7.
* Revert "check which assert is failing"
This reverts commit b7483b425cab95290eb2cbf354ccb0a77004df83.
* free memory in fit loop teardown
* update docstring
* period
* remove dead code
* else carlos
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/evaluation_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* update chlog
* unused imp
* move default construction in run_evaluation
* add something for lawyer to read
* switch typehint for eval loop trainer property
* add missing imports
* remove a todo that needs more discussion
* combine _get_num_dataloaders with the property
* Update pytorch_lightning/loops/dataloader/dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* black + yapf
* avoid coverage on old unused eval loop
* empty space in docstring
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
* resolve todo for args forwarding
* weekproxy trainer
* fix check for num dataloaders kwargs
* clean up num prediction dataloaders property
* free memory
* rm notebooks folder
* rm old file
* revert changes to old eval loop
* bad merge
* undo teardown
* setup signature
* remove file for notes
* free memory
* chlog
* Revert "weekproxy trainer"
This reverts commit d4e6969170b80db4c9e6111fa9af507c740cde4a.
* connect trainer
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean up max batches and dataloaders
* max batches handling
* no grad handling
* unused argument
* protected attrs
* unused imports
* undo unintentional rename
* consistent naming
* capitalization in docstring
* list all args
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/dataloader/prediction_dataloader_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
* Update pytorch_lightning/loops/prediction_epoch_loop.py
Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com>
Co-authored-by: Carlos Mocholi <carlossmocholi@gmail.com>
Co-authored-by: tchaton <thomas@grid.ai>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Justus Schock <justus.schock@posteo.de>
Co-authored-by: Justus Schock <justus.schock@rwth-aachen.de>
Co-authored-by: Justus Schock <12886177+justusschock@users.noreply.github.com>
Co-authored-by: Ethan Harris <ewah1g13@soton.ac.uk>
2021-06-23 09:17:04 +00:00
|
|
|
return step_kwargs
|
|
|
|
|
2021-12-02 10:36:10 +00:00
|
|
|
def _get_batch_indices(self, dataloader_idx: int) -> List[List[int]]:
|
|
|
|
"""Returns a reference to the seen batch indices if the dataloader has a batch sampler wrapped by our
|
|
|
|
:class:`~pytorch_lightning.overrides.distributed.IndexBatchSamplerWrapper`."""
|
2021-12-17 18:02:25 +00:00
|
|
|
# the batch_sampler is not be defined in case of CombinedDataLoaders
|
2022-02-21 13:39:30 +00:00
|
|
|
batch_sampler = getattr(
|
|
|
|
self.trainer.predict_dataloaders[dataloader_idx], # type: ignore[has-type]
|
|
|
|
"batch_sampler",
|
|
|
|
None,
|
|
|
|
)
|
2021-12-02 10:36:10 +00:00
|
|
|
if isinstance(batch_sampler, IndexBatchSamplerWrapper) and self.should_store_predictions:
|
|
|
|
return batch_sampler.seen_batch_indices
|
|
|
|
|
|
|
|
warning_cache.warn("Lightning couldn't infer the indices fetched for your dataloader.")
|
|
|
|
return []
|