I am designing a video training pipeline where new samples arrive periodically instead of replacing the entire dataset.
The update process may include:
- New video records
- Updated metadata or captions
- Removed or unavailable samples
- Dataset and schema versions
- Reproducible train/validation/test splits
For PyTorch users, how do you usually handle incremental dataset updates?
- Do you create a new immutable manifest for every training run?
- How do you prevent removed samples from remaining in cached indexes?
- Do you rebuild the Dataset/DataLoader after each release?
- How do you keep sample IDs stable across versions?
- Do you store dataset diffs separately from the full manifest?
I am mainly interested in practical patterns for keeping training runs reproducible while avoiding a full reprocessing job for every small update.