Loading...
Loading...
Use when training, fine-tuning, or validating Ultralytics YOLO models in Platform, cloud GPUs, or local code — model.train(), yolo train/val, remote metric streaming, epochs, batch, imgsz, devices, augmentation, multi-GPU, resumes, results, and fixing OOM, NaN loss, low mAP, or overfitting. For hyperparameter search and systematic improvement loops, see yolo-tuning.
npx skill4agent add ultralytics/skills yolo-trainingbest.ptexport ULTRALYTICS_API_KEY="YOUR_API_KEY"
yolo train model=yolo26n.pt data=ul://username/datasets/dataset-slug \
epochs=100 project=username/project-slug name=experiment-1ultralytics>=8.4.104ul://username/project-slugfrom ultralytics import YOLO
model = YOLO("yolo26n.pt") # ALWAYS start from pretrained weights
results = model.train(data="data.yaml", epochs=100, imgsz=640, batch=16, device=0)yolo detect train data=data.yaml model=yolo26n.pt epochs=100 imgsz=640 batch=16 device=0cls_remap=True| Arg | Default | Notes |
|---|---|---|
| 100 | 100–300 for fine-tuning; rely on early stopping, not guesses |
| 100 | epochs without val improvement before early stop; ~20–50 for quick iterations |
| task/model | global fallback 640; classify uses 224 when unset; explicit values win |
| 16 | |
| None | |
| False | |
| 8 | lower if RAM/shared-memory errors |
| None | freeze first N layers ( |
| auto | leave on auto (YOLO26 adds MuSGD); depth fine-tuning overrides it below |
| 0.01 / 0.01 | base values; depth fine-tuning uses a lower |
| 1.0 | subset training — |
| False | continue an interrupted run (see recipes) |
| None | local output naming; authenticated |
| 0 | reproducible with |
| False | torch.compile; also |
| None | max training hours — overrides epochs |
training-args.mdyolo cfgYOLO("runs/detect/train/weights/last.pt").train(resume=True)epochsbest.ptdevice=[0,1]if __name__ == "__main__":freeze=10ns-depth.ptoptimizer=AdamW lr0=1e-4 warmup_bias_lr=1e-4imgsz=1280name=0811_yolo26s_helmets_e100runs/<task>/<name>/args.yamlyolo settings tensorboard=Truewandbmlflowcometclearmldistill_model=yolo26l.pt dis=6.0yolo val model=runs/detect/train/weights/best.pt data=data.yaml # split=val by defaultmAP50-95(B)(M)(P)mIoUdelta1accuracy_top1conf=0.0010.01iou=0.7iousplit=testsave_json=Trueruns/<task>/<name>/weights/best.ptlast.ptresults.csvresults.pngbest.pttrain_batch*.jpgconfusion_matrix.pngconf| Symptom | Fix, in order |
|---|---|
| CUDA out of memory | lower |
| NaN / exploding loss | set |
| mAP near 0 | dataset problem 95% of the time — see yolo-datasets, check |
| mAP plateaus low | more/better data first; then imgsz ↑, bigger model, more epochs; see yolo-tuning playbook |
| Stopped earlier than expected | that's |
| Dataloader slow / GPU idle | |
| Val metrics zero mid-run | classes missing from the val split |
pretrained=Falsetraining-args.mdyolo cfgyolo checks