# Training

Source: https://help.zira.us/docs/ai-vision/training
Summary: Train a new model from a dataset, follow the run while it works, and understand the result.
Updated: 2026-09-16

Training is how a camera learns to recognise something new — a defect, a part, a label. You show it
a dataset of images you have already marked up, and it produces a **model**: the file the camera
uses to make its own decisions.

The **Training** tab lists every training run this data source has done, and how each one went.

## Before you start

You need a dataset with labelled images, saved as a **version**. A version is a frozen snapshot of
the dataset — training always runs against one, so the run can be repeated later with exactly the
same images.

See [Datasets](/docs/ai-vision/datasets) for how to create one.

## Start a run

1. Open the data source and go to **Datasets**.
2. Open the versions list for the dataset you want to train on.
3. Choose **Run training** on the version.
4. Fill in the **Train a model** form (below) and start it.
5. Open the **Training** tab to watch it.

You can close the page once the run has started. It keeps going in the cloud, and anyone on your
team sees it in this tab.

## The "Train a model" form

Only one field is required — the name. Everything else already has a setting that works for most
jobs.

**What you are making**

| Field | What it means |
| --- | --- |
| Model name | What this model will be called in the Models tab. Give it something you will recognise in three months. |
| What this model looks for | Groups the model in the Models tab so it is easy to find. Optional, and you can set it later. |
| Dataset version to learn from | The images and labels the run learns from. |
| Camera view | Pallet cameras only — which side of the pallet this camera sees. |

**How it trains**

| Field | What it means |
| --- | --- |
| Starting point | Training rarely starts from nothing. Pick a stock model, or carry on from one of your own so it keeps what it already learned. |
| Image size | Bigger spots finer detail but trains and runs slower. 640 suits most cameras. Fixed when every image in the dataset is the same size. |
| Training passes | How many times it reads every image. 100 is a good start. |
| Stop if it stops improving | Ends the run early once this many passes bring no progress, so you are not paying for work that is not helping. |

**Also build a file the camera can run**

Training produces a model the cloud can read. Cameras need a smaller, converted copy, and this
builds it at the same time. Leave it on unless you only want the training result.

If you see a warning that the chosen format does not run on the camera app yet, the file will still
be built and stored — you just will not be able to send it to a device until the app supports it.

**Advanced**

Three collapsed sections — how it learns, which images it uses, and which cloud machines run the
job. Nothing in there needs changing for a normal run.

Inside them you can also override the **image variations** the run generates — small changes to
brightness, angle and framing that help a model cope with a real production line. The defaults are
tuned already; change them only when you know the variation you want to add.

## Follow a run

Each row in the Training tab shows the model being made, what it started from, how far it has got
and how long it has taken.

Click a row to open the full detail:

- **Progress** — which pass it is on, and a rough estimate of the time left.
- **Charts and epoch log** — how the model improved pass by pass, including a per-class view so you
  can watch one defect catch up (or fall behind) while the run is still going. Switch between the
  two scoring styles to see whether a class is merely being found or being placed accurately.
- **Image variations** — the variations this run generated from your images, listed so you can see
  what the model was trained against.
- **Dataset** — how many images went into training, validation and testing, plus a warning if the
  same image appears in more than one of them (which makes the scores look better than they are).
- **Final scores** — per class, how often the model was right when it fired, and how much it found.
- **Dataset sources** — if the dataset was merged from several others, which ones and in what split.
- **Restore points** — snapshots taken during the run. You can turn any of them into a model.

### "Stopped early" is normal

Most healthy runs end this way. It means the model stopped improving, so the run finished instead of
burning through the remaining passes. The result is still the best version it found.

## When it finishes

The new model appears in the [Models](/docs/ai-vision/models) tab. From there you can send it to a
device, or fine-tune from it to make the next version.

## Read next

- [Datasets](/docs/ai-vision/datasets)
- [Models](/docs/ai-vision/models)
- [Validation](/docs/ai-vision/validation)
