YOLO26-Trainingsplan
Einführung
Dieser Leitfaden beschreibt genau Training Rezept, nach dem das offizielle Produkt hergestellt wird YOLO26 vortrainierte Checkpoints auf COCO. Jedes Hyperparameter Das hier gezeigte ist bereits in der veröffentlichten Version enthalten .pt Gewichte und können programmgesteuert überprüft werden.
Wenn Sie verstehen, wie die Basismodelle trainiert wurden, können Sie beim Fine-Tuning fundiertere Entscheidungen treffen: welche Datenvergrößerungen Sie beibehalten sollten, welche Gewichte der Verlustfunktion Sie anpassen sollten und welche Optimierereinstellungen für die Größe Ihres Datensatzes am besten geeignet sind.
Für wen ist dieser Leitfaden gedacht?
Dieser Leitfaden richtet sich an Praktiker, die verstehen möchten, welche Faktoren in die offiziellen YOLO26-Checkpoints eingeflossen sind – nicht nur die Architektur, sondern auch die Lernratenkurven, die Augmentations-Pipelines und die Verlustgewichte, die ihre Leistung geprägt haben. Nutzen Sie diese Informationen, um fundierte Entscheidungen bei der Feinabstimmung auf Ihre eigenen Daten zu treffen.
Überprüfung der Trainingsargumente
Jeder Ultralytics speichert die vollständige Trainingskonfiguration, die zu seiner Erstellung verwendet wurde. Sie können diese Einstellungen jederzeit einsehen:
Argumente für das Checkpoint-Training prüfen
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
print(model.ckpt["train_args"])
import torch
# Load any official checkpoint
ckpt = torch.load("yolo26n.pt", map_location="cpu", weights_only=False)
# Print all training arguments
for k, v in sorted(ckpt["train_args"].items()):
print(f"{k}: {v}")
Das funktioniert bei jedem .pt Checkpoint – sowohl offizielle Versionen als auch Ihre eigenen, fein abgestimmten Modelle. Eine vollständige Liste der konfigurierbaren Trainingsargumente finden Sie unter Referenz zur Trainingskonfiguration.
Übersicht über die Schulungen
Alle YOLO26-Basismodelle wurden auf COCO einer Auflösung von 640×640 unter Verwendung des MuSGD-Optimierers und einer Batchgröße von 128 trainiert. Die Modelle wurden anhand vortrainierter Zwischengewichte initialisiert und mit Hyperparametern verfeinert, die mittels evolutionärer Suche ermittelt wurden. Die vollständigen Trainingsprotokolle und Metriken für jede Modellgröße sind auf Ultralytics verfügbar:
Wichtige Designmerkmale bei allen Größen:
- Umfassende Schulung (
end2end=True) mit NMS Einzelkopf - MuSGD-Optimierer, der SGD orthogonalisierten Aktualisierungen im Muon-Stil für Konvolutionsgewichte kombiniert
- Umfangreiche Mosaik -Erweiterung (Wahrscheinlichkeit ~0,9–1,0) in den letzten 10 Epochen deaktiviert (
close_mosaic=10) - Starke Skalierungserweiterung (0,56–0,95) zur Handhabung von Objekten unterschiedlicher Größe
- Minimale Drehung/Scherung bei den meisten Größen, wodurch geometrische Verzerrungen gering gehalten werden
Hyperparameter nach Modellgröße
Optimierer 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 |
Strategie zur Lernrate
Das N-Modell verwendete eine höhere anfängliche Lernrate mit steilem Abfall (lrf=0.0495), während bei den Modellen S/M/L/X ein deutlich niedrigerer Anfangs-LR-Wert mit einem sanfteren Zeitplan verwendet wurde (lrf=0.882). Dies spiegelt die unterschiedliche Konvergenzdynamik kleinerer und größerer Modelle wider – kleinere Modelle benötigen aggressivere Aktualisierungen, um effektiv zu lernen.
Verlustgewichte
| 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 legt den Schwerpunkt auf den DFL-Verlust, während die S/M/L/X-Modelle den Schwerpunkt auf die Regression der Begrenzungsrahmen verlagern. Der Klassifikationsverlust bleibt über alle Größen hinweg relativ konstant.
Erweiterungspipeline
Eine ausführliche Erläuterung der einzelnen Techniken finden Sie im LeitfadenYOLO .
| 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 nutzen insgesamt aggressivere Augmentationstechniken (stärkere Mixup-, Copy-Paste- und Skalierungsmaßnahmen), da sie über mehr Kapazität verfügen und von einer stärkeren Regularisierung profitieren. Das Modell N ist die einzige Modellgröße, bei der sinnvolle Rotations-, Shear- und BGR-Augmentationen zum Einsatz kommen.
Interne Trainingsparameter
Fortgeschritten: Interne Pipeline-Parameter
Die Checkpoints enthalten auch Parameter, die in der internen Trainingspipeline verwendet wurden, aber nicht als benutzerdefinierbare Einstellungen in default.yaml:
| Einstellung | Beschreibung | N | S | M | L | X |
|---|---|---|---|---|---|---|
muon_w | Gewichtung der Muon-Aktualisierung in MuSGD | 0.528 | 0.436 | 0.436 | 0.436 | 0.436 |
sgd_w | SGD des SGD -Gewichts in MuSGD | 0.674 | 0.479 | 0.479 | 0.479 | 0.479 |
cls_w | Internes Gewichtungskriterium | 2.74 | 3.48 | 3.48 | 3.48 | 3.48 |
o2m | Gewicht des Druckverlusts bei Eins-zu-Viele-Beziehungen | 1.0 | 0.705 | 0.705 | 0.705 | 0.705 |
topk | Zuordnung von Top-k-Labels | 8 | 5 | 5 | 5 | 5 |
Diese Werte werden zur Reproduzierbarkeit erfasst, müssen bei der Feinabstimmung jedoch nicht eingestellt werden. Weitere Informationen finden Sie in den FAQ.
Anleitung zur Feinabstimmung
Wenn Sie YOLO26 anhand Ihres eigenen Datensatzes feinabstimmen, müssen Sie das gesamte Vortrainingsverfahren nicht nachholen. Die vortrainierten Gewichte enthalten bereits das Wissen über Datenvergrößerung und Optimierung aus COCO . Allgemeine Best Practices für das Training finden Sie unter „Tipps zum Modelltraining“.
Einfach anfangen
Mit den Standardeinstellungen feinabstimmen
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model.train(data="your-dataset.yaml", epochs=100, imgsz=640)
yolo train model=yolo26n.pt data=your-dataset.yaml epochs=100 imgsz=640
Die Feinabstimmung anhand der Standardwerte bildet eine solide Ausgangsbasis. Passen Sie die Hyperparameter nur an, wenn Sie einen konkreten Grund dafür haben.
Wann sollte man nachstellen?
Small datasets (< 1,000 images):
- Verstärkungsstärke verringern:
mosaic=0.5,mixup=0.0,copy_paste=0.0 - Geringere Lernrate:
lr0=0.001 - Weniger verwenden Epochen mit Geduld:
epochs=50,patience=20 - Erwägen Sie, die Backbone-Schichten einzufrieren:
freeze=10
Große Datensätze (> 50.000 Bilder):
- Das Vortrainingsrezept genauer anpassen
- Bedenken Sie
optimizer=MuSGDfür längere Strecken - Vergrößerung:
mosaic=1.0,mixup=0.3,scale=0.9
Fachbezogene Bildmaterialien (Luft-, Medizin- und Unterwasseraufnahmen):
- Erhöhung
flipud=0.5wenn die vertikale Ausrichtung variiert - Erhöhung
degreeswenn Objekte in beliebigen Drehungen erscheinen - Anpassen
hsv_sundhsv_vwenn die Lichtverhältnisse erheblich von denen bei COCO abweichen
Informationen zur automatisierten Hyperparameter-Optimierung finden Sie im Leitfaden zur Hyperparameter-Optimierung.
Auswahl der Modellgröße
| Modell | Am besten geeignet für | Leitlinien zur Losgröße |
|---|---|---|
| YOLO26n | Edge-Geräte, Mobilgeräte, Echtzeit auf CPU | Große Batches (64–128) auf Consumer-GPUs |
| YOLO26s | Ausgewogenes Verhältnis von Geschwindigkeit und Genauigkeit | Mittlere Chargen (32–64) |
| YOLO26m | Höhere Genauigkeit bei moderatem Rechenaufwand | Kleinere Chargen (16–32) |
| YOLO26l | Hohe Genauigkeit, wenn GPU verfügbar GPU | Kleine Chargen (8–16) oderGPU |
| YOLO26x | Höchste Genauigkeit, Serverbereitstellung | Kleine Chargen (4–8) oderGPU |
Informationen zu Export- und Bereitstellungsoptionen finden Sie im Export-Leitfaden und unter „Optionen zur Modellbereitstellung“.
FAQ
Wie kann ich die genauen Hyperparameter einsehen, die für einen bestimmten Checkpoint verwendet wurden?
Lade den Checkpoint mit torch.load() und auf die train_args Taste oder verwenden Sie model.ckpt["train_args"] mit der Ultralytics . Siehe Überprüfung der Trainingsargumente für vollständige Beispiele.
Warum unterscheiden sich die Epochenzahlen je nach Modellgröße?
Größere Modelle konvergieren bei COCO schneller, COCO sie über mehr Kapazität verfügen. Das N-Modell benötigte 245 Epochen, während das X-Modell nur 40 benötigte. Beim Fine-Tuning auf Ihrem eigenen Datensatz hängt die optimale Anzahl an Epochen von der Größe und Komplexität Ihres Datensatzes ab, nicht von der Modellgröße. Verwenden Sie Early Stopping (patience), um automatisch den richtigen Haltepunkt zu finden.
Sollte ich MuSGD für das Fine-Tuning verwenden?
Wenn optimizer=auto (Standard), wählt Ultralytics MuSGD für längere Trainingsläufe (>10.000 Iterationen) und AdamW für kürzere. Du kannst explizit festlegen, optimizer=MuSGD falls Sie dies bevorzugen. Weitere Informationen zur Auswahl des Optimierers finden Sie unter Schulungsunterlagen.
Was sind muon_w, sgd_w, cls_w, o2mund topk am Kontrollpunkt?
Dies sind interne Parameter aus der Trainingspipeline, mit der die Basis-Checkpoints erzeugt wurden. Sie werden zur Reproduzierbarkeit gespeichert, sind jedoch nicht vom Benutzer konfigurierbare Einstellungen in default.yaml. Bei der Feinabstimmung müssen Sie diese nicht einstellen. Siehe Interne Trainingsparameter für Details.
Kann ich das Vortraining von Grund auf genau nachstellen?
Die Checkpoints wurden mithilfe eines internen Schulungszweigs erstellt, der zusätzliche Funktionen enthält, die in der öffentlichen Codebasis nicht vorhanden sind (wie konfigurierbare o2m Gewichte und cls_w). Mit den auf dieser Seite dokumentierten Hyperparametern lassen sich mithilfe des öffentlich Ultralytics sehr ähnliche Ergebnisse erzielen, doch für eine exakte Reproduktion ist der interne Branch erforderlich.