Stage 2 of 10 · 6 lessons · ~3 weeks
Data and model versioning
Version large data and model files with DVC next to Git, describe the pipeline as reproducible stages, validate data before it is used and freeze an evaluation set every model is judged on.
Start: Why Git alone is not enoughLessons· one lesson for each topic, in this order
Do this
- Track your raw data with DVC and push it to a remote.
- Clone the repository on another machine or folder and pull the data.
- Describe featurising and training, or indexing, as dvc.yaml stages.
- Add validation checks as the first stage and make one fail on purpose.
- Build and version a frozen evaluation set with a short note on its contents.
- Log the data version and commit with every run.
Start with
- CourseFreeMade With ML
Goku Mohandas · Advanced
Free: the versioning and data testing lessons, built around one real project
Keep handy
Also worth your time
Before moving on: Your project with data tracked by DVC in a remote, a dvc.yaml pipeline that rebuilds the model or index with one command, validation checks that fail the run on bad data, and a frozen, versioned evaluation set.

Version the data from the first experiment, not after something goes wrong: retrofitting it means some old models can never be rebuilt. Keep the evaluation set small, deliberate and stable, and write down why each group of examples is in it.