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. 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

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 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

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.

Erweiterungspipeline

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

Fortgeschritten: 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, die Backbone-Schichten einzufrieren: freeze=10

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

  • Das Vortrainingsrezept genauer anpassen
  • Bedenken Sie optimizer=MuSGD fü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.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 der Modellgröße

ModellAm besten geeignet fürLeitlinien zur Losgröße
YOLO26nEdge-Geräte, Mobilgeräte, Echtzeit auf CPUGroße Batches (64–128) auf Consumer-GPUs
YOLO26sAusgewogenes Verhältnis von 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 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.



📅 Erstellt vor 0 Tagen ✏️ Aktualisiert vor 0 Tagen
raimbekovm

Kommentare