Versions, Trainings, and Models

How dataset versions, trainings, and models relate in Roboflow, and how each model is identified and deployed.

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.

Delete a Training

To clear out a run you no longer want, open the version card on your project's Models page, click "Delete", type the model name to confirm, then click "Move to Trash". You can only delete a training that is not running. The training and its models are kept in your workspace Trash for 30 days, so you can restore them.

The oldest training on a version owns its {project}/{version} model ID. If you delete that training, serving moves to the next oldest, or stops until a new training finishes. The confirmation window tells you which one applies.

To delete a training through the API, send DELETE /:workspace/:project/:version/v2/trainings/:trainingId with a key that has the version:update scope.