Zum Inhalt springen

YOLO26-Trainingsplan

Einführung

Dieser Leitfaden beschreibt genau Training Rezept, nach dem das offizielle Produkt hergestellt wird YOLO26 vortrainierte Checkpoints auf COCO. Jede 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 Releases als auch Ihre eigenen feinabgestimmten Modelle. Die vollständige Liste der konfigurierbaren Trainingsargumente finden Sie in den Referenz zur Trainingskonfiguration.

Übersicht über die Schulungen

Alle YOLO26 Basismodelle wurden auf COCO mit einer Auflösung von 640x640 unter Verwendung des MuSGD-Optimierers mit einer Batch-Größe von 128 trainiert. Die Modelle wurden mit intermediären vortrainierten Gewichten initialisiert und mit Hyperparametern verfeinert, die durch evolutionäre Suche gefunden wurden. Vollständige Trainingsprotokolle und Metriken für jede Modellgröße sind auf der Ultralytics Platform verfügbar:

Wichtige Designmerkmale bei allen Größen:

  • Umfassende Schulung (end2end=True) mit NMS-freiem One-to-One-Head
  • MuSGD-Optimizer, der SGD mit Muon-ähnlichen orthogonalisierten Updates für Faltungsgewichte kombiniert
  • Umfangreiche Mosaik -Erweiterung (~0,9-1,0 Wahrscheinlichkeit) in den letzten 10 Epochen deaktiviert (close_mosaic=10)
  • Aggressive Skalierungsaugmentation (0.56-0.95) zur Verarbeitung von Objekten unterschiedlicher Größen.
  • Minimale Rotation/Scherung für die meisten Größen, wodurch die geometrische Verzerrung gering gehalten wird

Hyperparameter nach Modellgröße

Optimierer und Lernrate

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

Strategie zur Lernrate

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

Verlustgewichte

EinstellungNSMLX
box5.639.839.839.839.83
cls0.560.650.650.650.65
dfl9.040.960.960.960.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.

Augmentierungs-Pipeline

Eine ausführliche Erläuterung der einzelnen Techniken finden Sie im LeitfadenYOLO .

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

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

Erweitert: interne Pipeline-Parameter

Die Checkpoints enthalten auch Parameter, die in der internen Trainingspipeline verwendet wurden, aber nicht als benutzerdefinierbare Einstellungen in default.yaml:

EinstellungBeschreibungNSMLX
muon_wGewichtung der Muon-Aktualisierung in MuSGD0.5280.4360.4360.4360.436
sgd_wSGD des SGD -Gewichts in MuSGD0.6740.4790.4790.4790.479
cls_wInternes Gewichtungskriterium2.743.483.483.483.48
o2mGewicht des Druckverlusts bei Eins-zu-Viele-Beziehungen1.00.7050.7050.7050.705
topkZuordnung von Top-k-Labels85555

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 das Einfrieren von Backbone-Layern: freeze=10

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

  • Das Vortrainingsrezept genauer anpassen
  • Berücksichtigen Sie optimizer=MuSGD für längere Strecken
  • Vergrößerung: mosaic=1.0, mixup=0.3, scale=0.9

Domänenspezifisches Bildmaterial (Luftbild, medizinisch, unter Wasser):

  • Erhöhung flipud=0.5 wenn die vertikale Ausrichtung variiert
  • Erhöhung degrees wenn Objekte in beliebigen Drehungen erscheinen
  • Anpassen hsv_s und hsv_v wenn die Lichtverhältnisse erheblich von denen bei COCO abweichen

Informationen zur automatisierten Hyperparameter-Optimierung finden Sie im Leitfaden zur Hyperparameter-Optimierung.

Auswahl einer Modellgröße

ModellAm besten geeignet fürEmpfehlungen zur Batch-Größe
YOLO26nEdge-Geräte, Mobilgeräte, Echtzeit auf CPUGroße Batches (64–128) auf Consumer-GPUs
YOLO26sAusgewogene Geschwindigkeit und GenauigkeitMittlere Chargen (32–64)
YOLO26mHöhere Genauigkeit bei moderatem RechenaufwandKleinere Chargen (16–32)
YOLO26lHohe Genauigkeit, wenn GPU verfügbar GPUKleine Chargen (8–16) oderGPU
YOLO26xHöchste Genauigkeit, ServerbereitstellungKleine 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 greifen Sie 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 den richtigen Abbruchpunkt automatisch zu finden.

Sollte ich MuSGD für das Fine-Tuning verwenden?

Wenn optimizer=auto (Standardeinstellung) wählt Ultralytics automatisch 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. Sie müssen diese beim Fine-Tuning nicht festlegen. Siehe Interne Trainingsparameter für Details.

Kann ich das exakte Vortraining von Grund auf replizieren?

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). Sie können sehr ähnliche Ergebnisse mit den auf dieser Seite dokumentierten Hyperparametern und dem öffentlichen Ultralytics-Paket erzielen, aber eine exakte Reproduktion erfordert den internen Branch.



📅 Erstellt vor 7 Tagen ✏️ Aktualisiert vor 5 Tagen
Y-T-Gdependabotraimbekovm

Kommentare