Konfiguration

YOLO Einstellungen und Hyperparameter spielen eine entscheidende Rolle für die Leistung, Geschwindigkeit und Genauigkeit des Modells. Diese Einstellungen können das Verhalten des Modells in verschiedenen Stadien beeinflussen, einschließlich Training, Validierung und Vorhersage.



Watch: Mastering Ultralytics YOLO: Configuration

Ultralytics Befehle verwenden die folgende Syntax:

Beispiel
yolo TASK MODE ARGS

Wobei:

Default ARG values are defined on this page and come from the cfg/default.yaml file.

Tasks

Ultralytics YOLO Modelle können eine Vielzahl von Computer-Vision-Aufgaben ausführen, darunter:

  • Detect: Objekterkennung identifiziert und lokalisiert Objekte innerhalb eines Bildes oder Videos.
  • Segment: Instanzsegmentierung unterteilt ein Bild oder Video in Regionen, die verschiedenen Objekten oder Klassen entsprechen.
  • Classify: Bildklassifizierung sagt das Klassenlabel eines Eingangsbildes voraus.
  • Pose: Pose-Schätzung identifiziert Objekte und schätzt deren Schlüsselpunkte in einem Bild oder Video.
  • OBB: Orientierte Begrenzungsrahmen verwendet gedrehte Begrenzungsrahmen, geeignet für Satelliten- oder medizinische Bilder.
ArgumentStandardBeschreibung
task'detect'Gibt die YOLO Aufgabe an: detect für Objekterkennung, segment für Segmentierung, classify für Klassifizierung, pose für Pose-Schätzung und obb für orientierte Begrenzungsrahmen. Jede Aufgabe ist auf spezifische Ausgaben und Probleme bei der Bild- und Videoanalyse zugeschnitten.

Tasks Leitfaden

Modi

Ultralytics YOLO Modelle arbeiten in verschiedenen Modi, die jeweils für ein bestimmtes Stadium des Modelllebenszyklus entwickelt wurden:

  • Train: Trainiere ein YOLO Modell auf einem benutzerdefinierten Datensatz.
  • Val: Validiere ein trainiertes YOLO Modell.
  • Predict: Verwende ein trainiertes YOLO Modell, um Vorhersagen für neue Bilder oder Videos zu treffen.
  • Export: Exportiere ein YOLO Modell für die Bereitstellung.
  • Track: Verfolge Objekte in Echtzeit mit einem YOLO Modell.
  • Benchmark: Benchmarking der Geschwindigkeit und Genauigkeit von YOLO Exporten (ONNX, TensorRT, etc.).
ArgumentStandardBeschreibung
mode'train'Gibt den Betriebsmodus des YOLO Modells an: train für Modelltraining, val für Validierung, predict für Inferenz, export für die Konvertierung in Bereitstellungsformate, track für Objektverfolgung und benchmark für Leistungsbewertung. Jeder Modus unterstützt verschiedene Phasen, von der Entwicklung bis zur Bereitstellung.

Modi Leitfaden

Trainings-Einstellungen

Trainingseinstellungen für YOLO Modelle beinhalten Hyperparameter und Konfigurationen, die die Leistung, Geschwindigkeit und Genauigkeit des Modells beeinflussen. Wichtige Einstellungen umfassen Batchgröße, Lernrate, Impuls und Gewichtsabfall. Die Wahl des Optimierers, der Verlustfunktion und die Datensatzkomposition beeinflussen ebenfalls das Training. Optimierung und Experimente sind entscheidend für eine optimale Leistung. Weitere Details findest du in der Ultralytics Entrypoint-Funktion.

ArgumentTypStandardBeschreibung
modelstrNoneGibt die Modelldatei für das Training an. Akzeptiert einen Pfad zu einem vortrainierten .pt Modell oder einer .yaml Konfigurationsdatei. Essenziell für die Definition der Modellstruktur oder Initialisierung der Gewichte.
datastrNonePfad zur Datensatz-Konfigurationsdatei (z.B. coco8.yaml). Diese Datei enthält datensatzspezifische Parameter, einschließlich Pfaden zu Trainings- und Validierungsdaten, Klassennamen und Anzahl der Klassen.
epochsint100Gesamtzahl der Trainingsepochen. Jede Epoche repräsentiert einen vollständigen Durchlauf über den gesamten Datensatz. Die Anpassung dieses Wertes kann die Trainingsdauer und die Modellleistung beeinflussen.
timefloatNoneMaximale Trainingszeit in Stunden. Falls festgelegt, überschreibt dies das epochs-Argument, wodurch das Training automatisch nach der angegebenen Dauer gestoppt wird. Nützlich für zeitlich begrenzte Trainingsszenarien.
patienceint100Anzahl der Epochen, die ohne Verbesserung der Validierungsmetriken gewartet wird, bevor das Training frühzeitig abgebrochen wird. Hilft, Overfitting zu vermeiden, indem das Training gestoppt wird, wenn die Leistung stagniert.
batchint oder float16Batchgröße mit drei Modi: als Ganzzahl festgelegt (z.B. batch=16), Auto-Modus für 60% GPU-Speicherauslastung (batch=-1) oder Auto-Modus mit angegebenem Auslastungsanteil (batch=0.70).
imgszint640Zielbildgröße für das Training. Bilder werden auf Quadrate mit Seiten in der angegebenen Größe skaliert (wenn rect=False), wobei das Seitenverhältnis für YOLO Modelle beibehalten wird, nicht jedoch für RT-DETR. Beeinflusst die Modell-Genauigkeit und die rechnerische Komplexität.
saveboolTrueErmöglicht das Speichern von Trainings-Checkpoints und endgültigen Modellgewichten. Nützlich zum Fortsetzen des Trainings oder zur Modellbereitstellung.
save_periodint-1Häufigkeit des Speicherns von Modell-Checkpoints, angegeben in Epochen. Ein Wert von -1 deaktiviert diese Funktion. Nützlich zum Speichern von Zwischenmodellen während langer Trainingssitzungen.
cacheboolFalseAktiviert das Caching von Datensatzbildern im Arbeitsspeicher (True/ram), auf der Festplatte (disk) oder deaktiviert es (False). Verbessert die Trainingsgeschwindigkeit durch Reduzierung der Festplatten-I/O auf Kosten einer erhöhten Speicherauslastung.
deviceint oder str oder listNoneGibt das/die Rechengerät(e) für das Training an: eine einzelne GPU (device=0), mehrere GPUs (device=[0,1]), CPU (device=cpu), MPS für Apple Silicon (device=mps), Huawei Ascend NPU (device=npu oder device=npu:0) oder die automatische Auswahl der am wenigsten ausgelasteten GPU (device=-1) bzw. mehrerer inaktiver GPUs (device=[-1,-1]).
workersint8Anzahl der Worker-Threads für das Laden von Daten (pro RANK bei Multi-GPU-Training). Beeinflusst die Geschwindigkeit der Datenvorverarbeitung und die Einspeisung in das Modell, besonders nützlich bei Multi-GPU-Setups.
projectstrNoneName des Projektverzeichnisses, in dem Trainingsausgaben gespeichert werden. Ermöglicht eine organisierte Speicherung verschiedener Experimente.
namestrNoneName des Trainingsdurchlaufs. Wird zur Erstellung eines Unterverzeichnisses innerhalb des Projektordners verwendet, in dem Trainingsprotokolle und -ausgaben gespeichert werden.
exist_okboolFalseWenn True, erlaubt es das Überschreiben eines existierenden Projekt-/Namensverzeichnisses. Nützlich für iterative Experimente, ohne vorherige Ausgaben manuell löschen zu müssen.
pretrainedbool oder strTrueBestimmt, ob das Training mit vortrainierten Gewichten gestartet werden soll. Kann ein boolescher Wert oder ein String-Pfad zu den zu ladenden Gewichten sein. pretrained=False trainiert mit zufällig initialisierten Gewichten bei Beibehaltung der Modellarchitektur.
optimizerstr'auto'Wahl des Optimierers für das Training. Optionen umfassen SGD, MuSGD, Adam, Adamax, AdamW, NAdam, RAdam, RMSProp oder auto für eine automatische Auswahl basierend auf der Modellkonfiguration. Beeinflusst Konvergenzgeschwindigkeit und Stabilität.
seedint0Setzt den Zufallsstartwert für das Training und stellt die Reproduzierbarkeit der Ergebnisse über verschiedene Durchläufe mit denselben Konfigurationen sicher.
deterministicboolTrueErzwingt die Verwendung deterministischer Algorithmen, was die Reproduzierbarkeit sicherstellt, jedoch die Leistung und Geschwindigkeit aufgrund der Einschränkung auf nicht-deterministische Algorithmen beeinträchtigen kann.
verboseboolTrueAktiviert die ausführliche Ausgabe während des Trainings und zeigt Fortschrittsbalken, epochenbasierte Metriken und zusätzliche Trainingsinformationen in der Konsole an.
single_clsboolFalseBehandelt alle Klassen in Datensätzen mit mehreren Klassen als eine einzige Klasse während des Trainings. Nützlich für binäre Klassifizierungsaufgaben oder wenn der Fokus eher auf der Objektpräsenz als auf der Klassifizierung liegt.
classeslist[int]NoneGibt eine Liste von Klassen-IDs an, auf denen trainiert werden soll. Nützlich, um bestimmte Klassen herauszufiltern und sich nur auf diese während des Trainings zu konzentrieren.
rectboolFalseAktiviert die Strategie der minimalen Auffüllung—Bilder in einem Batch werden minimal aufgefüllt, um eine gemeinsame Größe zu erreichen, wobei die längste Seite imgsz entspricht. Kann Effizienz und Geschwindigkeit verbessern, kann aber die Genauigkeit des Modells beeinflussen.
multi_scalefloat0.0Variiert imgsz zufällig für jeden Batch um +/- multi_scale (z.B. 0.25 -> 0.75x bis 1.25x), abgerundet auf ein Vielfaches der Modell-Stride; 0.0 deaktiviert das Multi-Scale-Training.
cos_lrboolFalseVerwendet einen Kosinus-Lernratenplaner, der die Lernrate über die Epochen hinweg gemäß einer Kosinuskurve anpasst. Hilft bei der Verwaltung der Lernrate für eine bessere Konvergenz.
close_mosaicint10Deaktiviert Data Augmentation in den letzten N Epochen, um das Training vor dem Abschluss zu stabilisieren. Wenn du diesen Wert auf 0 setzt, wird diese Funktion deaktiviert.
resumeboolFalseSetzt das Training vom zuletzt gespeicherten Checkpoint fort. Lädt automatisch Modellgewichte, Optimierer-Status und Epochenanzahl, um das Training nahtlos fortzusetzen.
ampboolTrueAktiviert das Training mit automatischer Mixed Precision (AMP), was den Speicherverbrauch reduziert und das Training bei minimalem Einfluss auf die Genauigkeit möglicherweise beschleunigt.
fractionfloat1.0Gibt den Teil des Datensatzes an, der für das Training verwendet werden soll. Ermöglicht das Training auf einer Teilmenge des vollständigen Datensatzes, was für Experimente oder bei begrenzten Ressourcen nützlich ist.
profileboolFalseAktiviert die Profilierung von ONNX- und TensorRT-Geschwindigkeiten während des Trainings, nützlich für die Optimierung der Modellbereitstellung.
freezeint oder listNoneFriert die ersten N Schichten des Modells oder spezifische Schichten nach Index ein, wodurch die Anzahl der trainierbaren Parameter reduziert wird. Nützlich für Fine-Tuning oder Transfer Learning.
lr0float0.01Anfängliche Lernrate (z. B. SGD=1E-2, Adam=1E-3). Die Anpassung dieses Wertes ist entscheidend für den Optimierungsprozess, da sie beeinflusst, wie schnell die Modellgewichte aktualisiert werden.
lrffloat0.01Finale Lernrate als Bruchteil der anfänglichen Rate = (lr0 * lrf), die in Verbindung mit Schedulern verwendet wird, um die Lernrate im Laufe der Zeit anzupassen.
momentumfloat0.937Momentum-Faktor für SGD oder beta1 für Adam-Optimierer, was die Einbeziehung vergangener Gradienten in das aktuelle Update beeinflusst.
weight_decayfloat0.0005L2-Regularisierung-Term, der große Gewichte bestraft, um Overfitting zu verhindern.
warmup_epochsfloat3.0Anzahl der Epochen für das Warmup der Lernrate, wodurch die Lernrate schrittweise von einem niedrigen Wert auf die anfängliche Lernrate erhöht wird, um das Training frühzeitig zu stabilisieren.
warmup_momentumfloat0.8Anfängliches Momentum für die Warmup-Phase, das sich über den Warmup-Zeitraum hinweg schrittweise an das eingestellte Momentum anpasst.
warmup_bias_lrfloat0.1Lernrate für Bias-Parameter während der Warmup-Phase, die hilft, das Modelltraining in den anfänglichen Epochen zu stabilisieren.
boxfloat7.5Gewichtung der Box-Verlustkomponente in der Loss Function, die beeinflusst, wie viel Gewicht auf die genaue Vorhersage der Bounding Box-Koordinaten gelegt wird.
clsfloat0.5Gewichtung des Klassifizierungsverlusts in der gesamten Verlustfunktion, was die Bedeutung der korrekten Klassenvorhersage im Verhältnis zu anderen Komponenten beeinflusst.
cls_pwfloat0.0Potenz für die Klassengewichtung, um das Klassenungleichgewicht mithilfe der inversen Klassenhäufigkeit zu bewältigen. 0.0 deaktiviert die Klassengewichtung, 1.0 wendet die volle inverse Häufigkeitsgewichtung an. Werte zwischen 0 und 1 bieten eine teilweise Gewichtung.
dflfloat1.5Gewichtung des Distribution Focal Loss, der in bestimmten YOLO-Versionen für die fein abgestufte Klassifizierung verwendet wird.
posefloat12.0Gewichtung des Pose-Verlusts bei Modellen, die für die Pose-Schätzung trainiert wurden, was den Schwerpunkt auf die genaue Vorhersage von Pose-Keypoints beeinflusst.
kobjfloat1.0Gewichtung des Keypoint-Objectness-Verlusts in Pose-Schätzungsmodellen, um Detektionsvertrauen mit Pose-Genauigkeit in Einklang zu bringen.
rlefloat1.0Gewichtung des residualen Log-Likelihood-Schätzungsverlusts in Pose-Schätzungsmodellen, was die Präzision der Keypoint-Lokalisierung beeinflusst.
anglefloat1.0Gewichtung des Winkelverlusts in OBB-Modellen, was die Präzision von orientierten Bounding-Box-Winkelvorhersagen beeinflusst.
nbsint64Nominale Batch-Größe für die Normalisierung des Verlusts.
overlap_maskboolTrueBestimmt, ob Objektmasken für das Training zu einer einzigen Maske zusammengeführt werden sollen oder für jedes Objekt separat bleiben. Bei Überlappungen wird beim Zusammenführen die kleinere Maske über die größere gelegt.
mask_ratioint4Downsample-Verhältnis für Segmentierungsmasken, das die Auflösung der während des Trainings verwendeten Masken beeinflusst.
dropoutfloat0.0Dropout-Rate für die Regularisierung bei Klassifizierungsaufgaben, um Overfitting durch zufälliges Weglassen von Einheiten während des Trainings zu verhindern.
valboolTrueAktiviert die Validierung während des Trainings, um eine regelmäßige Bewertung der Modellleistung auf einem separaten Datensatz zu ermöglichen.
plotsboolTrueErstellt und speichert Plots von Trainings- und Validierungsmetriken sowie Vorhersagebeispiele, um visuelle Einblicke in die Modellleistung und den Lernfortschritt zu bieten.
compilebool oder strFalseAktiviert die PyTorch 2.x torch.compile Graphenkompilierung mit backend='inductor'. Akzeptiert True"default", False → deaktiviert, oder einen String-Modus wie "default", "reduce-overhead", "max-autotune-no-cudagraphs". Greift bei Nichtunterstützung mit einer Warnung auf den Eager-Modus zurück.
max_detint300Gibt die maximale Anzahl an Objekten an, die während der Validierungsphase des Trainings beibehalten werden.
Hinweis zu den Einstellungen der Batch-Größe

Das batch-Argument bietet drei Konfigurationsoptionen:

  • Feste Batch-Größe: Gib die Anzahl der Bilder pro Batch mit einer Ganzzahl an (z. B. batch=16).
  • Auto-Modus (60% GPU-Speicher): Verwende batch=-1 für eine automatische Anpassung auf etwa 60% der CUDA-Speicherauslastung.
  • Auto-Modus mit Auslastungsanteil: Setze einen Bruchteil (z. B. batch=0.70), um die Anpassung basierend auf einer festgelegten GPU-Speicherauslastung vorzunehmen.

Trainingsanleitung

Vorhersage-Einstellungen

Vorhersage-Einstellungen für YOLO-Modelle umfassen Hyperparameter und Konfigurationen, die Leistung, Geschwindigkeit und Genauigkeit während der Inferenz beeinflussen. Zu den wichtigsten Einstellungen gehören der Konfidenz-Schwellenwert, der Non-Maximum Suppression (NMS)-Schwellenwert und die Anzahl der Klassen. Eingabedatengröße, Format und zusätzliche Funktionen wie Masken beeinflussen ebenfalls die Vorhersagen. Das Anpassen dieser Einstellungen ist für eine optimale Leistung unerlässlich.

Inferenz-Argumente:

ArgumentTypStandardBeschreibung
sourcestr oder int oder NoneNoneGibt die Datenquelle für die Inferenz an. Dies kann ein Bildpfad, eine Videodatei, ein Verzeichnis, eine URL oder eine Geräte-ID für Live-Feeds sein. Falls weggelassen, wird eine Warnung protokolliert und das Modell greift auf die integrierten Demo-Assets zurück (ultralytics/assets oder eine Demo-URL für OBB). Unterstützt eine Vielzahl von Formaten und Quellen, was eine flexible Anwendung über verschiedene Arten von Eingaben ermöglicht.
conffloat0.25Setzt den minimalen Konfidenz-Schwellenwert für Detektionen fest. Objekte, die mit einer Konfidenz unter diesem Schwellenwert erkannt werden, werden ignoriert. Das Anpassen dieses Wertes kann helfen, falsch-positive Ergebnisse zu reduzieren.
ioufloat0.7Intersection Over Union (IoU)-Schwellenwert für Non-Maximum Suppression (NMS). Niedrigere Werte führen zu weniger Detektionen durch das Eliminieren überlappender Boxen, nützlich zur Reduzierung von Duplikaten.
imgszint oder tuple640Letterbox-Ziel. Eine Ganzzahl ergibt ein quadratisches N×N; ein Tupel ergibt (height, width). Mit rect=True kann der tatsächliche Tensor aufgrund von Minimum-Rectangle-Padding kleiner als dieses Ziel sein. Verwende rect=False für eine feste Größe. Siehe Fixed shape vs minimum rectangle.
rectboolTrueWenn True, verwende Minimum-Rectangle-Padding, wenn möglich (bei Batch mit gleicher Form und unterstütztem Backend). Wenn False, immer auf die volle imgsz auffüllen. Siehe Fixed shape vs minimum rectangle.
halfboolFalseAktiviert die Inferenz mit halber Präzision (FP16), was die Modell-Inferenz auf unterstützten GPUs bei minimalem Einfluss auf die Genauigkeit beschleunigen kann.
devicestrNoneGibt das Gerät für die Inferenz an (z. B. cpu, cuda:0, 0, npu oder npu:0). Ermöglicht es Benutzern, zwischen CPU, einer spezifischen GPU, Huawei Ascend NPU oder anderen Rechengeräten für die Modellausführung zu wählen.
batchint1Gibt die Batch-Größe für die Inferenz an (funktioniert nur, wenn die Quelle ein Verzeichnis, eine Videodatei oder eine .txt-Datei ist). Eine größere Batch-Größe kann einen höheren Durchsatz bieten und die für die Inferenz erforderliche Gesamtzeit verkürzen.
max_detint300Maximale Anzahl an erlaubten Erkennungen pro Bild. Begrenzt die Gesamtzahl der Objekte, die das Modell in einer einzelnen Inferenz erkennen kann, um übermäßige Ausgaben in dichten Szenen zu vermeiden.
vid_strideint1Frame-Stride für Videoeingaben. Ermöglicht das Überspringen von Bildern in Videos, um die Verarbeitung auf Kosten der zeitlichen Auflösung zu beschleunigen. Ein Wert von 1 verarbeitet jedes Bild, höhere Werte überspringen Bilder.
stream_bufferboolFalseBestimmt, ob eingehende Bilder für Videostreams in eine Warteschlange gestellt werden sollen. Wenn False, werden alte Bilder verworfen, um Platz für neue zu schaffen (optimiert für Echtzeitanwendungen). Wenn True, werden neue Bilder in einem Puffer in die Warteschlange gestellt, um sicherzustellen, dass keine Bilder übersprungen werden, was jedoch zu Latenz führt, wenn die Inferenz-FPS niedriger als die Stream-FPS sind.
visualizeboolFalseAktiviert die Visualisierung von Modellmerkmalen während der Inferenz und bietet Einblicke darin, was das Modell „sieht“. Nützlich für das Debugging und die Modellinterpretation.
augmentboolFalseAktiviert die Test-Time Augmentation (TTA) für Vorhersagen, was die Erkennungsrobustheit auf Kosten der Inferenzgeschwindigkeit potenziell verbessern kann.
agnostic_nmsboolFalseAktiviert klassenunabhängige Non-Maximum Suppression (NMS), die überlappende Boxen verschiedener Klassen zusammenführt. Nützlich in Szenarien mit Multi-Klassen-Erkennung, in denen Klassenüberlappungen häufig vorkommen. Bei End-to-End-Modellen (YOLO26, YOLOv10) verhindert dies lediglich, dass dieselbe Erkennung mit mehreren Klassen-Labels erscheint (IoU=1.0-Duplikate), und führt keine IoU-schwellenwertbasierte Unterdrückung zwischen unterschiedlichen Boxen durch.
classeslist[int]NoneFiltert Vorhersagen auf eine Menge von Klassen-IDs. Nur Erkennungen, die zu den angegebenen Klassen gehören, werden zurückgegeben. Nützlich, um sich bei Multi-Klassen-Erkennungsaufgaben auf relevante Objekte zu konzentrieren.
retina_masksboolFalseGibt hochauflösende Segmentierungsmasken zurück. Die zurückgegebenen Masken (masks.data) entsprechen bei Aktivierung der ursprünglichen Bildgröße. Wenn deaktiviert, haben sie die während der Inferenz verwendete Bildgröße.
embedlist[int]NoneGibt die Schichten an, aus denen Merkmalsvektoren oder Embeddings extrahiert werden sollen. Nützlich für nachgelagerte Aufgaben wie Clustering oder Ähnlichkeitssuche.
projectstrNoneName des Projektverzeichnisses, in dem Vorhersageergebnisse gespeichert werden, wenn save aktiviert ist.
namestrNoneName des Vorhersagedurchlaufs. Wird zum Erstellen eines Unterverzeichnisses innerhalb des Projektordners verwendet, in dem Vorhersageergebnisse gespeichert werden, wenn save aktiviert ist.
streamboolFalseErmöglicht speichereffiziente Verarbeitung für lange Videos oder zahlreiche Bilder, indem ein Generator von Results-Objekten zurückgegeben wird, anstatt alle Bilder gleichzeitig in den Speicher zu laden.
verboseboolTrueSteuert, ob detaillierte Inferenz-Logs im Terminal angezeigt werden, was Echtzeit-Feedback zum Vorhersageprozess liefert.
compilebool oder strFalseAktiviert die PyTorch 2.x torch.compile Graphenkompilierung mit backend='inductor'. Akzeptiert True"default", False → deaktiviert, oder einen String-Modus wie "default", "reduce-overhead", "max-autotune-no-cudagraphs". Greift bei Nichtunterstützung mit einer Warnung auf den Eager-Modus zurück.
end2endboolNoneÜberschreibt den End-to-End-Modus in YOLO-Modellen, die NMS-freie Inferenz unterstützen (YOLO26, YOLOv10). Wenn du es auf False setzt, kannst du die Vorhersage mit der traditionellen NMS-Pipeline ausführen und zusätzlich das iou-Argument nutzen. Siehe den End-to-End Detection Guide für Details.

Visualisierungsargumente:

ArgumentTypStandardBeschreibung
showboolFalseWenn True, werden die annotierten Bilder oder Videos in einem Fenster angezeigt. Nützlich für direktes visuelles Feedback während der Entwicklung oder beim Testen.
saveboolFalse or TrueErmöglicht das Speichern der annotierten Bilder oder Videos als Dateien. Nützlich für Dokumentation, weitere Analysen oder das Teilen von Ergebnissen. Standardmäßig auf True, wenn CLI verwendet wird, und auf False, wenn in Python verwendet.
save_framesboolFalseSpeichert beim Verarbeiten von Videos einzelne Bilder als Bilddateien. Nützlich zum Extrahieren spezifischer Frames oder für detaillierte Bild-für-Bild-Analysen.
save_txtboolFalseSpeichert Erkennungsergebnisse in einer Textdatei im Format [class] [x_center] [y_center] [width] [height] [confidence]. Nützlich für die Integration mit anderen Analysetools.
save_confboolFalseFügt Konfidenzwerte in die gespeicherten Textdateien ein. Verbessert die Details für die Nachverarbeitung und Analyse.
save_cropboolFalseSpeichert zugeschnittene Bilder von Erkennungen. Nützlich für Daten-Augmentierung, Analysen oder zum Erstellen fokussierter Datensätze für bestimmte Objekte.
show_labelsboolTrueZeigt Labels für jede Erkennung in der visuellen Ausgabe an. Bietet unmittelbares Verständnis der erkannten Objekte.
show_confboolTrueZeigt den Konfidenzwert für jede Erkennung neben dem Label an. Gibt Aufschluss über die Sicherheit des Modells bei jeder Erkennung.
show_boxesboolTrueZeichnet Bounding-Boxen um erkannte Objekte. Essentiell für die visuelle Identifikation und Lokalisierung von Objekten in Bildern oder Videoframes.
line_widthint or NoneNoneGibt die Linienbreite der Bounding-Boxen an. Wenn None, wird die Linienbreite automatisch basierend auf der Bildgröße angepasst. Bietet visuelle Anpassung für mehr Klarheit.

Predict Guide

Validierungseinstellungen

Validierungseinstellungen für YOLO-Modelle beinhalten Hyperparameter und Konfigurationen zur Bewertung der Leistung auf einem Validierungsdatensatz. Diese Einstellungen beeinflussen Leistung, Geschwindigkeit und Genauigkeit. Gängige Einstellungen sind Batch-Größe, Validierungshäufigkeit und Leistungsmetriken. Auch die Größe und Zusammensetzung des Validierungsdatensatzes sowie die spezifische Aufgabe beeinflussen den Prozess.

ArgumentTypStandardBeschreibung
datastrNoneGibt den Pfad zur Datensatz-Konfigurationsdatei an (z. B. coco8.yaml). Diese Datei sollte den Pfad zu den Validierungsdaten enthalten.
imgszint640Definiert die Größe der Eingabebilder. Alle Bilder werden vor der Verarbeitung auf diese Dimension skaliert. Größere Dimensionen können die Genauigkeit bei kleinen Objekten verbessern, erhöhen jedoch die Rechenzeit.
batchint16Setzt die Anzahl der Bilder pro Batch. Höhere Werte nutzen den GPU-Speicher effizienter, erfordern jedoch mehr VRAM. Passe dies basierend auf den verfügbaren Hardware-Ressourcen an.
save_jsonboolFalseWenn True, werden die Ergebnisse zur weiteren Analyse, Integration mit anderen Tools oder zur Einreichung bei Evaluierungsservern wie COCO in einer JSON-Datei gespeichert.
conffloat0.001Setzt den minimalen Konfidenz-Schwellenwert für Erkennungen. Niedrigere Werte erhöhen den Recall, können aber zu mehr falsch-positiven Ergebnissen führen. Wird während der Validierung verwendet, um Precision-Recall-Kurven zu berechnen.
ioufloat0.7Setzt den Intersection Over Union-Schwellenwert für die Non-Maximum Suppression. Steuert die Eliminierung doppelter Erkennungen.
max_detint300Begrenzt die maximale Anzahl an Erkennungen pro Bild. Nützlich in dichten Szenen, um übermäßige Erkennungen zu vermeiden und Rechenressourcen zu verwalten.
halfboolFalseAktiviert die Berechnung mit halber Präzision (FP16), was den Speicherverbrauch reduziert und potenziell die Geschwindigkeit bei minimalem Einfluss auf die Genauigkeit erhöht.
devicestrNoneGibt das Gerät für die Validierung an (cpu, cuda:0, npu, npu:0, etc.). Bei None wird automatisch das beste verfügbare Gerät ausgewählt. Mehrere CUDA-Geräte können durch Kommas getrennt angegeben werden.
dnnboolFalseWenn True, wird das OpenCV DNN-Modul für die ONNX-Modell-Inferenz verwendet, was eine Alternative zu PyTorch-Inferenzmethoden bietet.
plotsboolTrueWenn auf True gesetzt, werden Diagramme von Vorhersagen gegenüber Ground Truth, Konfusionsmatrizen und PR-Kurven zur visuellen Bewertung der Modellleistung erstellt und gespeichert.
classeslist[int]NoneGibt eine Liste von Klassen-IDs zur Evaluierung an. Nützlich, um während der Evaluierung bestimmte Klassen herauszufiltern und sich nur auf diese zu konzentrieren.
rectboolTrueWenn True, wird rechteckige Inferenz für das Batching verwendet, was das Padding reduziert und potenziell die Geschwindigkeit und Effizienz erhöht, indem Bilder in ihrem ursprünglichen Seitenverhältnis verarbeitet werden.
splitstr'val'Bestimmt den Datensatz-Split, der für die Validierung verwendet werden soll (val, test oder train). Erlaubt Flexibilität bei der Auswahl des Datensegments zur Leistungsbewertung.
projectstrNoneName des Projektverzeichnisses, in dem Validierungsergebnisse gespeichert werden. Hilft dabei, Ergebnisse aus verschiedenen Experimenten oder Modellen zu organisieren.
namestrNoneName des Validierungsdurchlaufs. Wird zum Erstellen eines Unterverzeichnisses innerhalb des Projektordners verwendet, in dem Validierungs-Logs und -ergebnisse gespeichert werden.
verboseboolTrueWenn True, werden detaillierte Informationen während des Validierungsprozesses angezeigt, einschließlich Metriken pro Klasse, Batch-Fortschritt und zusätzlichen Debugging-Informationen.
save_txtboolFalseWenn True, werden Erkennungsergebnisse in Textdateien gespeichert, eine Datei pro Bild; nützlich für weitere Analysen, benutzerdefinierte Nachverarbeitung oder die Integration mit anderen Systemen.
save_confboolFalseWenn True, werden Konfidenzwerte in die gespeicherten Textdateien aufgenommen, sofern save_txt aktiviert ist, was detailliertere Ausgaben für Analyse und Filterung bietet.
workersint8Anzahl der Worker-Threads für das Laden der Daten. Höhere Werte können die Vorverarbeitung der Daten beschleunigen, aber die CPU-Auslastung erhöhen. Die Einstellung auf 0 verwendet den Haupt-Thread, was in einigen Umgebungen stabiler sein kann.
augmentboolFalseAktiviert die Test-Time Augmentation (TTA) während der Validierung, was die Erkennungsgenauigkeit potenziell verbessern kann, auf Kosten der Inferenzgeschwindigkeit, da die Inferenz auf transformierten Versionen der Eingabe ausgeführt wird.
agnostic_nmsboolFalseAktiviert die klassenunabhängige Non-Maximum Suppression, die überlappende Boxen unabhängig von ihrer vorhergesagten Klasse zusammenführt. Nützlich für instanzorientierte Anwendungen. Bei End-to-End-Modellen (YOLO26, YOLOv10) verhindert dies nur, dass dieselbe Erkennung mit mehreren Klassen-Labels erscheint (IoU=1.0-Duplikate), und führt keine IoU-schwellenwertbasierte Unterdrückung zwischen unterschiedlichen Boxen durch.
single_clsboolFalseBehandelt alle Klassen als eine einzige Klasse während der Validierung. Nützlich zur Bewertung der Modellleistung bei binären Erkennungsaufgaben oder wenn Klassenunterschiede nicht wichtig sind.
visualizeboolFalseVisualisiert die Ground Truths, True Positives, False Positives und False Negatives für jedes Bild. Nützlich für das Debugging und die Modellinterpretation.
compilebool oder strFalseAktiviert die PyTorch 2.x torch.compile Graphenkompilierung mit backend='inductor'. Akzeptiert True"default", False → deaktiviert, oder einen String-Modus wie "default", "reduce-overhead", "max-autotune-no-cudagraphs". Greift bei Nichtunterstützung mit einer Warnung auf den Eager-Modus zurück.
end2endboolNoneÜberschreibt den End-to-End-Modus in YOLO-Modellen, die NMS-freie Inferenz unterstützen (YOLO26, YOLOv10). Wenn du es auf False setzt, kannst du die Validierung mit der traditionellen NMS-Pipeline ausführen und zusätzlich das iou-Argument nutzen.

Sorgfältige Abstimmung und Experimente sind entscheidend, um eine optimale Leistung zu gewährleisten und Overfitting zu erkennen und zu verhindern.

Val Guide

Export-Einstellungen

Export-Einstellungen für YOLO-Modelle umfassen Konfigurationen zum Speichern oder Exportieren des Modells für die Verwendung in verschiedenen Umgebungen. Diese Einstellungen wirken sich auf Leistung, Größe und Kompatibilität aus. Wichtige Einstellungen umfassen das exportierte Dateiformat (z. B. ONNX, TensorFlow SavedModel), das Zielgerät (z. B. CPU, GPU) und Features wie Masken. Auch die Aufgabe des Modells und die Einschränkungen der Zielumgebung beeinflussen den Exportprozess.

ArgumentTypStandardBeschreibung
formatstr'torchscript'Zielformat für das exportierte Modell, wie z. B. 'onnx', 'torchscript', 'engine' (TensorRT) oder andere. Jedes Format ermöglicht die Kompatibilität mit verschiedenen Bereitstellungsumgebungen.
imgszint oder tuple640Gewünschte Bildgröße für die Modelleingabe. Kann ein Integer für quadratische Bilder (z. B. 640 für 640×640) oder ein Tupel (height, width) für spezifische Dimensionen sein.
kerasboolFalseErmöglicht den Export in das Keras-Format für TensorFlow SavedModel, was Kompatibilität mit TensorFlow Serving und APIs bietet.
optimizeboolFalseWendet Optimierungen für mobile Geräte beim Export nach TorchScript an, was potenziell die Modellgröße reduziert und die Inferenzleistung verbessert. Nicht kompatibel mit dem NCNN-Format oder CUDA-Geräten. Für DeepX ermöglicht dies eine höhere Compiler-Optimierung, die die Inferenzlatenz verringert und die Kompilierzeit erhöht.
halfboolFalseErmöglicht FP16-Quantisierung (halbe Präzision), was die Modellgröße reduziert und potenziell die Inferenz auf unterstützter Hardware beschleunigt. Nicht kompatibel mit INT8-Quantisierung oder CPU-only-Exporten. Nur für bestimmte Formate verfügbar, z. B. ONNX (siehe unten).
int8boolFalseAktiviert die INT8-Quantisierung, was das Modell weiter komprimiert und die Inferenz bei minimalem Genauigkeitsverlust beschleunigt, primär für Edge-Geräte. Bei Verwendung mit TensorRT erfolgt eine Post-Training-Quantisierung (PTQ).
dynamicboolFalseErlaubt dynamische Eingabegrößen für TorchScript-, ONNX-, OpenVINO-, TensorRT- und CoreML-Exporte, was die Flexibilität im Umgang mit variierenden Bilddimensionen erhöht. Wird bei der Verwendung von TensorRT mit INT8 automatisch auf True gesetzt.
simplifyboolTrueVereinfacht den Modellgraphen für ONNX-Exporte mit onnxslim, was potenziell die Leistung und Kompatibilität mit Inferenz-Engines verbessert.
opsetintNoneGibt die ONNX-Opset-Version zur Kompatibilität mit verschiedenen ONNX-Parsern und Runtimes an. Wenn nicht gesetzt, wird die neueste unterstützte Version verwendet.
workspacefloat oder NoneNoneLegt die maximale Arbeitsbereichsgröße in GiB für TensorRT-Optimierungen fest, um ein Gleichgewicht zwischen Speicherauslastung und Leistung zu finden. Verwende None für die automatische Zuweisung durch TensorRT bis zum Geräte-Maximum.
nmsboolFalseFügt Non-Maximum Suppression (NMS) zum exportierten Modell hinzu, sofern unterstützt (siehe Exportformate), was die Effizienz der Nachbearbeitung bei der Erkennung verbessert. Nicht verfügbar für end2end-Modelle.
batchint1Gibt die Batch-Inferenzgröße des Exportmodells oder die maximale Anzahl der Bilder an, die das exportierte Modell gleichzeitig im predict-Modus verarbeitet. Bei Edge TPU-Exporten wird dies automatisch auf 1 gesetzt.
devicestrNoneGibt das Gerät für den Export an: GPU (device=0), CPU (device=cpu), MPS für Apple Silicon (device=mps), Huawei Ascend NPU (device=npu oder device=npu:0) oder DLA für NVIDIA Jetson (device=dla:0 oder device=dla:1). TensorRT-Exporte verwenden automatisch die GPU.
datastr'coco8.yaml'Pfad zur Dataset-Konfigurationsdatei, essenziell für die INT8-Quantisierungskalibrierung. Wenn bei aktivierter INT8-Option nichts angegeben ist, wird coco8.yaml als Fallback für die Kalibrierung verwendet.
fractionfloat1.0Gibt den Anteil des Datensatzes an, der für die INT8-Quantisierungskalibrierung verwendet werden soll. Ermöglicht die Kalibrierung auf einer Teilmenge des gesamten Datensatzes, was für Experimente oder bei begrenzten Ressourcen nützlich ist. Wenn bei aktivierter INT8-Option nichts angegeben ist, wird der gesamte Datensatz verwendet.
end2endboolNoneÜberschreibt den End-to-End-Modus in YOLO-Modellen, die NMS-freie Inferenz unterstützen (YOLO26, YOLOv10). Wenn du dies auf False setzt, kannst du diese Modelle so exportieren, dass sie mit der traditionellen NMS-basierten Nachbearbeitungspipeline kompatibel sind. Siehe den End-to-End Detection Leitfaden für Details.

Eine durchdachte Konfiguration stellt sicher, dass das exportierte Modell für seinen Anwendungsfall optimiert ist und in der Zielumgebung effektiv funktioniert.

Export-Leitfaden

Lösungseinstellungen

Die Konfigurationseinstellungen für Ultralytics Solutions bieten Flexibilität, um Modelle für Aufgaben wie Objektzählung, Heatmap-Erstellung, Workout-Tracking, Datenanalyse, Zonen-Tracking, Warteschlangenmanagement und regionsbasierte Zählung anzupassen. Diese Optionen ermöglichen einfache Anpassungen für genaue und nützliche Ergebnisse, die auf spezifische Bedürfnisse zugeschnitten sind.

ArgumentTypStandardBeschreibung
modelstrNonePfad zu einer Ultralytics YOLO-Modelldatei.
regionlist'[(20, 400), (1260, 400)]'Liste von Punkten, die den Zählbereich definieren.
show_inboolTrueFlag zur Steuerung, ob die 'In'-Zählungen auf dem Videostream angezeigt werden sollen.
show_outboolTrueFlag zur Steuerung, ob die 'Out'-Zählungen auf dem Videostream angezeigt werden sollen.
analytics_typestr'line'Art des Diagramms, d.h. line, bar, area oder pie.
colormapintcv2.COLORMAP_DEEPGREENFarbskala, die für die Heatmap verwendet werden soll.
json_filestrNonePfad zur JSON-Datei, die alle Daten zu Parkplatzkoordinaten enthält.
up_anglefloat145.0Winkelschwellenwert für die 'up'-Pose.
kptslist[int]'[6, 8, 10]'Liste von drei Keypoint-Indizes, die zur Überwachung von Workouts verwendet werden. Diese Keypoints entsprechen Körpergelenken oder -teilen, wie Schultern, Ellbogen und Handgelenken, für Übungen wie Liegestütze, Klimmzüge, Kniebeugen und Bauchmuskeltraining.
down_angleint90Winkelschwellenwert für die 'down'-Pose.
blur_ratiofloat0.5Passt den Prozentsatz der Unschärfeintensität an, mit Werten im Bereich 0.1 - 1.0.
crop_dirstr'cropped-detections'Verzeichnisname zum Speichern von zugeschnittenen Erkennungen.
recordsint5Gesamtanzahl der Erkennungen, um eine E-Mail mit dem Sicherheitsalarmsystem auszulösen.
vision_pointtuple[int, int](20, 20)Der Punkt, an dem Vision Objekte verfolgt und Pfade mithilfe der VisionEye-Lösung zeichnet.
sourcestrNonePfad zur Eingabequelle (Video, RTSP, usw.). Nur mit der Befehlszeilenschnittstelle (CLI) von Solutions verwendbar.
figsizetuple[int, int](12.8, 7.2)Figurengröße für Analyse-Diagramme wie Heatmaps oder Graphen.
fpsfloat30.0Bilder pro Sekunde, die für Geschwindigkeitsberechnungen verwendet werden.
max_histint5Maximale historische Punkte, die pro Objekt für Geschwindigkeits-/Richtungsberechnungen verfolgt werden sollen.
meter_per_pixelfloat0.05Skalierungsfaktor zur Umrechnung von Pixelabständen in reale Einheiten.
max_speedint120Maximales Tempolimit in visuellen Overlays (wird bei Warnungen verwendet).
datastr'images'Pfad zum Bildverzeichnis, das für die Ähnlichkeitssuche verwendet wird.

Solutions-Leitfaden

Augmentierungseinstellungen

Datenaugmentierung-Techniken sind entscheidend, um die Robustheit und Leistung des YOLO-Modells zu verbessern, indem Variabilität in die Trainingsdaten eingebracht wird. Dies hilft dem Modell, besser auf unbekannte Daten zu generalisieren. Die folgende Tabelle erläutert den Zweck und die Auswirkung jedes Augmentierungsarguments:

ArgumentTypStandardUnterstützte AufgabenBereichBeschreibung
hsv_hfloat0.015detect, segment, pose, obb, classify0.0 - 1.0Passt den Farbton des Bildes um einen Bruchteil des Farbkreises an, was zu Farbvariabilität führt. Hilft dem Modell, über verschiedene Lichtverhältnisse hinweg zu generalisieren.
hsv_sfloat0.7detect, segment, pose, obb, classify0.0 - 1.0Verändert die Sättigung des Bildes um einen Bruchteil, was die Intensität der Farben beeinflusst. Nützlich zur Simulation verschiedener Umgebungsbedingungen.
hsv_vfloat0.4detect, segment, pose, obb, classify0.0 - 1.0Modifiziert den Wert (Helligkeit) des Bildes um einen Bruchteil und hilft dem Modell, bei unterschiedlichen Lichtverhältnissen gute Leistung zu erbringen.
degreesfloat0detect, segment, pose, obb0.0 - 180Dreht das Bild zufällig innerhalb des angegebenen Gradbereichs, was die Fähigkeit des Modells verbessert, Objekte in verschiedenen Ausrichtungen zu erkennen.
translatefloat0.1detect, segment, pose, obb0.0 - 1.0Verschiebt das Bild horizontal und vertikal um einen Bruchteil der Bildgröße, was beim Lernen hilft, teilweise sichtbare Objekte zu erkennen.
scalefloat0.5detect, segment, pose, obb, classify0 - 1Skaliert das Bild um einen Verstärkungsfaktor, um Objekte in unterschiedlichen Entfernungen zur Kamera zu simulieren.
shearfloat0detect, segment, pose, obb-180 - +180Scherung des Bildes um einen bestimmten Grad, was den Effekt nachahmt, dass Objekte aus verschiedenen Winkeln betrachtet werden.
perspectivefloat0detect, segment, pose, obb0.0 - 0.001Wendet eine zufällige Perspektivtransformation auf das Bild an und verbessert die Fähigkeit des Modells, Objekte im 3D-Raum zu verstehen.
flipudfloat0detect, segment, pose, obb, classify0.0 - 1.0Spiegelt das Bild mit der angegebenen Wahrscheinlichkeit vertikal, was die Datenvariabilität erhöht, ohne die Eigenschaften des Objekts zu beeinflussen.
fliplrfloat0.5detect, segment, pose, obb, classify0.0 - 1.0Spiegelt das Bild mit der angegebenen Wahrscheinlichkeit horizontal, was nützlich ist, um symmetrische Objekte zu lernen und die Vielfalt des Datensatzes zu erhöhen.
bgrfloat0detect, segment, pose, obb0.0 - 1.0Tauscht die Bildkanäle mit der angegebenen Wahrscheinlichkeit von RGB auf BGR, was nützlich ist, um die Robustheit gegenüber falscher Kanalreihenfolge zu erhöhen.
mosaicfloat1detect, segment, pose, obb0.0 - 1.0Kombiniert vier Trainingsbilder zu einem, wodurch verschiedene Szenenzusammensetzungen und Objektinteraktionen simuliert werden. Sehr effektiv für das Verständnis komplexer Szenen.
mixupfloat0detect, segment, pose, obb0.0 - 1.0Mischt zwei Bilder und deren Labels zu einem zusammengesetzten Bild. Verbessert die Generalisierungsfähigkeit des Modells durch Einführung von Label-Rauschen und visueller Variabilität.
cutmixfloat0detect, segment, pose, obb0.0 - 1.0Kombiniert Teile von zwei Bildern, wodurch eine teilweise Mischung entsteht, während deutliche Regionen erhalten bleiben. Erhöht die Robustheit des Modells durch Erzeugung von Okklusionsszenarien.
copy_pastefloat0segment0.0 - 1.0Kopiert und fügt Objekte über Bilder hinweg ein, um die Anzahl der Objektinstanzen zu erhöhen.
copy_paste_modestrflipsegment-Gibt die zu verwendende copy-paste-Strategie an. Optionen sind 'flip' und 'mixup'.
auto_augmentstrrandaugmentclassify-Wendet eine vordefinierte Augmentierungsrichtlinie ('randaugment', 'autoaugment' oder 'augmix') an, um die Modellleistung durch visuelle Vielfalt zu verbessern.
erasingfloat0.4classify0.0 - 1.0Löscht während des Trainings zufällig Regionen des Bildes, um das Modell dazu zu ermutigen, sich auf weniger offensichtliche Merkmale zu konzentrieren.
augmentationslist``detect, segment, pose, obb-Benutzerdefinierte Albumentations-Transformationen für fortgeschrittene Datenerweiterung (nur Python API). Akzeptiert eine Liste von Transformationsobjekten für spezielle Augmentierungsanforderungen.

Passe diese Einstellungen an, um die Anforderungen deines Datensatzes und deiner Aufgabe zu erfüllen. Das Experimentieren mit verschiedenen Werten kann dabei helfen, die optimale Augmentierungsstrategie für die beste Modellleistung zu finden.

Augmentierungs-Guide

Einstellungen für Protokollierung, Checkpoints und Plotting

Protokollierung, Checkpoints, Plotting und Dateiverwaltung sind beim Trainieren eines YOLO Modells wichtig:

  • Protokollierung: Verfolge den Fortschritt des Modells und diagnostiziere Probleme mithilfe von Bibliotheken wie TensorBoard oder durch das Schreiben in eine Datei.
  • Checkpoints: Speichere das Modell in regelmäßigen Abständen, um das Training fortzusetzen oder mit verschiedenen Konfigurationen zu experimentieren.
  • Plotting: Visualisiere die Leistung und den Trainingsfortschritt mithilfe von Bibliotheken wie Matplotlib oder TensorBoard.
  • Dateiverwaltung: Organisiere während des Trainings generierte Dateien wie Checkpoints, Logdateien und Plots für einen einfachen Zugriff und zur Analyse.

Eine effektive Verwaltung dieser Aspekte hilft dabei, den Fortschritt zu verfolgen und macht das Debugging und die Optimierung einfacher.

ArgumentStandardBeschreibung
project'runs'Gibt das Stammverzeichnis zum Speichern von Trainingsdurchläufen an. Jeder Durchlauf wird in einem separaten Unterverzeichnis gespeichert.
name'exp'Definiert den Namen des Experiments. Falls nicht angegeben, erhöht YOLO diesen Namen für jeden Durchlauf (z.B. exp, exp-2), um ein Überschreiben zu vermeiden.
exist_okFalseBestimmt, ob ein bestehendes Experimentverzeichnis überschrieben werden soll. True erlaubt das Überschreiben; False verhindert es.
plotsTrueSteuert die Erzeugung und Speicherung von Trainings- und Validierungsplots. Setze dies auf True, um Plots wie Loss-Kurven, precision-recall-Kurven und Beispielvorhersagen zur visuellen Leistungsverfolgung zu erstellen.
saveTrueErmöglicht das Speichern von Trainings-Checkpoints und endgültigen Modellgewichten. Setze dies auf True, um Modellzustände periodisch zu speichern, was die Fortsetzung des Trainings oder die Bereitstellung des Modells ermöglicht.

Benutzerdefinierte Konfigurationsdatei

Lade ein gespeichertes YAML, um eine vollständige Menge an Argumenten wiederzuverwenden, ohne sie inline zu übergeben. Das cfg-Argument überschreibt Werte aus default.yaml, während zusätzlich daneben übergebene Argumente weiterhin Vorrang haben.

ArgumentStandardBeschreibung
cfgNonePfad zu einer YAML-Datei, deren Werte Einträge in default.yaml ersetzen. Siehe Overriding Default Config File für ein praktisches CLI-Beispiel.

FAQ

Wie verbessere ich die Leistung meines YOLO Modells während des Trainings?

Verbessere die Leistung durch das Tuning von Hyperparametern wie batch size, learning rate, Momentum und Weight Decay. Passe die Einstellungen für data augmentation an, wähle den richtigen Optimierer und verwende Techniken wie Early Stopping oder mixed precision. Details findest du im Train Guide.

Was sind die wichtigsten Hyperparameter für die Genauigkeit des YOLO Modells?

Wichtige Hyperparameter, die die Genauigkeit beeinflussen, sind:

  • Batch Size (batch): Größere Größen können das Training stabilisieren, benötigen aber mehr Arbeitsspeicher.
  • Learning Rate (lr0): Kleinere Raten bieten feine Anpassungen, führen aber zu einer langsameren Konvergenz.
  • Momentum (momentum): Beschleunigt Gradientenvektoren und dämpft Oszillationen.
  • Image Size (imgsz): Größere Größen verbessern die Genauigkeit, erhöhen aber die Rechenlast.

Passe diese basierend auf deinem Datensatz und deiner Hardware an. Erfahre mehr unter Train Settings.

Wie stelle ich die Learning Rate für das Training eines YOLO Modells ein?

Die Learning Rate (lr0) ist entscheidend; beginne mit 0.01 für SGD oder 0.001 für den Adam optimizer. Überwache Metriken und passe sie bei Bedarf an. Verwende Cosine-Learning-Rate-Scheduler (cos_lr) oder Warmup (warmup_epochs, warmup_momentum). Details findest du im Train Guide.

Was sind die Standard-Inferenz-Einstellungen für YOLO Modelle?

Die Standardeinstellungen beinhalten:

  • Confidence Threshold (conf=0.25): Minimale Konfidenz für Erkennungen.
  • IoU Threshold (iou=0.7): Für Non-Maximum Suppression (NMS).
  • Image Size (imgsz=640): Ändert die Größe der Eingabebilder.
  • Device (device=None): Wählt CPU, GPU, Apple MPS oder Huawei Ascend NPU (npu).

Für einen vollständigen Überblick, siehe Predict Settings und den Predict Guide.

Warum sollte man Mixed-Precision-Training mit YOLO Modellen verwenden?

Mixed precision Training (amp=True) reduziert den Speicherverbrauch und beschleunigt das Training durch die Verwendung von FP16 und FP32. Es ist vorteilhaft für moderne GPUs und ermöglicht größere Modelle sowie schnellere Berechnungen ohne signifikanten Genauigkeitsverlust. Erfahre mehr im Train Guide.

Kommentare