Meet YOLO26: next-gen vision AI.

Link to this sectionKonfiguration#

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

Link to this sectionAufgaben#

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: Instanz-Segmentierung unterteilt ein Bild oder Video in Regionen, die verschiedenen Objekten oder Klassen entsprechen.
  • Semantische Segmentierung (semantic): Semantische Segmentierung weist jedem Pixel in einem Bild ein Klassenlabel zu, um ein tiefgreifendes Verständnis der Szene zu ermöglichen.
  • Classify: Bildklassifizierung sagt das Klassenlabel eines Eingabebildes voraus.
  • Pose: Pose-Schätzung identifiziert Objekte und schätzt deren Schlüsselpunkte in einem Bild oder Video.
  • OBB: Oriented Bounding Boxes verwendet gedrehte Begrenzungsrahmen, was sich für Satelliten- oder medizinische Bilder eignet.
ArgumentStandardBeschreibung
task'detect'Gibt die YOLO-Aufgabe an: detect für Objekterkennung, segment für Instanz-Segmentierung, semantic für semantische Segmentierung, classify für Klassifizierung, pose für Pose-Schätzung und obb für Oriented Bounding Boxes. Jede Aufgabe ist auf spezifische Ausgaben und Probleme in der Bild- und Videoanalyse zugeschnitten.

Aufgabenleitfaden

Link to this sectionModi#

Ultralytics YOLO-Modelle arbeiten in verschiedenen Modi, von denen jeder für eine bestimmte Phase des Modelllebenszyklus konzipiert ist:

  • 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: Teste die 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.

Modus-Leitfaden

Link to this sectionTrainingseinstellungen#

Trainingseinstellungen für YOLO-Modelle umfassen Hyperparameter und Konfigurationen, die die Leistung, Geschwindigkeit und Genauigkeit des Modells beeinflussen. Wichtige Einstellungen umfassen Batch-Größe, Lernrate, Impuls (Momentum) und Gewichtsabnahme (Weight Decay). Die Wahl des Optimierers, der Verlustfunktion und die Zusammensetzung des Datensatzes haben ebenfalls Auswirkungen auf das Training. Tuning und Experimente sind für eine optimale Leistung entscheidend. Weitere Details findest du in der Ultralytics-Einstiegspunktfunktion.

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 die Initialisierung der Gewichte.
datastrNonePfad zur Dataset-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 stellt einen vollständigen Durchlauf durch den gesamten Datensatz dar. Die Anpassung dieses Wertes kann die Trainingsdauer und die Modellleistung beeinflussen.
timefloatNoneMaximale Trainingszeit in Stunden. Falls gesetzt, überschreibt dies das epochs-Argument, wodurch das Training nach der angegebenen Dauer automatisch gestoppt wird. Nützlich für zeiteingeschränkte Trainingsszenarien.
patienceint100Anzahl der Epochen, die ohne Verbesserung der Validierungsmetriken gewartet wird, bevor das Training frühzeitig beendet wird. Hilft, Overfitting zu verhindern, indem das Training gestoppt wird, wenn die Leistung stagniert.
batchint oder float16Batch-Größe, mit drei Modi: als Ganzzahl gesetzt (z. B. batch=16), Auto-Modus für 60% GPU-Speicherauslastung (batch=-1) oder Auto-Modus mit spezifiziertem Auslastungsanteil (batch=0.70).
imgszint640Zielbildgröße für das Training. Bilder werden auf Quadrate mit Seitenlängen entsprechend dem angegebenen Wert skaliert (wenn rect=False), wobei das Seitenverhältnis für YOLO-Modelle beibehalten wird, jedoch nicht für RT-DETR. Beeinflusst die Genauigkeit und die Rechenkomplexität des Modells.
saveboolTrueAktiviert das Speichern von Trainings-Checkpoints und den endgültigen Modellgewichten. Nützlich zum Fortsetzen des Trainings oder für das Modell-Deployment.
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 von Festplatten-I/O auf Kosten eines erhöhten Speicherverbrauchs.
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 automatische Auswahl der freiesten GPU (device=-1) oder mehrerer freier 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 Einspeisung in das Modell, besonders nützlich bei Multi-GPU-Setups.
projectstrNoneName des Projektverzeichnisses, in dem die Trainingsausgaben gespeichert werden. Ermöglicht eine organisierte Speicherung verschiedener Experimente.
namestrNoneName des Trainingslaufs. Wird verwendet, um ein Unterverzeichnis im Projektordner zu erstellen, in dem Trainingsprotokolle und Ausgaben gespeichert werden.
exist_okboolFalseWenn True, erlaubt 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 begonnen werden soll. Kann ein boolescher Wert oder ein Pfad als String zu den zu ladenden Gewichten sein. pretrained=False trainiert mit zufällig initialisierten Gewichten unter Beibehaltung der Modellarchitektur.
optimizerstr'auto'Wahl des Optimierers für das Training. Optionen beinhalten SGD, MuSGD, Adam, Adamax, AdamW, NAdam, RAdam, RMSProp oder auto für automatische Auswahl basierend auf der Modellkonfiguration. Beeinflusst Konvergenzgeschwindigkeit und Stabilität.
seedint0Legt den Zufallswert (Seed) für das Training fest, was die Reproduzierbarkeit der Ergebnisse über Durchläufe mit denselben Konfigurationen hinweg sicherstellt.
deterministicboolTrueErzwingt die Verwendung deterministischer Algorithmen, was die Reproduzierbarkeit sicherstellt, aber die Leistung und Geschwindigkeit aufgrund der Beschränkung auf nicht-deterministische Algorithmen beeinträchtigen kann.
verboseboolTrueAktiviert die ausführliche Ausgabe während des Trainings und zeigt Fortschrittsbalken, Metriken pro Epoche sowie 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 dem Vorhandensein von Objekten als auf der Klassifizierung liegt.
classeslist[int]NoneGibt eine Liste von Klassen-IDs an, die trainiert werden sollen. Nützlich zum Filtern und zur Konzentration auf bestimmte Klassen während des Trainings.
rectboolFalseAktiviert die Strategie der minimalen Auffüllung (Padding) – Bilder in einem Batch werden minimal aufgefüllt, um eine gemeinsame Größe zu erreichen, wobei die längste Seite imgsz entspricht. Dies kann die Effizienz und Geschwindigkeit verbessern, kann aber die Genauigkeit des Modells beeinflussen.
multi_scalefloat0.0Variiert imgsz für jeden Batch zufällig um +/- multi_scale (z. B. 0.25 -> 0.75x bis 1.25x) und rundet auf Vielfache des Modell-Strides; 0.0 deaktiviert das Multi-Scale-Training.
cos_lrboolFalseVerwendet einen Kosinus-Lernraten-Scheduler, der die Lernrate über die Epochen hinweg nach einer Kosinus-Kurve anpasst. Dies hilft bei der Steuerung der Lernrate für eine bessere Konvergenz.
close_mosaicint10Deaktiviert die Mosaic-Datenaugmentierung in den letzten N Epochen, um das Training vor dem Abschluss zu stabilisieren. Die Einstellung auf 0 deaktiviert diese Funktion.
resumeboolFalseSetzt das Training vom zuletzt gespeicherten Checkpoint fort. Lädt automatisch Modellgewichte, Optimiererzustand und Epochenanzahl, um das Training nahtlos fortzusetzen.
ampboolTrueAktiviert das Training mit automatischer gemischter Präzision (AMP), was den Speicherverbrauch reduziert und das Training möglicherweise beschleunigt, bei minimalen Auswirkungen auf die Genauigkeit.
fractionfloat1.0Gibt den Teil des Datensatzes an, der für das Training verwendet werden soll. Ermöglicht das Training auf einer Teilmenge des gesamten Datensatzes, was für Experimente oder bei begrenzten Ressourcen nützlich ist.
profileboolFalseAktiviert die Profilierung von ONNX- und TensorRT-Geschwindigkeiten während des Trainings, was für die Optimierung des Modelleinsatzes nützlich ist.
freezeint oder listNoneFriert die ersten N Schichten des Modells oder bestimmte Schichten nach Index ein, wodurch die Anzahl der trainierbaren Parameter reduziert wird. Nützlich für das 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 und 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 über die Zeit anzupassen.
momentumfloat0.937Momentum-Faktor für SGD oder beta1 für Adam-Optimierer, der die Einbeziehung früherer Gradienten in das aktuelle Update beeinflusst.
weight_decayfloat0.0005L2-Regularisierungs-Term, der große Gewichte bestraft, um Overfitting zu verhindern.
warmup_epochsfloat3.0Anzahl der Epochen für das Lernraten-Warmup, wobei 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 dabei hilft, das Modelltraining in den anfänglichen Epochen zu stabilisieren.
boxfloat7.5Gewichtung der Box-Loss-Komponente in der Verlustfunktion, die beeinflusst, wie viel Wert auf die genaue Vorhersage der Bounding-Box-Koordinaten gelegt wird.
clsfloat0.5Gewichtung des Klassifizierungsverlusts in der gesamten Verlustfunktion, was die Bedeutung einer korrekten Klassenvorhersage im Verhältnis zu anderen Komponenten beeinflusst.
cls_pwfloat0.0Potenz für die Klassen-Gewichtung zur Handhabung von Klassenungleichgewichten unter Verwendung der inversen Klassenhäufigkeit. 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 abgestimmte Klassifizierung verwendet wird.
posefloat12.0Gewichtung des Pose-Loss in Modellen, die für die Pose-Schätzung trainiert wurden, was den Fokus auf die genaue Vorhersage von Pose-Keypoints beeinflusst.
kobjfloat1.0Gewichtung des Keypoint-Objectness-Loss in Pose-Schätzungsmodellen, um das Vertrauen der Erkennung mit der Pose-Genauigkeit abzugleichen.
rlefloat1.0Gewichtung des Residual-Log-Likelihood-Estimation-Loss in Pose-Schätzungsmodellen, was die Präzision der Keypoint-Lokalisierung beeinflusst.
anglefloat1.0Gewichtung des Winkel-Loss in OBB-Modellen, was die Präzision der Vorhersagen für den Winkel von orientierten Bounding-Boxen 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 oder für jedes Objekt separat gehalten werden sollen. Bei einer Überlappung wird die kleinere Maske beim Zusammenführen über die größere Maske gelegt.
mask_ratioint4Downsampling-Verhältnis für Segmentierungsmasken, was die Auflösung der während des Trainings verwendeten Masken beeinflusst.
dropoutfloat0.0Dropout-Rate zur Regularisierung bei Klassifizierungsaufgaben, um Overfitting durch zufälliges Auslassen von Einheiten während des Trainings zu verhindern.
valboolTrueAktiviert die Validierung während des Trainings, was eine regelmäßige Bewertung der Modellleistung auf einem separaten Datensatz ermöglicht.
plotsboolTrueGeneriert und speichert Diagramme von Trainings- und Validierungsmetriken sowie Vorhersagebeispiele, die visuelle Einblicke in die Modellleistung und den Lernfortschritt bieten.
compilebool oder strFalseAktiviert die PyTorch 2.x torch.compile Graph-Kompilierung mit backend='inductor'. Akzeptiert True"default", False → deaktiviert, oder einen String-Modus wie "default", "reduce-overhead", "max-autotune-no-cudagraphs". Fällt bei Nichtunterstützung mit einer Warnung auf Eager zurück.
max_detint300Gibt die maximale Anzahl von Objekten an, die während der Validierungsphase des Trainings beibehalten werden.
Hinweis zu Batch-Größen-Einstellungen

Das Argument batch 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 die automatische Anpassung auf etwa 60 % CUDA-Speicherauslastung.
  • Auto-Modus mit Auslastungsanteil: Lege einen Anteil fest (z. B. batch=0.70), um die Anpassung basierend auf einer bestimmten GPU-Speicherauslastung vorzunehmen.

Trainingsleitfaden

Link to this sectionVorhersageeinstellungen#

Vorhersageeinstellungen 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 Schwellenwert für Non-Maximum Suppression (NMS) und die Anzahl der Klassen. Eingabedatengröße, Format und ergänzende Funktionen wie Masken beeinflussen ebenfalls die Vorhersagen. Die Feinabstimmung 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 Eingabetypen ermöglicht.
conffloat0.25Legt den minimalen Konfidenz-Schwellenwert für Erkennungen fest. Objekte, die mit einer Konfidenz unterhalb dieses Schwellenwerts erkannt werden, werden ignoriert. Die Anpassung 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 Erkennungen durch das Eliminieren überlappender Boxen, was nützlich ist, um Duplikate zu reduzieren.
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 des Mindest-Rechteck-Padding kleiner als dieses Ziel sein. Verwende rect=False für eine feste Größe. Siehe Feste Form vs. Mindest-Rechteck.
rectboolTrueFalls True, verwende Mindest-Rechteck-Padding, wenn möglich (Batch gleicher Form und unterstütztes Backend). Falls False, immer auf das volle imgsz auffüllen. Siehe Feste Form vs. Mindest-Rechteck.
halfboolFalseAktiviert die Halbe-Präzision (FP16)-Inferenz, die die Modellinferenz auf unterstützten GPUs bei minimalen Auswirkungen 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 bestimmten 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 benötigte Gesamtzeit verkürzen.
max_detint300Maximale Anzahl der erlaubten Erkennungen pro Bild. Begrenzt die Gesamtzahl der Objekte, die das Modell in einer einzigen Inferenz erkennen kann, um übermäßige Ausgaben in dichten Szenen zu verhindern.
vid_strideint1Frame-Schrittweite für Videoeingaben. Ermöglicht das Überspringen von Frames in Videos, um die Verarbeitung auf Kosten der zeitlichen Auflösung zu beschleunigen. Ein Wert von 1 verarbeitet jeden Frame, höhere Werte überspringen Frames.
stream_bufferboolFalseBestimmt, ob eingehende Frames für Videostreams in die Warteschlange gestellt werden sollen. Falls False, werden alte Frames verworfen, um neue Frames unterzubringen (optimiert für Echtzeitanwendungen). Falls True, werden neue Frames in einem Puffer in die Warteschlange gestellt, was sicherstellt, dass keine Frames übersprungen werden, aber zu Latenz führen kann, wenn die Inferenz-FPS niedriger als die Stream-FPS sind.
visualizeboolFalseAktiviert die Visualisierung von Modellmerkmalen während der Inferenz und bietet Einblicke in das, was das Modell "sieht". Nützlich für Debugging und Modellinterpretation.
augmentboolFalseAktiviert Test-Time Augmentation (TTA) für Vorhersagen, was potenziell die Robustheit der Erkennung auf Kosten der Inferenzgeschwindigkeit verbessert.
agnostic_nmsboolFalseAktiviert klassenagnostische 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 sind. Bei End-to-End-Modellen (YOLO26, YOLOv10) verhindert dies nur, dass dieselbe Erkennung mit mehreren Klassenlabels erscheint (IoU=1.0 Duplikate) und führt keine Unterdrückung auf Basis des IoU-Schwellenwerts zwischen verschiedenen 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 auf relevante Objekte bei Multi-Klassen-Erkennungsaufgaben zu konzentrieren.
retina_masksboolFalseGibt hochauflösende Segmentierungsmasken zurück. Die zurückgegebenen Masken (masks.data) entsprechen bei Aktivierung der ursprünglichen Bildgröße. Falls deaktiviert, haben sie die Bildgröße, die während der Inferenz verwendet wurde.
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 Vorhersageausgaben gespeichert werden, wenn save aktiviert ist.
namestrNoneName des Vorhersagelaufs. Wird zum Erstellen eines Unterverzeichnisses innerhalb des Projektordners verwendet, in dem Vorhersageausgaben 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 Frames gleichzeitig in den Speicher zu laden.
verboseboolTrueSteuert, ob detaillierte Inferenz-Protokolle im Terminal angezeigt werden, was Echtzeit-Feedback zum Vorhersageprozess bietet.
compilebool oder strFalseAktiviert die PyTorch 2.x torch.compile Graph-Kompilierung mit backend='inductor'. Akzeptiert True"default", False → deaktiviert, oder einen String-Modus wie "default", "reduce-overhead", "max-autotune-no-cudagraphs". Fällt bei Nichtunterstützung mit einer Warnung auf Eager zurück.
end2endboolNoneÜberschreibt den End-to-End-Modus in YOLO-Modellen, die NMS-freie Inferenz unterstützen (YOLO26, YOLOv10). Das Setzen auf False ermöglicht es dir, die Vorhersage mithilfe der traditionellen NMS-Pipeline auszuführen, was zusätzlich die Verwendung des iou-Arguments erlaubt. Siehe den End-to-End-Erkennungsleitfaden für Details.

Visualisierungs-Argumente:

ArgumentTypStandardBeschreibung
showboolFalseWenn True, werden die annotierten Bilder oder Videos in einem Fenster angezeigt. Nützlich für sofortiges visuelles Feedback während der Entwicklung oder Tests.
saveboolFalse or TrueAktiviert das Speichern der annotierten Bilder oder Videos in Dateien. Nützlich für Dokumentation, weitere Analysen oder zum Teilen von Ergebnissen. Standardmäßig True bei Verwendung der CLI & False bei Verwendung in Python.
save_framesboolFalseBeim Verarbeiten von Videos werden einzelne Frames als Bilder gespeichert. Nützlich zum Extrahieren spezifischer Frames oder für detaillierte Frame-für-Frame-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_confboolFalseSchließt Konfidenzwerte in den gespeicherten Textdateien ein. Verbessert die Detailgenauigkeit für die Nachbearbeitung und Analyse.
save_cropboolFalseSpeichert zugeschnittene Bilder der Erkennungen. Nützlich für Datensatz-Augmentierung, Analyse oder das Erstellen fokussierter Datensätze für bestimmte Objekte.
show_labelsboolTrueZeigt Labels für jede Erkennung in der visuellen Ausgabe an. Ermöglicht ein sofortiges Verständnis der erkannten Objekte.
show_confboolTrueZeigt den Konfidenzwert für jede Erkennung neben dem Label an. Bietet Einblick in die Gewissheit des Modells für jede Erkennung.
show_boxesboolTrueZeichnet Begrenzungsrahmen um erkannte Objekte. Wesentlich für die visuelle Identifizierung und Lokalisierung von Objekten in Bildern oder Videoframes.
line_widthint or NoneNoneLegt die Linienbreite der BBoxen fest. Wenn None, wird die Linienbreite automatisch basierend auf der Bildgröße angepasst. Bietet visuelle Anpassungsmöglichkeiten für mehr Klarheit.

Vorhersageleitfaden

Link to this sectionValidierungseinstellungen#

Validierungseinstellungen für YOLO-Modelle beinhalten Hyperparameter und Konfigurationen, um die Leistung auf einem Validierungsdatensatz zu bewerten. Diese Einstellungen beeinflussen Leistung, Geschwindigkeit und Genauigkeit. Zu den gängigen Einstellungen gehören Batch-Größe, Validierungshäufigkeit und Leistungskennzahlen. Die Größe und Zusammensetzung des Validierungsdatensatzes sowie die spezifische Aufgabe beeinflussen ebenfalls den Prozess.

ArgumentTypStandardBeschreibung
datastrNoneGibt den Pfad zur Konfigurationsdatei des Datensatzes 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 Größen können die Genauigkeit bei kleinen Objekten verbessern, erhöhen aber die Rechenzeit.
batchint16Legt die Anzahl der Bilder pro Batch fest. Höhere Werte nutzen den GPU-Speicher effizienter, erfordern jedoch mehr VRAM. Passe dies basierend auf den verfügbaren Hardware-Ressourcen an.
save_jsonboolFalseFalls True, werden die Ergebnisse zur weiteren Analyse, Integration mit anderen Tools oder zur Einreichung bei Bewertungsservern wie COCO in einer JSON-Datei gespeichert.
conffloat0.001Legt den minimalen Konfidenz-Schwellenwert für Erkennungen fest. Niedrigere Werte erhöhen den Recall, können aber mehr falsch-positive Ergebnisse einführen. Wird während der Validierung verwendet, um Precision-Recall-Kurven zu berechnen. Standardmäßig 0.01 für die OBB-Validierung, um die Speicherauslastung zu reduzieren.
ioufloat0.7Legt den Intersection Over Union-Schwellenwert für Non-Maximum Suppression fest. Steuert die Eliminierung doppelter Erkennungen.
max_detint300Begrenzt die maximale Anzahl der Erkennungen pro Bild. Nützlich in dichten Szenen, um übermäßige Erkennungen zu verhindern und Rechenressourcen zu verwalten.
halfboolFalseAktiviert die Halbe-Präzision (FP16)-Berechnung, was die Speicherauslastung reduziert und potenziell die Geschwindigkeit bei minimalen Auswirkungen auf die Genauigkeit erhöht.
devicestrNoneGibt das Gerät für die Validierung an (cpu, cuda:0, npu, npu:0 usw.). Wenn None, wird automatisch das beste verfügbare Gerät ausgewählt. Mehrere CUDA-Geräte können durch Komma getrennt angegeben werden.
dnnboolFalseFalls True, wird das OpenCV DNN-Modul für die ONNX-Modellinferenz verwendet, was eine Alternative zu PyTorch-Inferenzmethoden bietet.
plotsboolTrueWenn auf True gesetzt, werden Plots von Vorhersagen gegenüber der Ground Truth, Konfusionsmatrizen und PR-Kurven zur visuellen Bewertung der Modellleistung generiert und gespeichert.
classeslist[int]NoneGibt eine Liste von Klassen-IDs an, die evaluiert werden sollen. Nützlich, um während der Evaluierung bestimmte Klassen herauszufiltern und sich nur auf diese zu konzentrieren.
rectboolTrueFalls True, wird rechteckige Inferenz für das Batching verwendet, was das Padding reduziert und potenziell Geschwindigkeit sowie Effizienz durch die Verarbeitung von Bildern in ihrem ursprünglichen Seitenverhältnis steigert.
splitstr'val'Bestimmt den Dataset-Split, der für die Validierung verwendet werden soll (val, test oder train). Erlaubt Flexibilität bei der Auswahl des Datensegments für die Leistungsbewertung.
projectstrNoneName des Projektverzeichnisses, in dem Validierungsergebnisse gespeichert werden. Hilft dabei, Ergebnisse verschiedener Experimente oder Modelle zu organisieren.
namestrNoneName des Validierungslaufs. Wird zum Erstellen eines Unterverzeichnisses innerhalb des Projektordners verwendet, in dem Validierungsprotokolle und -ausgaben gespeichert werden.
verboseboolTrueFalls True, werden während des Validierungsprozesses detaillierte Informationen angezeigt, einschließlich klassenspezifischer Metriken, Batch-Fortschritt und zusätzlicher Debugging-Informationen.
save_txtboolFalseFalls True, werden Erkennungsergebnisse in Textdateien gespeichert, eine Datei pro Bild, was für weitere Analysen, benutzerdefinierte Nachbearbeitung oder die Integration mit anderen Systemen nützlich ist.
save_confboolFalseFalls True, werden Konfidenzwerte in den gespeicherten Textdateien eingeschlossen, wenn save_txt aktiviert ist, was detailliertere Ausgaben für Analysen und Filterungen bereitstellt.
workersint8Anzahl der Worker-Threads für das Laden von Daten. Höhere Werte können die Datenvorverarbeitung beschleunigen, aber möglicherweise den CPU-Verbrauch erhöhen. Die Einstellung auf 0 verwendet den Hauptthread, was in einigen Umgebungen stabiler sein kann.
augmentboolFalseAktiviert Test-Time Augmentation (TTA) während der Validierung, was potenziell die Erkennungsgenauigkeit auf Kosten der Inferenzgeschwindigkeit verbessert, indem Inferenz auf transformierten Versionen der Eingabe ausgeführt wird.
agnostic_nmsboolFalseAktiviert 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 Klassenlabels erscheint (IoU=1.0 Duplikate), und führt keine IoU-schwellenwertbasierte Unterdrückung zwischen verschiedenen Boxen durch.
single_clsboolFalseBehandelt alle Klassen während der Validierung als eine einzige Klasse. 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 Debugging und Modellinterpretation.
show_labelsboolTrueZeigt Klassenlabels in Validierungsvisualisierungen an, wenn visualize=True. Auf False setzen für eine sauberere Ansicht der Treffer und Fehler.
show_confboolTrueZeigt Konfidenzwerte in Validierungsvisualisierungen an, wenn visualize=True. Auf False setzen für eine sauberere Ansicht der Treffer und Fehler.
compilebool oder strFalseAktiviert die PyTorch 2.x torch.compile Graph-Kompilierung mit backend='inductor'. Akzeptiert True"default", False → deaktiviert, oder einen String-Modus wie "default", "reduce-overhead", "max-autotune-no-cudagraphs". Fällt bei Nichtunterstützung mit einer Warnung auf Eager 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 durchführen, was es dir zusätzlich ermöglicht, das iou-Argument zu nutzen.

Sorgfältiges Tuning und Experimentieren sind entscheidend, um optimale Leistung zu gewährleisten und Overfitting zu erkennen und zu verhindern.

Val Guide

Link to this sectionExport-Einstellungen#

Export-Einstellungen für YOLO-Modelle beinhalten Konfigurationen zum Speichern oder Exportieren des Modells zur Verwendung in verschiedenen Umgebungen. Diese Einstellungen beeinflussen Leistung, Größe und Kompatibilität. Zu den wichtigsten Einstellungen gehören das exportierte Dateiformat (z. B. ONNX, TensorFlow SavedModel), das Zielgerät (z. B. CPU, GPU) und Funktionen wie Masken. Die Aufgabe des Modells und die Beschränkungen der Zielumgebung beeinflussen ebenfalls den Exportprozess.

ArgumentTypStandardBeschreibung
formatstr'torchscript'Zielformat für das exportierte Modell, wie 'onnx', 'torchscript', 'engine' (TensorRT) oder andere. Jedes Format ermöglicht Kompatibilität mit verschiedenen Bereitstellungsumgebungen.
imgszint oder tuple640Gewünschte Bildgröße für den Modelleingang. Kann eine Ganzzahl für quadratische Bilder (z. B. 640 für 640×640) oder ein Tupel (height, width) für spezifische Dimensionen sein.
kerasboolFalseAktiviert 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 wird eine höhere Compiler-Optimierung aktiviert, die die Inferenzlatenz reduziert und die Kompilierungszeit erhöht.
halfboolFalseAktiviert FP16-Quantisierung (Halbpräzision), reduziert die Modellgröße und beschleunigt potenziell die Inferenz auf unterstützter Hardware. Nicht kompatibel mit INT8-Quantisierung oder reinen CPU-Exporten. Nur für bestimmte Formate verfügbar, z. B. ONNX (siehe unten).
int8boolFalseAktiviert INT8-Quantisierung, komprimiert das Modell weiter und beschleunigt die Inferenz mit minimalem Genauigkeitsverlust, hauptsächlich für Edge-Geräte. Bei Verwendung mit TensorRT wird Post-Training-Quantization (PTQ) durchgeführt.
dynamicboolFalseErlaubt dynamische Eingabegrößen für TorchScript-, ONNX-, OpenVINO-, TensorRT- und CoreML-Exporte, was die Flexibilität beim Umgang mit variierenden Bilddimensionen erhöht.
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 für die Kompatibilität mit verschiedenen ONNX-Parsern und Runtimes an. Wenn nicht festgelegt, wird die neueste unterstützte Version verwendet.
workspacefloat oder NoneNoneLegt die maximale Workspace-Größe in GiB für TensorRT-Optimierungen fest und balanciert Speichernutzung und Leistung. 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 Export Formats), was die Effizienz der Erkennungs-Nachbearbeitung verbessert. Nicht verfügbar für End2End-Modelle.
batchint1Gibt die Batch-Inferenzgröße für das exportierte Modell an oder die maximale Anzahl an Bildern, die das exportierte Modell gleichzeitig im predict-Modus verarbeitet. Für Edge-TPU-Exporte 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. Falls bei aktiviertem INT8 nicht angegeben, wird coco8.yaml als Fallback für die Kalibrierung verwendet.
fractionfloat1.0Gibt den Anteil des Datasets an, der für die INT8-Quantisierungskalibrierung verwendet werden soll. Ermöglicht die Kalibrierung auf einer Teilmenge des gesamten Datasets, nützlich für Experimente oder bei begrenzten Ressourcen. Falls bei aktiviertem INT8 nicht angegeben, wird das gesamte Dataset verwendet.
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 diese Modelle so exportieren, dass sie mit der traditionellen NMS-basierten Nachbearbeitungs-Pipeline kompatibel sind. Siehe den End-to-End Detection Guide 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 Guide

Link to this sectionSolutions-Einstellungen#

Ultralytics Solutions-Konfigurationseinstellungen bieten Flexibilität, um Modelle für Aufgaben wie Objektzählung, Heatmap-Erstellung, Workout-Tracking, Datenanalyse, Zonentracking, 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ähler im Videostream angezeigt werden sollen.
show_outboolTrueFlag zur Steuerung, ob die 'out'-Zähler im Videostream angezeigt werden sollen.
analytics_typestr'line'Art des Diagramms, z. B. line, bar, area oder pie.
colormapintcv2.COLORMAP_DEEPGREENZu verwendende Farbkarte für die Heatmap.
json_filestrNonePfad zur JSON-Datei, die alle Parkkoordinatendaten enthält.
up_anglefloat145.0Winkelschwellenwert für die 'up'-Pose.
kptslist[int]'[6, 8, 10]'Liste von drei Keypoint-Indizes für die Workout-Überwachung. Diese 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 Stärke der Weichzeichnung an, mit Werten im Bereich 0.1 - 1.0.
crop_dirstr'cropped-detections'Verzeichnisname zum Speichern der zugeschnittenen Detektionen.
recordsint5Gesamtzahl der Detektionen, um eine E-Mail mit dem Sicherheitsalarmsystem auszulösen.
vision_pointtuple[int, int](20, 20)Der Punkt, an dem VisionEye Objekte verfolgt und Pfade zeichnet.
sourcestrNonePfad zur Eingangsquelle (Video, RTSP, etc.). Nur mit dem Solutions-CLI (Command Line Interface) verwendbar.
figsizetuple[int, int](12.8, 7.2)Figurengröße für analytische Diagramme wie Heatmaps oder Graphen.
fpsfloat30.0Bilder pro Sekunde für Geschwindigkeitsberechnungen.
max_histint5Maximale Anzahl historischer Punkte pro Objekt für Geschwindigkeits-/Richtungsberechnungen.
meter_per_pixelfloat0.05Skalierungsfaktor für die Umrechnung von Pixelabständen in reale Einheiten.
max_speedint120Maximales Geschwindigkeitslimit in visuellen Overlays (verwendet für Warnungen).
datastr'images'Pfad zum Bildverzeichnis für die Ähnlichkeitssuche.
imgszint640Eingangsbildgröße für die Modellinferenz.

Solutions Guide

Link to this sectionAugmentierungs-Einstellungen#

Datenaugmentierung-Techniken sind essenziell, um die Robustheit und Leistung von YOLO-Modellen zu verbessern, indem Variabilität in die Trainingsdaten eingebracht wird, was dem Modell hilft, besser auf ungesehene Daten zu generalisieren. Die folgende Tabelle skizziert den Zweck und die Wirkung jedes Augmentierungsarguments:

ArgumentTypStandardUnterstützte AufgabenBereichBeschreibung
hsv_hfloat0.015detect, segment, pose, obb, classify0.0 - 1.0Passt den Farbton (Hue) des Bildes um einen Bruchteil des Farbkreises an und führt so Farbvariabilität ein. Hilft dem Modell, über verschiedene Lichtverhältnisse hinweg zu generalisieren.
hsv_sfloat0.7detect, segment, pose, obb, classify0.0 - 1.0Ändert die Sättigung (Saturation) des Bildes um einen Bruchteil und beeinflusst so die Intensität der Farben. 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, unter verschiedenen Lichtverhältnissen gut zu funktionieren.
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 dabei hilft, teilweise sichtbare Objekte erkennen zu lernen.
scalefloat0.5detect, segment, pose, obb, classify0 - 1Skaliert das Bild um einen Verstärkungsfaktor und simuliert so Objekte in unterschiedlichen Entfernungen von der Kamera.
shearfloat0detect, segment, pose, obb-180 - +180Schert das Bild um einen angegebenen Grad, was den Effekt nachahmt, dass Objekte aus verschiedenen Winkeln betrachtet werden.
perspectivefloat0detect, segment, pose, obb0.0 - 0.001Wendet eine zufällige perspektivische Transformation auf das Bild an und verbessert so das Verständnis des Modells für Objekte im 3D-Raum.
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 erlernen 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 und simuliert verschiedene Szenenzusammensetzungen und Objektinteraktionen. 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 die Einführung von Label-Rauschen und visueller Variabilität.
cutmixfloat0detect, segment, pose, obb0.0 - 1.0Kombiniert Teile von zwei Bildern, was eine teilweise Vermischung unter Beibehaltung klarer Regionen erzeugt. Erhöht die Modellrobustheit durch die Schaffung von Verdeckungsszenarien.
copy_pastefloat0segment0.0 - 1.0Kopiert und fügt Objekte über Bilder hinweg ein, um die Anzahl der Objektinstanzen zu erhöhen.
copy_paste_modestrflipsegment-Legt die zu verwendende copy-paste-Strategie fest. Zu den Optionen gehören '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 im Bild, um das Modell dazu zu ermutigen, sich auf weniger offensichtliche Merkmale zu konzentrieren.
augmentationslist``detect, segment, pose, obb-Benutzerdefinierte Albumentations-Transformationen für fortgeschrittene Datenaugmentierung (nur Python API). Akzeptiert eine Liste von Transformations-Objekten für spezielle Augmentierungsanforderungen.

Passe diese Einstellungen an, um Dataset- und Aufgabenanforderungen zu erfüllen. Das Experimentieren mit verschiedenen Werten kann dabei helfen, die optimale Augmentierungsstrategie für die beste Modellleistung zu finden.

Augmentation Guide

Link to this sectionLogging-, Checkpoint- und Plotting-Einstellungen#

Logging, Checkpoints, Plotting und Dateiverwaltung sind wichtig beim Training eines YOLO-Modells:

  • Logging: Verfolge den Fortschritt des Modells und diagnostiziere Probleme unter Verwendung von Bibliotheken wie TensorBoard oder durch 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 Leistung und Trainingsfortschritt unter Verwendung von Bibliotheken wie Matplotlib oder TensorBoard.
  • Dateiverwaltung: Organisiere während des Trainings generierte Dateien, wie Checkpoints, Protokolldateien und Plots, für einfachen Zugriff und Analyse.

Ein effektives Management dieser Aspekte hilft dabei, den Fortschritt zu verfolgen und erleichtert Debugging und Optimierung.

ArgumentStandardBeschreibung
projectNoneGibt das Stammverzeichnis zum Speichern von Trainingsläufen an. Falls nicht angegeben, werden Läufe unter runs/<task> gespeichert. Jeder Lauf wird in einem separaten Unterverzeichnis gespeichert.
nameNoneDefiniert den Experimentnamen. Falls nicht angegeben, verwendet YOLO den Modusnamen und inkrementiert ihn für jeden Lauf (z. B. train, train-2), um Überschreibungen zu vermeiden.
exist_okFalseBestimmt, ob ein bestehendes Experimentverzeichnis überschrieben werden soll. True erlaubt das Überschreiben; False verhindert es.
plotsTrueSteuert die Erstellung und das Speichern von Trainings- und Validierungsplots. Setze dies auf True, um Plots wie Verlustkurven, Präzisions-Recall-Kurven und Beispielvorhersagen für die visuelle Verfolgung der Leistung zu erstellen.
saveTrueAktiviert das Speichern von Trainings-Checkpoints und endgültigen Modellgewichten. Setze dies auf True, um Modellzustände periodisch zu speichern, was die Wiederaufnahme des Trainings oder die Modellbereitstellung ermöglicht.

Link to this sectionBenutzerdefinierte Konfigurationsdatei#

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

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

Link to this sectionFAQ#

Link to this sectionWie verbessere ich die Leistung meines YOLO-Modells während des Trainings?#

Verbessere die Leistung durch das Tuning von Hyperparametern wie Batchgröße, Lernrate, Momentum und Weight Decay. Passe Datenaugmentierung-Einstellungen an, wähle den richtigen Optimizer und verwende Techniken wie Early Stopping oder gemischte Präzision. Details findest du im Train Guide.

Link to this sectionWas sind die wichtigsten Hyperparameter für die Genauigkeit von YOLO-Modellen?#

Wichtige Hyperparameter, die die Genauigkeit beeinflussen, sind:

  • Batchgröße (batch): Größere Größen können das Training stabilisieren, benötigen aber mehr Speicher.
  • Lernrate (lr0): Kleinere Raten bieten feinere Anpassungen, aber langsamere Konvergenz.
  • Momentum (momentum): Beschleunigt Gradientenvektoren und dämpft Oszillationen.
  • Bildgröße (imgsz): Größere Größen verbessern die Genauigkeit, erhöhen aber die Rechenlast.

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

Link to this sectionWie stelle ich die Lernrate für das Training eines YOLO-Modells ein?#

Die Lernrate (lr0) ist entscheidend; starte 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.

Link to this sectionWas sind die Standard-Inferenzeinstellungen für YOLO-Modelle?#

Standardeinstellungen beinhalten:

  • Konfidenzschwellenwert (conf=0.25): Minimale Konfidenz für Erkennungen.
  • IoU-Schwellenwert (iou=0.7): Für Non-Maximum Suppression (NMS).
  • Bildgröße (imgsz=640): Ändert die Größe der Eingabebilder.
  • Gerät (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.

Link to this sectionWarum Training mit gemischter Präzision bei YOLO-Modellen verwenden?#

Training mit gemischter Präzision (amp=True) reduziert den Speicherverbrauch und beschleunigt das Training unter Verwendung von FP16 und FP32. Dies ist vorteilhaft für moderne GPUs und ermöglicht größere Modelle sowie schnellere Berechnungen ohne signifikanten Genauigkeitsverlust. Erfahre mehr im Train Guide.

Kommentare