For the complete documentation index, see llms.txt. This page is also available as Markdown.

Versions, Trainings, and Models

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

Model

You 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?