Support all iterator modes for fit/validate/test/predict
#16,830 创建于 2023年2月21日
仓库指标
- Star
- (26,687 star)
- PR 合并指标
- (平均合并 9天 15小时) (30 天内合并 3 个 PR)
描述
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