YOLO Vision 2026:

YOLO26 Trainingsrezept#

Einführung#

Diese Anleitung dokumentiert das genaue training-Rezept, das verwendet wurde, um die offiziellen vorab trainierten YOLO26-Checkpoints auf COCO zu erstellen. Jeder hier gezeigte hyperparameter ist bereits in den veröffentlichten .pt-Gewichten eingebettet und kann programmgesteuert überprüft werden.

Zu wissen, was in die offiziellen Checkpoints eingeflossen ist – nicht nur die Architektur, sondern auch die learning rate-Verläufe, Augmentierungs-Pipelines und Loss-Gewichte, die ihre Leistung geprägt haben –, hilft dir, beim fine-tuning bessere Entscheidungen zu treffen: Welche data augmentations du beibehalten solltest, welche loss function-Gewichte anzupassen sind und welche Optimizer-Einstellungen für deine Datensatzgröße am besten funktionieren.

Trainingsübersicht#

Alle YOLO26 Basismodelle wurden auf COCO bei einer Auflösung von 640x640 mit dem MuSGD Optimierer und einer batch size von 128 trainiert. Statt in einem einzigen Durchlauf von zufälligen Gewichten aus zu starten, wurden die Modelle mit zwischenzeitlichen vortrainierten Gewichten initialisiert und mit Hyperparametern verfeinert, die durch evolutionary search ermittelt wurden. Vollständige Trainingsprotokolle und Metriken für jede Modellgröße sind auf der Ultralytics Platform verfügbar.

Wichtige Designentscheidungen über alle Größen hinweg:

  • End-to-End-Training (end2end=True) mit NMS-freiem One-to-One-Head
  • MuSGD-Optimizer, der SGD mit orthogonalisierten Updates im Muon-Stil für Gewichtsmatrizen kombiniert (2D-lineare Gewichte und 4D-Conv-Filter, die auf 2D umgeformt werden)
  • Starke Mosaik-Augmentierung (~0.9-1.0 Wahrscheinlichkeit), die in den letzten 10 Epochen deaktiviert wird (close_mosaic=10)
  • Aggressive Skalen-Augmentierung (0,56-0,95), um Objekte unterschiedlicher Größe zu verarbeiten
  • Minimale Rotation/Scherung für die meisten Größen, um geometrische Verzerrungen gering zu halten

Überprüfung der YOLO26-Checkpoint-Trainingsargumente#

Jeder Ultralytics-Checkpoint speichert die vollständige Trainingskonfiguration, die zu seiner Erstellung verwendet wurde, sodass du jede Zahl auf dieser Seite selbst überprüfen kannst:

Trainingsargumente des Checkpoints prüfen
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
print(model.ckpt["train_args"])

Die Ausgabe listet die vollständige Konfiguration von über 100 Einträgen auf, einschließlich jedes auf dieser Seite dokumentierten Rezeptwerts. Ein Auszug für yolo26n.pt:

batch: 128
...
box: 5.62767
...
close_mosaic: 10
cls: 0.56099
...
dfl: 9.03871
...
epochs: 245
...
lr0: 0.0054
lrf: 0.04952
...
optimizer: MuSGD

Dies funktioniert für jeden .pt-Checkpoint gleichermaßen – für offizielle Releases wie für deine eigenen feinabgestimmten Modelle. Die vollständige Liste der konfigurierbaren Trainingsargumente findest du in der training configuration reference.

YOLO26-Trainingshyperparameter pro Modellgröße#

Die folgenden Tabellen gruppieren das Rezept nach Kategorie – Optimizer und Zeitplan, Loss-Gewichte und Augmentierung. Jeder Wert stammt direkt aus dem in den veröffentlichten Checkpoints eingebetteten train_args.

Optimierer und Lernrate#

Diese Optimierer- und Zeitplaneinstellungen steuerten das COCO-Vortraining für jede Größe; beachte, wie sich das N-Modell von den anderen unterscheidet:

EinstellungNSMLX
optimizerMuSGDMuSGDMuSGDMuSGDMuSGD
lr00.00540.000380.000380.000380.00038
lrf0.04950.8820.8820.8820.882
momentum0.9470.9480.9480.9480.948
weight_decay0.000640.000270.000270.000270.00027
warmup_epochs0.980.990.990.990.99
epochs24570806040
batch128128128128128
imgsz640640640640640
Lernratenstrategie

Das N-Modell verwendete eine höhere initiale Lernrate mit steilem Abfall (lrf=0.0495), während S/M/L/X-Modelle eine viel niedrigere initiale LR mit einem sanfteren Zeitplan verwendeten (lrf=0.882). Dies spiegelt die unterschiedliche Konvergenzdynamik kleinerer im Vergleich zu größeren Modellen wider – kleinere Modelle benötigen aggressivere Updates, um effektiv zu lernen.

Verlustgewichte#

Loss-Gewichte balancieren die drei Komponenten des Erkennungsverlusts aus – bounding box-IoU-Regression (box), Klassifikation (cls) und einen Box-Entfernungs-Regressionsterm (dfl). Beachte, dass DFL-freies YOLO26 die dfl-Verstärkung umfunktioniert, um einen L1-Loss auf normalisierten Box-Entfernungen anstelle eines Distribution Focal Loss zu gewichten:

EinstellungNSMLX
box5.639.839.839.839.83
cls0.560.650.650.650.65
dfl9.040.960.960.960.96

Das N-Modell priorisiert den Distanzregressionsterm dfl, während S/M/L/X-Modelle den Schwerpunkt auf die IoU-basierte Box-Regression verlegen. Der Klassifikationsverlust bleibt über alle Größen hinweg relativ konstant.

Augmentierungspipeline#

Eine detaillierte Erläuterung der einzelnen Techniken findest du im YOLO Data Augmentation guide.

EinstellungNSMLX
mosaic0.9090.9920.9920.9920.992
mixup0.0120.050.4270.4270.427
copy_paste0.0750.4040.3040.4040.404
scale0.5620.90.950.950.95
fliplr0.6060.3040.3040.3040.304
degrees1.11~0~0~0~0
shear1.46~0~0~0~0
translate0.0710.2750.2750.2750.275
hsv_h0.0140.0130.0130.0130.013
hsv_s0.6450.3530.3530.3530.353
hsv_v0.5660.1940.1940.1940.194
bgr0.1060.00.00.00.0

Werte, die als ~0 angezeigt werden, liegen in den tatsächlichen Checkpoints unter 0.01 (zum Beispiel degrees=0.00012 für das S-Modell) – die Augmentierung ist effektiv deaktiviert.

Größere Modelle verwenden insgesamt eine aggressivere Augmentierung (höheres Mixup, Copy-Paste und Skalierung), da sie über mehr Kapazität verfügen und von einer stärkeren regularization profitieren. Das N-Modell ist die einzige Größe mit nennenswerter Rotations-, Scherungs- und BGR-Augmentierung.

Interne Trainingsparameter#

Fortgeschritten: interne Pipeline-Parameter

Die Checkpoints enthalten auch Parameter, die in der internen Trainingspipeline verwendet wurden, aber nicht als vom Benutzer konfigurierbare Einstellungen in default.yaml freigegeben sind:

EinstellungBeschreibungNSMLX
muon_wMuon-Update-Gewichtung in MuSGD0.5280.4360.4360.4360.436
sgd_wSGD-Update-Gewichtung in MuSGD0.6740.4790.4790.4790.479
cls_wInternes Klassifizierungsgewicht2.743.483.483.483.48
o2mGewicht des One-to-Many-Head-Loss1.00.7050.7050.7050.705
topkTop-k-Label-Zuweisung85555

Siehe den FAQ entry on these parameters für deren Bedeutung beim Fine-Tuning.

Fine-Tuning von YOLO26 auf deinem eigenen Datensatz#

Wenn du YOLO26 auf deinem eigenen Datensatz feinabstimmst, musst du das vollständige Vortrainingsrezept nicht replizieren. Die vortrainierten Gewichte kodieren bereits das Augmentierungs- und Optimierungswissen aus dem COCO-Training. Allgemeine Best Practices für das Training findest du unter Tips for Model Training.

Fine-Tuning mit Standardeinstellungen#

Fine-Tuning mit Standardwerten
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
results = model.train(data="your-dataset.yaml", epochs=100, imgsz=640)

Das Fine-Tuning mit Standardwerten ist eine starke Basis. Passe Hyperparameter nur an, wenn du einen spezifischen Grund dafür hast.

Wann du YOLO26 Hyperparameter anpassen solltest#

Kleine Datensätze (< 1.000 Bilder):

  • Augmentierungsstärke reduzieren: mosaic=0.5, mixup=0.0, copy_paste=0.0
  • Niedrigere Lernrate: lr0=0.001
  • Weniger epochs mit Geduld (Patience) verwenden: epochs=50, patience=20
  • In Betracht ziehen, Backbone-Schichten einzufrieren: freeze=10

Große Datensätze (> 50.000 Bilder):

  • Richte dich genauer nach dem Pretraining-Rezept
  • optimizer=MuSGD für längere Läufe in Betracht ziehen
  • Augmentierung erhöhen: mosaic=1.0, mixup=0.3, scale=0.9

Domänenspezifische Bilder (Luftaufnahmen, medizinische Bilder, Unterwasseraufnahmen):

  • flipud=0.5 erhöhen, wenn die vertikale Ausrichtung variiert
  • degrees erhöhen, wenn Objekte bei beliebigen Rotationen auftreten
  • hsv_s und hsv_v anpassen, wenn sich die Lichtverhältnisse stark von COCO unterscheiden

Für die automatisierte Hyperparameter-Optimierung siehe den Hyperparameter Tuning guide.

Wähle eine Modellgröße#

ModellAm besten fürLeitfaden zur Batch-Größe
YOLO26nEdge-Geräte, Mobilgeräte, Echtzeit auf CPUGroße Batches (64-128) auf Consumer-GPUs
YOLO26sAusgewogene Geschwindigkeit und GenauigkeitMittlere Batches (32-64)
YOLO26mHöhere Genauigkeit bei moderatem RechenaufwandKleinere Batches (16-32)
YOLO26lHohe Genauigkeit bei verfügbarer GPUKleine Batches (8-16) oder Multi-GPU
YOLO26xMaximale Genauigkeit, Server-BereitstellungKleine Batches (4-8) oder Multi-GPU

Informationen zu Export- und Bereitstellungsoptionen findest du im Export guide und unter Model Deployment Options.

Fazit#

Die YOLO26-Checkpoints werden mit ihrem eingebetteten vollständigen Trainingsrezept ausgeliefert, sodass die genauen Hyperparameter hinter jeder Modellgröße immer nur einen train_args-Lookup entfernt sind. Starte das Fine-Tuning mit den Standardwerten, passe sie gezielt anhand der Tabellen auf dieser Seite an und verifiziere jede Änderung anhand deines eigenen Validierungssatzes. Wenn unterwegs Fragen auftauchen, frage die Community im Ultralytics GitHub repository oder auf dem Ultralytics Discord server.

FAQ#

  • Lade den Checkpoint mit torch.load() und greife auf den Schlüssel train_args zu oder verwende model.ckpt["train_args"] mit der Ultralytics API. Vollständige Beispiele findest du unter Inspecting YOLO26 Checkpoint Training Args.

  • Größere Modelle benötigten auf COCO im Allgemeinen weniger Epochen, da ihre größere Kapazität die Konvergenz beschleunigt – das X-Modell wurde für 40 Epochen trainiert gegenüber 245 für N –, obwohl die Anzahl nicht streng monoton ist (S verwendete 70, M verwendete 80). Beim Fine-Tuning auf deinem eigenen Datensatz hängt die optimale Epochenanzahl von der Größe und Komplexität deines Datensatzes ab, nicht von der Modellgröße. Verwende Early Stopping (patience), um den richtigen Stopppunkt automatisch zu finden.

  • Normalerweise musst du dich nicht entscheiden: Mit dem Standardwert optimizer=auto wählt Ultralytics automatisch MuSGD für längere Trainingsläufe (>10.000 Iterationen) und AdamW für kürzere aus. Du kannst optimizer=MuSGD explizit festlegen, wenn du das bevorzugst. Mehr darüber, wie MuSGD funktioniert, findest du in der training documentation.

  • Dies sind interne Parameter aus der Trainingspipeline, die die Basis-Checkpoints erzeugt hat, aufgezeichnet in train_args zur Reproduzierbarkeit. Sie sind keine vom Benutzer konfigurierbaren Einstellungen in default.yaml, und die Übergabe an model.train() löst einen ungültigen Argumentfehler aus – das öffentliche Paket liest sie nicht. Du musst sie beim Fine-Tuning nicht festlegen; ihre Werte pro Modellgröße findest du unter Internal Training Parameters.

  • Nicht ganz – die Checkpoints wurden unter Verwendung eines internen Trainingsbranch mit zusätzlichen Funktionen erstellt, die nicht im öffentlichen Codebasis enthalten sind (wie konfigurierbare o2m-Gewichte und cls_w). Du kannst mit den auf dieser Seite dokumentierten Hyperparametern und dem öffentlichen Ultralytics-Paket sehr ähnliche Ergebnisse erzielen, aber eine exakte Reproduktion erfordert den internen Branch.

Kommentare