Versions, Trainings, and Models
Dataset Version
│ start one or more trainings
▼
Training
│ produces one or more models
▼
ModelLast updated
Was this helpful?
Roboflow keeps three concepts separate: a dataset version, a training, and a model. Understanding how they relate helps you train, compare, and deploy models.
A dataset version is an immutable snapshot of your dataset, including its images, splits, preprocessing, and augmentation. You generate a new version only when the snapshot itself changes.
A training is a single training run you start on a version with a chosen architecture and settings. A version can have one or more trainings.
A model is a trained network produced by a training. A single training produces one or more models (ex: a Neural Architecture Search produces several candidate models).
Dataset Version
│ start one or more trainings
▼
Training
│ produces one or more models
▼
ModelYou can start more than one training from the same version, for example to compare architectures, without regenerating the data. You do not need a new version to train another model. Generate a new version only when the underlying data or preprocessing changes.
Each model is deployed and evaluated on its own, and is referenced by a model ID when you deploy it or run inference. A model trained on a version has its own per-model ID of the form {workspace}/{model-slug}, so a version with several models gives each a distinct ID (for example, you pick one in a Workflow model block). Legacy single-model versions are addressed by {project}/{version} instead. See Model IDs for the structure of both formats, and Supported Models for how to call a trained model.
A version with a single model is the common case of this relationship: one training that produced one model. The same structure scales to many trainings and many models on the same version.
Last updated
Was this helpful?
Was this helpful?