training_monitor
Report a model's training status and progress for public or private Ultralytics projects, showing epoch counters, progress percentage, ETA, and optional trainResults history.
Instructions
Report a model's training status and progress (works for private and public projects). reportedCurrentEpoch, reportedProgressPercentage, and etaMs are the training job's own counters, passed through verbatim; after a run ends reportedCurrentEpoch can count a post-training evaluation as an epoch, so it may be one higher than the epochs actually trained, with reportedProgressPercentage inflated to match, and etaMs can stay nonzero. With no training job, progress is reported unavailable rather than inferred. resultRecordCount counts trainResults records, which are not epochs: a history can include a post-training evaluation record, duplicate or missing epoch numbers, and records out of epoch order. lastReportedMetrics is the last record in API order with its reported epoch, not necessarily the latest epoch. Model quality (best epoch, the model's reported metrics) belongs to model_metrics. timing.elapsedMs is wall-clock since model creation, evaluated at request time: it tracks elapsed run time while training is active, but for a finished model it reflects the model's age, not training duration. Billed training time is computeCost.durationMs.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | Model ref by owner/project/model, ul:// URI, or slug (requires project). | |
| project | No | Project ref required when model is given by slug. | |
| history_last_n | No | Limit the history to the last N records in API order (default 20). Truncates a long run to its tail; the response always reports the window it covers (record counts and the min/max reported epoch), so a flat tail is not mistaken for a converged run. | |
| include_history | No | Include the trainResults history (per-record epoch and metrics); omitted by default. |