Support all iterator modes for fit/validate/test/predict
#16,830 opened on Feb 21, 2023
Repository metrics
- Stars
- (26,687 stars)
- PR merge metrics
- (Avg merge 9d 15h) (3 merged PRs in 30d)
Description
Description & Motivation
trainer.fit only works with CombinedLoader(..., mode="max_size_cycle"|"min_size")
trainer.{validate,test,predict} only works with CombinedLoader(..., mode="sequential")
This constraint is checked in the top-level loops: https://github.com/Lightning-AI/lightning/blob/0009cde1db1a9ab4e2f1e0a9f69a4affb59d5134/src/lightning/pytorch/loops/fit_loop.py#L351-L354 https://github.com/Lightning-AI/lightning/blob/0009cde1db1a9ab4e2f1e0a9f69a4affb59d5134/src/lightning/pytorch/loops/evaluation_loop.py#L182-L183
Pitch
Have all trainer functions support all modes
TODO:
- FitLoop
- EvaluationLoop (#17163)
- PredictionLoop
Alternatives
Not do it
Additional context
This builds on top of https://github.com/Lightning-AI/lightning/pull/16726
cc @borda @justusschock @awaelchli