Link to this sectionYOLO26 Trainingsrezept#
Link to this sectionEinführung#
Dieser Leitfaden dokumentiert das exakte Training-Rezept, das zur Erstellung der offiziellen YOLO26-vortrainierten Checkpoints auf COCO verwendet wurde. Jeder hier aufgeführte Hyperparameter ist bereits in den veröffentlichten .pt-Gewichten eingebettet und kann programmatisch überprüft werden.
Zu verstehen, wie die Basismodelle trainiert wurden, hilft dir dabei, bessere Entscheidungen beim Fine-Tuning zu treffen: welche Datenaugmentation du beibehalten solltest, welche Gewichte der Verlustfunktion anzupassen sind und welche Optimizer-Einstellungen für deine Datensatzgröße am besten funktionieren.
Dieser Leitfaden richtet sich an Anwender, die verstehen wollen, was in die offiziellen YOLO26-Checkpoints eingeflossen ist – nicht nur die Architektur, sondern auch die Lernraten-Zeitpläne, Augmentations-Pipelines und Verlustgewichte, die ihre Leistung bestimmt haben. Nutze diese Informationen, um fundierte Entscheidungen beim Fine-Tuning mit deinen eigenen Daten zu treffen.
Link to this sectionTrainingsargumente untersuchen#
Jeder Ultralytics-Checkpoint speichert die vollständige Trainingskonfiguration, die zu seiner Erstellung verwendet wurde. Du kannst diese Einstellungen jederzeit überprüfen:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
print(model.ckpt["train_args"])Dies funktioniert für jeden .pt-Checkpoint – sowohl für offizielle Releases als auch für deine eigenen feinabgestimmten Modelle. Eine vollständige Liste der konfigurierbaren Trainingsargumente findest du in der Referenz zur Trainingskonfiguration.
Link to this sectionTrainingsübersicht#
Alle YOLO26-Basismodelle wurden auf COCO mit einer Auflösung von 640x640 unter Verwendung des MuSGD-Optimizers mit einer Batch Size von 128 trainiert. Die Modelle wurden von zwischenzeitlichen vortrainierten Gewichten initialisiert und mit Hyperparametern verfeinert, die mittels evolutionärer Suche gefunden wurden. Vollständige Trainingsprotokolle und Metriken für jede Modellgröße sind auf der Ultralytics Platform verfügbar:
Wichtige Designentscheidungen für alle Größen:
- End-to-End-Training (
end2end=True) mit NMS-freiem One-to-One-Head - MuSGD-Optimizer, der SGD mit Muon-artigen orthogonalisierten Updates für Conv-Gewichte kombiniert
- Starke Mosaic-Augmentation (~0,9-1,0 Wahrscheinlichkeit), die in den letzten 10 Epochen deaktiviert wird (
close_mosaic=10) - Aggressive Skalierungs-Augmentation (0,56-0,95), um Objekte unterschiedlicher Größe zu handhaben
- Minimale Rotation/Scherung für die meisten Größen, um geometrische Verzerrungen gering zu halten
Link to this sectionHyperparameter pro Modellgröße#
Link to this sectionOptimizer und Lernrate#
| Einstellung | N | S | M | L | X |
|---|---|---|---|---|---|
optimizer | MuSGD | MuSGD | MuSGD | MuSGD | MuSGD |
lr0 | 0,0054 | 0,00038 | 0,00038 | 0,00038 | 0,00038 |
lrf | 0,0495 | 0,882 | 0,882 | 0,882 | 0,882 |
momentum | 0,947 | 0,948 | 0,948 | 0,948 | 0,948 |
weight_decay | 0,00064 | 0,00027 | 0,00027 | 0,00027 | 0,00027 |
warmup_epochs | 0,98 | 0.99 | 0.99 | 0.99 | 0.99 |
epochs | 245 | 70 | 80 | 60 | 40 |
batch | 128 | 128 | 128 | 128 | 128 |
imgsz | 640 | 640 | 640 | 640 | 640 |
The N model used a higher initial learning rate with steep decay (lrf=0.0495), while S/M/L/X models used a much lower initial LR with a gentler schedule (lrf=0.882). This reflects the different convergence dynamics of smaller vs larger models — smaller models need more aggressive updates to learn effectively.
Link to this sectionVerlustgewichte#
| Einstellung | N | S | M | L | X |
|---|---|---|---|---|---|
box | 5.63 | 9,83 | 9,83 | 9,83 | 9,83 |
cls | 0,56 | 0,65 | 0,65 | 0,65 | 0,65 |
dfl | 9.04 | 0,96 | 0,96 | 0,96 | 0,96 |
Das N-Modell priorisiert den DFL-Verlust, während S/M/L/X-Modelle den Schwerpunkt auf die Bounding Box-Regression verlagern. Der Klassifizierungsverlust bleibt über alle Größen hinweg relativ konsistent.
Link to this sectionAugmentations-Pipeline#
Eine detaillierte Erklärung jeder Technik findest du im YOLO Data Augmentation-Leitfaden.
| Einstellung | N | S | M | L | X |
|---|---|---|---|---|---|
mosaic | 0,909 | 0,992 | 0,992 | 0,992 | 0,992 |
mixup | 0,012 | 0,05 | 0,427 | 0,427 | 0,427 |
copy_paste | 0,075 | 0,404 | 0,304 | 0,404 | 0,404 |
scale | 0,562 | 0,9 | 0,95 | 0,95 | 0,95 |
fliplr | 0,606 | 0,304 | 0,304 | 0,304 | 0,304 |
degrees | 1,11 | ~0 | ~0 | ~0 | ~0 |
shear | 1,46 | ~0 | ~0 | ~0 | ~0 |
translate | 0,071 | 0,275 | 0,275 | 0,275 | 0,275 |
hsv_h | 0,014 | 0,013 | 0,013 | 0,013 | 0,013 |
hsv_s | 0,645 | 0,353 | 0,353 | 0,353 | 0,353 |
hsv_v | 0,566 | 0,194 | 0,194 | 0,194 | 0,194 |
bgr | 0,106 | 0,0 | 0,0 | 0,0 | 0,0 |
Größere Modelle verwenden insgesamt aggressivere Augmentation (höherer Mixup, Copy-Paste und Skalierung), da sie über mehr Kapazität verfügen und von einer stärkeren Regularisierung profitieren. Das N-Modell ist die einzige Größe mit nennenswerter Rotation, Scherung und BGR-Augmentation.
Link to this sectionInterne Trainingsparameter#
Fortgeschritten: interne Pipeline-Parameter
Die Checkpoints enthalten auch Parameter, die in der internen Trainingspipeline verwendet wurden, aber nicht als benutzerkonfigurierbare Einstellungen in default.yaml offengelegt sind:
| Einstellung | Beschreibung | N | S | M | L | X |
|---|---|---|---|---|---|---|
muon_w | Muon-Update-Gewicht in MuSGD | 0,528 | 0,436 | 0,436 | 0,436 | 0,436 |
sgd_w | SGD-Update-Gewicht in MuSGD | 0,674 | 0,479 | 0,479 | 0,479 | 0,479 |
cls_w | Internes Klassifizierungsgewicht | 2,74 | 3,48 | 3,48 | 3,48 | 3,48 |
o2m | Gewicht für den One-to-many Head-Loss | 1,0 | 0,705 | 0,705 | 0,705 | 0,705 |
topk | Top-k Label-Zuweisung | 8 | 5 | 5 | 5 | 5 |
Diese werden zur Reproduzierbarkeit aufgezeichnet, müssen jedoch beim Fine-Tuning nicht eingestellt werden. Weitere Details findest du im FAQ.
Link to this sectionAnleitung zum Fine-Tuning#
Wenn du YOLO26 auf deinem eigenen Datensatz fine-tunest, musst du nicht das vollständige Pretraining-Rezept replizieren. Die vortrainierten Gewichte enthalten bereits das Wissen über Augmentierung und Optimierung aus dem COCO-Training. Allgemeine Best Practices für das Training findest du unter Tipps für das Modelltraining.
Link to this sectionEinfach starten#
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 solide Basis. Ändere Hyperparameter nur, wenn du einen spezifischen Grund dafür hast.
Link to this sectionWann Anpassungen vornehmen#
Kleine Datensätze (< 1.000 Bilder):
- Augmentierungsstärke reduzieren:
mosaic=0.5,mixup=0.0,copy_paste=0.0 - Lernrate senken:
lr0=0.001 - Weniger Epochen mit Patience verwenden:
epochs=50,patience=20 - In Betracht ziehen, Backbone-Layer einzufrieren:
freeze=10
Große Datensätze (> 50.000 Bilder):
- Das Pretraining-Rezept genauer einhalten
- Für längere Läufe
optimizer=MuSGDin Betracht ziehen - Augmentierung erhöhen:
mosaic=1.0,mixup=0.3,scale=0.9
Domänenspezifische Bilder (Luftaufnahmen, medizinische Bilder, Unterwasseraufnahmen):
flipud=0.5erhöhen, wenn die vertikale Ausrichtung variiertdegreeserhöhen, wenn Objekte in beliebigen Rotationen erscheinenhsv_sundhsv_vanpassen, wenn sich die Lichtverhältnisse deutlich von COCO unterscheiden
Für eine automatisierte Hyperparameter-Optimierung siehe den Hyperparameter-Tuning-Guide.
Link to this sectionAuswahl der Modellgröße#
| Modell | Am besten geeignet für | Anleitung zur Batch-Größe |
|---|---|---|
| YOLO26n | Edge-Geräte, Mobilgeräte, Echtzeit auf CPU | Große Batches (64-128) auf Consumer-GPUs |
| YOLO26s | Ausgewogene Geschwindigkeit und Genauigkeit | Mittlere Batches (32-64) |
| YOLO26m | Höhere Genauigkeit bei moderater Rechenleistung | Kleinere Batches (16-32) |
| YOLO26l | Hohe Genauigkeit bei verfügbarer GPU | Kleine Batches (8-16) oder Multi-GPU |
| YOLO26x | Maximale Genauigkeit, Server-Deployment | Kleine Batches (4-8) oder Multi-GPU |
Für Optionen zum Export und Deployment siehe den Export-Guide und die Optionen für das Modell-Deployment.
Link to this sectionFAQ#
Link to this sectionWie sehe ich die genauen Hyperparameter, die für einen Checkpoint verwendet wurden?#
Lade den Checkpoint mit torch.load() und greife auf den train_args Key zu, oder verwende model.ckpt["train_args"] mit der Ultralytics API. Siehe Inspecting Training Args für vollständige Beispiele.
Link to this sectionWarum sind die Epochen-Anzahlen für jede Modellgröße unterschiedlich?#
Größere Modelle konvergieren auf COCO schneller, da sie eine höhere Kapazität haben. Das N-Modell benötigte 245 Epochen, während das X-Modell nur 40 benötigte. Beim Fine-Tuning auf deinem eigenen Datensatz hängt die optimale Anzahl der Epochen von der Größe und Komplexität deines Datensatzes ab, nicht von der Modellgröße. Nutze Early Stopping (patience), um den richtigen Endpunkt automatisch zu finden.
Link to this sectionSollte ich MuSGD für das Fine-Tuning verwenden?#
Wenn optimizer=auto (Standard) gewählt ist, wählt Ultralytics automatisch MuSGD für längere Trainingsläufe (>10.000 Iterationen) und AdamW für kürzere. Du kannst optimizer=MuSGD explizit setzen, wenn du das bevorzugst. Mehr zur Auswahl des Optimierers findest du in der Trainingsdokumentation.
Link to this sectionWas sind muon_w, sgd_w, cls_w, o2m und topk im Checkpoint?#
Dies sind interne Parameter aus der Trainings-Pipeline, mit der die Basis-Checkpoints erstellt wurden. Sie werden zur Reproduzierbarkeit gespeichert, sind aber keine benutzerkonfigurierbaren Einstellungen in default.yaml. Du musst sie beim Fine-Tuning nicht festlegen. Details findest du unter Interne Trainingsparameter.
Link to this sectionKann ich das Pretraining exakt von Grund auf replizieren?#
Die Checkpoints wurden mit einem internen Trainings-Zweig erstellt, der zusätzliche Funktionen enthält, die nicht im öffentlichen Codebase verfügbar sind (wie konfigurierbare o2m-Gewichte und cls_w). Du kannst mit den auf dieser Seite dokumentierten Hyperparametern und dem öffentlichen Ultralytics-Paket sehr nahe Ergebnisse erzielen, aber eine exakte Reproduktion erfordert den internen Zweig.