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 Phasen beeinflussen, einschließlich Training, Validierung und Vorhersage.
Ansehen: Ultralytics YOLO meistern: Konfiguration
Ansehen: Ultralytics YOLO meistern: Konfiguration
Ultralytics-Befehle verwenden die folgende Syntax:
Beispiel
yolo TASK MODE ARGS
from ultralytics import YOLO
# Load a YOLO model from a pre-trained weights file
model = YOLO("yolo11n.pt")
# Run MODE mode using the custom arguments ARGS (guess TASK)
model.MODE(ARGS)
Wobei:
TASK
(optional) ist eines von (detect, segmentieren, klassifizieren, Pose, OBB)MODE
(erforderlich) ist eine von (trainieren, validieren, vorhersagen, exportieren, verfolgen, Benchmark)ARGS
(optional) sindarg=value
Paare wieimgsz=640
die Standardwerte überschreiben.
Standard ARG
Werte werden auf dieser Seite definiert und stammen von der cfg/defaults.yaml
Datei definiert.
Aufgaben
Ultralytics YOLO Modelle können eine Vielzahl von Computer-Vision-Aufgaben ausführen, darunter:
- Erkennen: Objekterkennung identifiziert und lokalisiert Objekte innerhalb eines Bildes oder Videos.
- Segmentierung: Die Instanzsegmentierung unterteilt ein Bild oder Video in Regionen, die verschiedenen Objekten oder Klassen entsprechen.
- Klassifizieren: Bildklassifizierung sagt die Klassenbezeichnung eines Eingangsbildes voraus.
- Pose: Die Pose-Schätzung identifiziert Objekte und schätzt ihre Keypoints in einem Bild oder Video.
- OBB: Oriented Bounding Boxes verwendet gedrehte Begrenzungsrahmen, geeignet für Satelliten- oder medizinische Bilder.
Argument | Standard | Beschreibung |
---|---|---|
task |
'detect' |
Gibt die YOLO-Aufgabe an: detect für Objekterkennung durchzuführen, segment für die Segmentierung, classify für die Klassifizierung, pose für die Pose-Schätzung, und obb für orientierte Begrenzungsrahmen. Jede Aufgabe ist auf spezifische Ausgaben und Probleme in der Bild- und Videoanalyse zugeschnitten. |
Modi
Ultralytics YOLO Modelle arbeiten in verschiedenen Modi, die jeweils für eine bestimmte Phase des Modelllebenszyklus entwickelt wurden:
- Trainieren: Trainieren Sie ein YOLO-Modell auf einem benutzerdefinierten Datensatz.
- Val: Validiert ein trainiertes YOLO-Modell.
- Vorhersagen: Verwenden Sie ein trainiertes YOLO-Modell, um Vorhersagen auf neuen Bildern oder Videos zu treffen.
- Exportieren: Exportieren Sie ein YOLO-Modell zur Bereitstellung.
- Track: Verfolgen Sie Objekte in Echtzeit mit einem YOLO-Modell.
- Benchmark: Testen Sie die Geschwindigkeit und Genauigkeit von YOLO-Exporten (ONNX, TensorRT usw.).
Argument | Standard | Beschreibung |
---|---|---|
mode |
'train' |
Gibt den Betriebsmodus des YOLO-Modells an: train für das Modelltraining, val zur Validierung, predict für die Inferenz, export zur Konvertierung in Bereitstellungsformate, track zur Objektverfolgung und benchmark zur Leistungsbewertung. Jeder Modus unterstützt verschiedene Phasen, von der Entwicklung bis zur Bereitstellung. |
Trainingseinstellungen
Die Trainingseinstellungen für YOLO-Modelle umfassen Hyperparameter und Konfigurationen, die die Leistung, Geschwindigkeit und Genauigkeit des Modells beeinflussen. Zu den wichtigsten Einstellungen gehören Batch-Größe, Lernrate, Momentum und Gewichtungsabfall. Die Wahl des Optimierers, der Verlustfunktion und der Zusammensetzung des Datensatzes wirken sich ebenfalls auf das Training aus. Feinabstimmung und Experimente sind entscheidend für eine optimale Leistung. Weitere Informationen finden Sie im Ultralytics-Einstiegspunkt.
Argument | Typ | Standard | Beschreibung |
---|---|---|---|
model |
str |
None |
Gibt die Modelldatei für das Training an. Akzeptiert einen Pfad zu einem .pt vorab trainierten Modell oder einer .yaml Konfigurationsdatei. Wesentlich für die Definition der Modellstruktur oder die Initialisierung von Gewichten. |
data |
str |
None |
Pfad zur Dataset-Konfigurationsdatei (z. B. coco8.yaml ). Diese Datei enthält datasetspezifische Parameter, einschließlich Pfade zum Training und Validierungsdaten, Klassennamen und Anzahl der Klassen. |
epochs |
int |
100 |
Gesamtzahl der Trainingsepochen. Jede Epoche stellt einen vollständigen Durchlauf über den gesamten Datensatz dar. Die Anpassung dieses Wertes kann die Trainingsdauer und die Modellleistung beeinflussen. |
time |
float |
None |
Maximale Trainingszeit in Stunden. Falls festgelegt, überschreibt dies das epochs Argument, wodurch das Training automatisch nach der angegebenen Dauer beendet werden kann. Nützlich für zeitlich begrenzte Trainingsszenarien. |
patience |
int |
100 |
Anzahl der Epochen, die ohne Verbesserung der Validierungsmetriken gewartet werden soll, bevor das Training vorzeitig beendet wird. Hilft, Overfitting zu verhindern, indem das Training gestoppt wird, wenn die Leistung ein Plateau erreicht. |
batch |
int oder float |
16 |
Batch-Größe, mit drei Modi: festgelegt als ganze Zahl (z. B. batch=16 ),batch=-1 Auto-Modus für 60 % GPU-Speicherauslastung (batch=0.70 ), oder Auto-Modus mit angegebener Auslastungsfraktion ( |
imgsz |
int |
640 |
Zielbildgröße für das Training. Bilder werden auf Quadrate mit Seiten gleich dem angegebenen Wert skaliert (falls rect=False ), wobei das Seitenverhältnis für YOLO-Modelle beibehalten wird, nicht aber für RTDETR. Beeinflusst das Modell Genauigkeit und die Rechenkomplexität. |
save |
bool |
True |
Zielbildgröße für das Training. Alle Bilder werden auf diese Dimension skaliert, bevor sie in das Modell eingespeist werden. Beeinflusst die Genauigkeit des Modells und die Rechenkomplexität. |
save_period |
int |
-1 |
Ermöglicht das Speichern von Trainings-Checkpoints und finalen Modellgewichten. Nützlich, um das Training fortzusetzen oder das Modell bereitzustellen. |
cache |
bool |
False |
Frequenz, mit der Modell-Checkpoints gespeichert werden, angegeben in Epochen. Ein Wert von -1 deaktiviert diese Funktion. Nützlich, um Zwischenmodelle während langer Trainingseinheiten zu speichern.True /ram Ermöglicht das Caching von Datensatzbildern im Speicher (disk ), auf der Festplatte (False ), oder deaktiviert es ( |
device |
int oder str oder list |
None |
Spezifiziert die Rechengeräte für das Training: eine einzelne GPU (device=0 ), mehrere GPUs (device=[0,1] ), CPU (device=cpu ), MPS für Apple Silicon (device=mps ), oder die automatische Auswahl der am wenigsten ausgelasteten GPU (device=-1 ) oder mehrere unbeschäftigte GPUs (device=[-1,-1] ) |
workers |
int |
8 |
GPU RANK GPU bei Multi-GPU-Training). Beeinflusst die Geschwindigkeit der Datenvorverarbeitung und das Einspeisen in das Modell, besonders nützlich bei Multi-GPU-Setups. |
project |
str |
None |
Name des Projektverzeichnisses, in dem die Trainingsausgaben gespeichert werden. Ermöglicht die organisierte Speicherung verschiedener Experimente. |
name |
str |
None |
Name des Trainingslaufs. Wird verwendet, um ein Unterverzeichnis innerhalb des Projektordners zu erstellen, in dem Trainingsprotokolle und -ausgaben gespeichert werden. |
exist_ok |
bool |
False |
Wenn True, erlaubt das Überschreiben eines bestehenden Projekt/Name-Verzeichnisses. Nützlich für iterative Experimente, ohne dass vorherige Ausgaben manuell gelöscht werden müssen. |
pretrained |
bool oder str |
True |
Bestimmt, ob das Training mit einem vortrainierten Modell gestartet werden soll. Kann ein boolescher Wert oder ein String-Pfad zu einem bestimmten Modell sein, von dem die Gewichte geladen werden sollen. Verbessert die Trainingseffizienz und die Modellleistung. |
optimizer |
str |
'auto' |
Auswahl des Optimierers für das Training. Optionen umfassen SGD , Adam , AdamW , NAdam , RAdam , RMSProp etc. oder auto für die automatische Auswahl basierend auf der Modellkonfiguration. Beeinflusst die Konvergenzgeschwindigkeit und -stabilität. |
seed |
int |
0 |
Legt den Zufallsseed für das Training fest und gewährleistet so die Reproduzierbarkeit der Ergebnisse über Läufe mit den gleichen Konfigurationen hinweg. |
deterministic |
bool |
True |
Erzwingt die Verwendung deterministischer Algorithmen, wodurch die Reproduzierbarkeit gewährleistet wird, aber die Leistung und Geschwindigkeit aufgrund der Beschränkung auf nicht-deterministische Algorithmen beeinträchtigt werden können. |
single_cls |
bool |
False |
Behandelt alle Klassen in Multi-Klassen-Datensätzen während des Trainings als eine einzige Klasse. Nützlich für binäre Klassifizierungsaufgaben oder wenn der Fokus auf der Objekterkennung und nicht auf der Klassifizierung liegt. |
classes |
list[int] |
None |
Gibt eine Liste von Klassen-IDs an, auf denen trainiert werden soll. Nützlich, um während des Trainings bestimmte Klassen herauszufiltern und sich nur auf diese zu konzentrieren. |
rect |
bool |
False |
Aktiviert 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 gleich imgsz ist. Kann die Effizienz und Geschwindigkeit verbessern, aber die Modellgenauigkeit beeinträchtigen. |
multi_scale |
bool |
False |
Ermöglicht Multi-Scale-Training durch Erhöhen/Verringern imgsz um bis zu einem Faktor von 0.5 während des Trainings. Trainiert das Modell, um mit mehreren genauer zu sein imgsz während der Inferenz. |
cos_lr |
bool |
False |
Verwendet einen Cosinus-Lernraten-Scheduler, der die Lernrate über Epochen hinweg gemäß einer Cosinuskurve anpasst. Hilft bei der Steuerung der Lernrate für eine bessere Konvergenz. |
close_mosaic |
int |
10 |
Deaktiviert die Mosaik-Datenerweiterung in den letzten N Epochen, um das Training vor Abschluss zu stabilisieren. Wenn der Wert auf 0 gesetzt ist, wird diese Funktion deaktiviert. |
resume |
bool |
False |
Setzt das Training vom letzten gespeicherten Checkpoint fort. Lädt automatisch Modellgewichte, Optimierungsstatus und Epochenanzahl und setzt das Training nahtlos fort. |
amp |
bool |
True |
Aktiviert das automatische Mixed Precision (AMP)-Training, wodurch der Speicherverbrauch reduziert und möglicherweise das Training beschleunigt wird, ohne die Genauigkeit wesentlich zu beeinträchtigen. |
fraction |
float |
1.0 |
Gibt den Bruchteil des Datensatzes an, der für das Training verwendet werden soll. Ermöglicht das Training mit einer Teilmenge des vollständigen Datensatzes, was für Experimente oder bei begrenzten Ressourcen nützlich ist. |
profile |
bool |
False |
Ermöglicht die Profilerstellung von ONNX- und TensorRT-Geschwindigkeiten während des Trainings, was für die Optimierung der Modellbereitstellung nützlich ist. |
freeze |
int oder list |
None |
Friert die ersten N Schichten des Modells oder die angegebenen Schichten nach Index ein, wodurch die Anzahl der trainierbaren Parameter reduziert wird. Nützlich für Feinabstimmung oder Transferlernen. |
lr0 |
float |
0.01 |
Anfängliche Lernrate (d.h. SGD=1E-2 , Adam=1E-3 ). Die Anpassung dieses Wertes ist entscheidend für den Optimierungsprozess und beeinflusst, wie schnell die Modellgewichte aktualisiert werden. |
lrf |
float |
0.01 |
Endgültige Lernrate als Bruchteil der anfänglichen Rate = (lr0 * lrf ), die in Verbindung mit Schedulern verwendet wird, um die Lernrate im Laufe der Zeit anzupassen. |
momentum |
float |
0.937 |
Momentum-Faktor für SGD oder Beta1 für Adam-Optimierer, der die Einbeziehung vergangener Gradienten in die aktuelle Aktualisierung beeinflusst. |
weight_decay |
float |
0.0005 |
L2-Regularisierungsterm, der große Gewichte bestraft, um Overfitting zu verhindern. |
warmup_epochs |
float |
3.0 |
Anzahl 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_momentum |
float |
0.8 |
Anfängliches Momentum für die Warmup-Phase, das schrittweise an das eingestellte Momentum über den Warmup-Zeitraum angepasst wird. |
warmup_bias_lr |
float |
0.1 |
Lernrate für Bias-Parameter während der Aufwärmphase, die dazu beiträgt, das Modelltraining in den ersten Epochen zu stabilisieren. |
box |
float |
7.5 |
Gewichtung der Box-Loss-Komponente in der Loss-Funktion, die beeinflusst, wie viel Wert auf die genaue Vorhersage von Bounding-Box-Koordinaten gelegt wird. |
cls |
float |
0.5 |
Gewichtung des Klassifizierungs-Loss in der gesamten Loss-Funktion, die die Bedeutung der korrekten Klassen Vorhersage im Verhältnis zu anderen Komponenten beeinflusst. |
dfl |
float |
1.5 |
Gewichtung des Distribution Focal Loss, der in bestimmten YOLO-Versionen für die feinkörnige Klassifizierung verwendet wird. |
pose |
float |
12.0 |
Gewichtung des Pose-Loss in Modellen, die für die Pose-Schätzung trainiert wurden, und die den Schwerpunkt auf die genaue Vorhersage von Pose-Keypoints beeinflusst. |
kobj |
float |
2.0 |
Gewichtung des Keypoint-Objectness-Loss in Pose-Schätzungsmodellen, die das Erkennungsvertrauen mit der Pose-Genauigkeit ausgleicht. |
nbs |
int |
64 |
Nominale Batch-Größe für die Normalisierung des Loss. |
overlap_mask |
bool |
True |
Bestimmt, ob Objektmasken für das Training zu einer einzigen Maske zusammengeführt oder für jedes Objekt separat gehalten werden sollen. Im Falle einer Überlappung wird die kleinere Maske während des Zusammenführens über die größere Maske gelegt. |
mask_ratio |
int |
4 |
Downsample-Verhältnis für Segmentierungsmasken, das die Auflösung der während des Trainings verwendeten Masken beeinflusst. |
dropout |
float |
0.0 |
Dropout-Rate zur Regularisierung bei Klassifizierungsaufgaben, die eine Überanpassung verhindert, indem während des Trainings zufällig Einheiten weggelassen werden. |
val |
bool |
True |
Ermöglicht die Validierung während des Trainings und ermöglicht so die regelmäßige Bewertung der Modellleistung anhand eines separaten Datensatzes. |
plots |
bool |
False |
Erstellt und speichert Diagramme mit Trainings- und Validierungsmetriken sowie Vorhersagebeispiele, die visuelle Einblicke in die Modellleistung und den Lernfortschritt geben. |
Hinweis zu Batch-Size-Einstellungen
Die batch
Argument bietet drei Konfigurationsoptionen:
- Feste Batch-Größe: Geben Sie die Anzahl der Bilder pro Batch mit einer ganzen Zahl an (z. B.
batch=16
), oder Auto-Modus mit angegebener Auslastungsfraktion ( - Auto-Modus (60% GPU-Speicher): Verwenden Sie
batch=-1
zur automatischen Anpassung an ca. 60 % CUDA-Speicherauslastung. - Auto-Modus mit Auslastungsanteil: Legen Sie einen Bruchteil fest (z. B.
batch=0.70
) zur Anpassung basierend auf einer bestimmten GPU-Speichernutzung.
Vorhersageeinstellungen
Die Vorhersageeinstellungen für YOLO-Modelle umfassen Hyperparameter und Konfigurationen, die die Leistung, Geschwindigkeit und Genauigkeit während der Inferenz beeinflussen. Zu den wichtigsten Einstellungen gehören der Konfidenzschwellenwert, der Non-Maximum Suppression (NMS)-Schwellenwert und die Anzahl der Klassen. Die Größe der Eingabedaten, das Format und zusätzliche Funktionen wie Masken beeinflussen ebenfalls die Vorhersagen. Die Optimierung dieser Einstellungen ist für eine optimale Leistung unerlässlich.
Inferenzargumente:
Argument | Typ | Standard | Beschreibung |
---|---|---|---|
source |
str |
'ultralytics/assets' |
Gibt 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. Unterstützt eine breite Palette von Formaten und Quellen und ermöglicht so eine flexible Anwendung über verschiedene Arten von Eingaben hinweg. |
conf |
float |
0.25 |
Legt den minimalen Konfidenzschwellenwert für Erkennungen fest. Objekte, die mit einer Konfidenz unterhalb dieses Schwellenwerts erkannt werden, werden ignoriert. Das Anpassen dieses Werts kann helfen, falsch positive Ergebnisse zu reduzieren. |
iou |
float |
0.7 |
Intersection Over Union (IoU)-Schwellenwert für Non-Maximum Suppression (NMS). Niedrigere Werte führen zu weniger Erkennungen, da überlappende Boxen eliminiert werden, was zur Reduzierung von Duplikaten nützlich ist. |
imgsz |
int oder tuple |
640 |
Definiert die Bildgröße für die Inferenz. Dies kann eine einzelne ganze Zahl 640 für die quadratische Größenänderung oder ein (Höhe, Breite)-Tupel sein. Die richtige Größe kann die Erkennung verbessern Genauigkeit und die Verarbeitungsgeschwindigkeit erhöhen. |
rect |
bool |
True |
Wenn aktiviert, wird die kürzere Seite des Bildes minimal mit Nullen aufgefüllt, bis sie durch den Stride-Wert teilbar ist, um die Inferenzgeschwindigkeit zu verbessern. Wenn deaktiviert, wird das Bild während der Inferenz zu einem Quadrat aufgefüllt. |
half |
bool |
False |
Ermöglicht die Halb-Präzisions-(FP16)-Inferenz, die die Modellinferenz auf unterstützten GPUs mit minimalen Auswirkungen auf die Genauigkeit beschleunigen kann. |
device |
str |
None |
Gibt das Gerät für die Inferenz an (z. B. cpu , cuda:0 oder 0 ). Ermöglicht es Benutzern, zwischen CPU, einer bestimmten GPU oder anderen Rechengeräten für die Modellausführung zu wählen. |
batch |
int |
1 |
Gibt die Batch-Größe für die Inferenz an (funktioniert nur, wenn die Quelle ein Verzeichnis, eine Videodatei oder .txt Datei definiert). Eine größere Batch-Größe kann einen höheren Durchsatz ermöglichen und die für die Inferenz benötigte Gesamtzeit verkürzen. |
max_det |
int |
300 |
Maximale Anzahl von Erkennungen, die pro Bild zulässig sind. Begrenzt die Gesamtzahl der Objekte, die das Modell in einer einzelnen Inferenz erkennen kann, und verhindert so übermäßige Ausgaben in dichten Szenen. |
vid_stride |
int |
1 |
Frame-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_buffer |
bool |
False |
Bestimmt, ob eingehende Frames für Videostreams in die Warteschlange eingereiht werden sollen. Wenn False , alte Frames werden verworfen, um Platz für neue Frames zu schaffen (optimiert für Echtzeitanwendungen). Wenn True , reiht neue Frames in einem Puffer ein, wodurch sichergestellt wird, dass keine Frames übersprungen werden, was jedoch zu Latenz führt, wenn die Inferenz-FPS niedriger ist als die Stream-FPS. |
visualize |
bool |
False |
Aktiviert die Visualisierung von Modellmerkmalen während der Inferenz und bietet Einblicke in das, was das Modell "sieht". Nützlich für das Debugging und die Modellinterpretation. |
augment |
bool |
False |
Aktiviert Testzeit-Augmentierung (TTA) für Vorhersagen, was potenziell die Robustheit der Erkennung auf Kosten der Inferenzgeschwindigkeit verbessert. |
agnostic_nms |
bool |
False |
Aktiviert klassenunabhängige Non-Maximum Suppression (NMS), die überlappende Boxen verschiedener Klassen zusammenführt. Nützlich in Multi-Klassen-Erkennungsszenarien, in denen Klassenüberlappung häufig vorkommt. |
classes |
list[int] |
None |
Filtert Vorhersagen auf eine Menge von Klassen-IDs. Es werden nur Erkennungen zurückgegeben, die zu den angegebenen Klassen gehören. Nützlich, um sich auf relevante Objekte in Multi-Klassen-Erkennungsaufgaben zu konzentrieren. |
retina_masks |
bool |
False |
Gibt hochauflösende Segmentierungsmasken zurück. Die zurückgegebenen Masken (masks.data ) entsprechen der Originalbildgröße, wenn diese aktiviert ist. Wenn sie deaktiviert ist, haben sie die Bildgröße, die während der Inferenz verwendet wurde. |
embed |
list[int] |
None |
Gibt die Layer an, aus denen Feature-Vektoren oder Einbettungen extrahiert werden sollen. Nützlich für nachgelagerte Aufgaben wie Clustering oder Ähnlichkeitssuche. |
project |
str |
None |
Name des Projektverzeichnisses, in dem Vorhersageausgaben gespeichert werden, wenn save aktiviert ist. |
name |
str |
None |
Name des Vorhersagelaufs. Wird zum Erstellen eines Unterverzeichnisses innerhalb des Projektordners verwendet, in dem Vorhersageausgaben gespeichert werden, wenn save aktiviert ist. |
stream |
bool |
False |
Ermöglicht eine speichereffiziente Verarbeitung für lange Videos oder zahlreiche Bilder, indem ein Generator von Ergebnisobjekten zurückgegeben wird, anstatt alle Frames auf einmal in den Speicher zu laden. |
verbose |
bool |
True |
Steuert, ob detaillierte Inferenzprotokolle im Terminal angezeigt werden sollen, um in Echtzeit Feedback zum Vorhersageprozess zu geben. |
Visualisierungsargumente:
Argument | Typ | Standard | Beschreibung |
---|---|---|---|
show |
bool |
False |
Wenn True aktiviert, werden die annotierten Bilder oder Videos in einem Fenster angezeigt. Nützlich für sofortiges visuelles Feedback während der Entwicklung oder des Testens. |
save |
bool |
False or True |
Ermöglicht das Speichern der annotierten Bilder oder Videos in einer Datei. Nützlich für die Dokumentation, weitere Analysen oder das Teilen von Ergebnissen. Standardmäßig auf True gesetzt, wenn die CLI verwendet wird, und auf False, wenn Python verwendet wird. |
save_frames |
bool |
False |
Beim Verarbeiten von Videos werden einzelne Frames als Bilder gespeichert. Nützlich, um bestimmte Frames zu extrahieren oder eine detaillierte Frame-für-Frame-Analyse durchzuführen. |
save_txt |
bool |
False |
Speichert Erkennungsergebnisse in einer Textdatei, wobei folgendes Format verwendet wird: [class] [x_center] [y_center] [width] [height] [confidence] . Nützlich für die Integration mit anderen Analysetools. |
save_conf |
bool |
False |
Fügt Konfidenzwerte in die gespeicherten Textdateien ein. Erweitert die für die Nachbearbeitung und Analyse verfügbaren Details. |
save_crop |
bool |
False |
Speichert zugeschnittene Bilder von Erkennungen. Nützlich für die Datensatzaugmentation, Analyse oder Erstellung fokussierter Datensätze für bestimmte Objekte. |
show_labels |
bool |
True |
Zeigt Beschriftungen für jede Erkennung in der visuellen Ausgabe an. Ermöglicht ein sofortiges Verständnis der erkannten Objekte. |
show_conf |
bool |
True |
Zeigt den Konfidenzwert für jede Erkennung zusammen mit der Beschriftung an. Gibt Einblick in die Sicherheit des Modells für jede Erkennung. |
show_boxes |
bool |
True |
Zeichnet Begrenzungsrahmen um erkannte Objekte. Wesentlich für die visuelle Identifizierung und Lokalisierung von Objekten in Bildern oder Videoframes. |
line_width |
None or int |
None |
Gibt die Linienbreite der Begrenzungsrahmen an. Wenn None , wird die Linienbreite automatisch an die Bildgröße angepasst. Bietet eine visuelle Anpassung für mehr Klarheit. |
Validierungseinstellungen
Validierungseinstellungen für YOLO-Modelle umfassen Hyperparameter und Konfigurationen zur Bewertung der Leistung auf einem Validierungsdatensatz. Diese Einstellungen beeinflussen Leistung, Geschwindigkeit und Genauigkeit. Zu den gängigen Einstellungen gehören Batch-Größe, Validierungshäufigkeit und Leistungsmetriken. Die Größe und Zusammensetzung des Validierungsdatensatzes sowie die spezifische Aufgabe beeinflussen ebenfalls den Prozess.
Argument | Typ | Standard | Beschreibung |
---|---|---|---|
data |
str |
None |
Gibt den Pfad zur Datensatzkonfigurationsdatei an (z. B. coco8.yaml ). Diese Datei enthält Pfade zu Validierungsdaten, Klassennamen und Anzahl der Klassen. |
imgsz |
int |
640 |
Definiert die Größe der Eingabebilder. Alle Bilder werden vor der Verarbeitung auf diese Dimension skaliert. Größere Formate können die Genauigkeit bei kleinen Objekten verbessern, erhöhen aber die Rechenzeit. |
batch |
int |
16 |
Legt die Anzahl der Bilder pro Batch fest. Höhere Werte nutzen den GPU-Speicher effizienter, benötigen aber mehr VRAM. Anpassen basierend auf den verfügbaren Hardwareressourcen. |
save_json |
bool |
False |
Wenn True , speichert die Ergebnisse in einer JSON-Datei zur weiteren Analyse, Integration mit anderen Tools oder zur Einreichung bei Bewertungsservern wie COCO. |
conf |
float |
0.001 |
Legt den minimalen Konfidenzschwellenwert für Erkennungen fest. Niedrigere Werte erhöhen die Trefferquote, können aber mehr falsch positive Ergebnisse verursachen. Wird während der Validierung verwendet, um Precision-Recall-Kurven zu berechnen. |
iou |
float |
0.7 |
Legt den Intersection Over Union-Schwellenwert für die Non-Maximum Suppression fest. Steuert die Eliminierung von Duplikaten. |
max_det |
int |
300 |
Begrenzt die maximale Anzahl von Erkennungen pro Bild. Nützlich in dichten Szenen, um übermäßige Erkennungen zu verhindern und Rechenressourcen zu verwalten. |
half |
bool |
True |
Aktiviert die Halb-precision (FP16)-Berechnung, wodurch der Speicherverbrauch reduziert und potenziell die Geschwindigkeit erhöht wird, mit minimalen Auswirkungen auf die Genauigkeit. |
device |
str |
None |
Gibt das Gerät für die Validierung an (cpu , cuda:0 , usw.). Wenn None , wählt automatisch das beste verfügbare Gerät aus. Mehrere CUDA-Geräte können durch Kommas getrennt angegeben werden. |
dnn |
bool |
False |
Wenn True , verwendet das OpenCV DNN-Modul für die ONNX-Modellinferenz, das eine Alternative zu PyTorch Inferenzmethoden bietet. |
plots |
bool |
False |
Wenn aktiviert, True , generiert und speichert Diagramme von Vorhersagen im Vergleich zur Ground Truth, Konfusionsmatrizen und PR-Kurven zur visuellen Bewertung der Modellleistung. |
classes |
list[int] |
None |
Gibt eine Liste von Klassen-IDs an, auf denen trainiert werden soll. Nützlich, um bestimmte Klassen während der Evaluierung herauszufiltern und sich nur auf diese zu konzentrieren. |
rect |
bool |
True |
Wenn True , verwendet rechteckige Inferenz für Batch-Verarbeitung, wodurch das Padding reduziert und potenziell die Geschwindigkeit und Effizienz durch die Verarbeitung von Bildern in ihrem ursprünglichen Seitenverhältnis erhöht wird. |
split |
str |
'val' |
Bestimmt die Datensatzaufteilung, die für die Validierung verwendet werden soll (val , test , oder train ). Ermöglicht Flexibilität bei der Auswahl des Datensegments für die Leistungsbewertung. |
project |
str |
None |
Name des Projektverzeichnisses, in dem Validierungsausgaben gespeichert werden. Hilft bei der Organisation von Ergebnissen aus verschiedenen Experimenten oder Modellen. |
name |
str |
None |
Name des Validierungslaufs. Wird verwendet, um ein Unterverzeichnis innerhalb des Projektordners zu erstellen, in dem Validierungsprotokolle und -ausgaben gespeichert werden. |
verbose |
bool |
False |
Wenn True , zeigt detaillierte Informationen während des Validierungsprozesses an, einschließlich Metriken pro Klasse, Batch-Fortschritt und zusätzlichen Debugging-Informationen. |
save_txt |
bool |
False |
Wenn True , speichert Erkennungsergebnisse in Textdateien, mit einer Datei pro Bild, nützlich für weitere Analysen, benutzerdefinierte Nachbearbeitung oder die Integration mit anderen Systemen. |
save_conf |
bool |
False |
Wenn True , enthält Konfidenzwerte in den gespeicherten Textdateien, wenn save_txt ist aktiviert und bietet eine detailliertere Ausgabe für Analyse und Filterung. |
workers |
int |
8 |
Anzahl der Worker-Threads für das Laden von Daten. Höhere Werte können die Datenvorverarbeitung beschleunigen, aber die CPU-Auslastung erhöhen. Die Einstellung 0 verwendet den Haupt-Thread, der in einigen Umgebungen stabiler sein kann. |
augment |
bool |
False |
Ermöglicht Testzeit-Augmentation (TTA) während der Validierung, was potenziell die Erkennungsgenauigkeit auf Kosten der Inferenzgeschwindigkeit verbessert, indem die Inferenz auf transformierten Versionen der Eingabe ausgeführt wird. |
agnostic_nms |
bool |
False |
Ermöglicht klassenunabhängige Non-Maximum Suppression, die überlappende Boxen unabhängig von ihrer vorhergesagten Klasse zusammenführt. Nützlich für instanzfokussierte Anwendungen. |
single_cls |
bool |
False |
Behandelt alle Klassen während der Validierung als eine einzige Klasse. Dies ist nützlich, um die Modellleistung bei binären Erkennungsaufgaben zu bewerten oder wenn Klassenunterscheidungen keine Rolle spielen. |
visualize |
bool |
False |
Visualisiert die Ground Truths, True Positives, False Positives und False Negatives für jedes Bild. Nützlich für das Debugging und die Modellinterpretation. |
Sorgfältige Abstimmung und Experimente sind entscheidend, um eine optimale Leistung sicherzustellen und Überanpassung zu erkennen und zu verhindern.
Exporteinstellungen
Die Exporteinstellungen für YOLO-Modelle umfassen Konfigurationen zum Speichern oder Exportieren des Modells zur Verwendung in verschiedenen Umgebungen. Diese Einstellungen wirken sich auf Leistung, Größe und Kompatibilität aus. 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 Einschränkungen der Zielumgebung beeinflussen ebenfalls den Exportprozess.
Argument | Typ | Standard | Beschreibung |
---|---|---|---|
format |
str |
'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. |
imgsz |
int oder tuple |
640 |
Gewünschte Bildgröße für die Modelleingabe. Kann eine ganze Zahl für quadratische Bilder sein (z. B. 640 für 640×640) oder ein Tupel (height, width) für bestimmte Abmessungen sein. |
keras |
bool |
False |
Ermöglicht den Export in das Keras-Format für TensorFlow SavedModel und bietet Kompatibilität mit TensorFlow Serving und APIs. |
optimize |
bool |
False |
Wendet die Optimierung für mobile Geräte beim Exportieren nach TorchScript an, wodurch potenziell die Modellgröße reduziert und die Inferenz-Leistung verbessert wird. Nicht kompatibel mit dem NCNN-Format oder CUDA-Geräten. |
half |
bool |
False |
Aktiviert die FP16-Quantisierung (halbe Präzision), wodurch die Modellgröße reduziert und die Inferenz auf unterstützter Hardware potenziell beschleunigt wird. Nicht kompatibel mit INT8-Quantisierung oder CPU-only-Exporten für ONNX. |
int8 |
bool |
False |
Aktiviert die INT8-Quantisierung, wodurch das Modell weiter komprimiert und die Inferenz mit minimalem Genauigkeitsverlust beschleunigt wird, hauptsächlich für Edge-Geräte. Bei Verwendung mit TensorRT wird eine Post-Training-Quantisierung (PTQ) durchgeführt. |
dynamic |
bool |
False |
Ermöglicht dynamische Eingabegrößen für ONNX-, TensorRT- und OpenVINO-Exporte, wodurch die Flexibilität bei der Verarbeitung unterschiedlicher Bilddimensionen erhöht wird. Automatisch gesetzt auf True bei Verwendung von TensorRT mit INT8. |
simplify |
bool |
True |
Vereinfacht den Modellgraphen für ONNX-Exporte mit onnxslim , was potenziell die Leistung und Kompatibilität mit Inferenz-Engines verbessert. |
opset |
int |
None |
Gibt die ONNX-Opset-Version für die Kompatibilität mit verschiedenen ONNX-Parsern und -Laufzeitumgebungen an. Wenn nicht festgelegt, wird die neueste unterstützte Version verwendet. |
workspace |
float oder None |
None |
Legt die maximale Workspace-Größe in GiB fest für TensorRT Optimierungen, die ein Gleichgewicht zwischen Speichernutzung und Leistung herstellen. Verwenden Sie None zur automatischen Zuweisung durch TensorRT bis zum Gerätemaximum. |
nms |
bool |
False |
Fügt dem exportierten Modell, falls unterstützt, Non-Maximum Suppression (NMS) hinzu (siehe Exportformate), wodurch die Effizienz der Nachbearbeitung der Erkennung verbessert wird. Nicht verfügbar für End-to-End-Modelle. |
batch |
int |
1 |
Gibt die Batch-Inferenzgröße des Exportmodells oder die maximale Anzahl von Bildern an, die das exportierte Modell gleichzeitig verarbeitet in predict Modus. Für Edge TPU-Exporte wird dies automatisch auf 1 gesetzt. |
device |
str |
None |
Gibt das Gerät für den Export an: GPU (device=0 ), CPU (device=cpu ), MPS für Apple Silicon (device=mps ) oder DLA für NVIDIA Jetson (device=dla:0 oder device=dla:1 ). TensorRT-Exporte verwenden automatisch die GPU. |
data |
str |
'coco8.yaml' |
Pfad zu der Datensatz Konfigurationsdatei (Standard: coco8.yaml ), unerlässlich für die INT8-Quantisierungskalibrierung. Wenn nicht mit aktivierter INT8 angegeben, wird ein Standard-Datensatz zugewiesen. |
fraction |
float |
1.0 |
Gibt den Bruchteil des Datensatzes an, der für die INT8-Quantisierungskalibrierung verwendet werden soll. Ermöglicht die Kalibrierung auf einer Teilmenge des vollständigen Datensatzes, was für Experimente oder bei begrenzten Ressourcen nützlich ist. Wenn nicht mit aktiviertem INT8 angegeben, wird der vollständige Datensatz verwendet. |
Eine durchdachte Konfiguration stellt sicher, dass das exportierte Modell für seinen Anwendungsfall optimiert ist und in der Zielumgebung effektiv funktioniert.
Lösungseinstellungen
Die Konfigurationseinstellungen von Ultralytics Solutions bieten Flexibilität bei der Anpassung von Modellen für Aufgaben wie Objektzählung, Heatmap-Erstellung, Trainingsverfolgung, Datenanalyse, Zonenverfolgung, Warteschlangenverwaltung und regionenbasierte Zählung. Diese Optionen ermöglichen einfache Anpassungen für genaue und nützliche Ergebnisse, die auf spezifische Bedürfnisse zugeschnitten sind.
Argument | Typ | Standard | Beschreibung |
---|---|---|---|
model |
str |
None |
Pfad zur Ultralytics YOLO Modelldatei. |
region |
list |
'[(20, 400), (1260, 400)]' |
Liste der Punkte, die den Zählbereich definieren. |
show_in |
bool |
True |
Flag zur Steuerung, ob die In-Zählungen im Videostream angezeigt werden sollen. |
show_out |
bool |
True |
Flag zur Steuerung, ob die Out-Zählungen im Videostream angezeigt werden sollen. |
analytics_type |
str |
line |
Art des Graphen, d.h. line , bar , area , oder pie . |
colormap |
int |
cv2.COLORMAP_JET |
Zu verwendende Colormap für die Heatmap. |
json_file |
str |
None |
Pfad zur JSON-Datei, die alle Parkkoordinatendaten enthält. |
up_angle |
float |
145.0 |
Winkelgrenzwert für die 'Aufwärts'-Pose. |
kpts |
list[int, int, int] |
'[6, 8, 10]' |
Liste der Schlüsselpunkte, die zur Überwachung von Trainingseinheiten verwendet werden. Diese Schlüsselpunkte entsprechen Körpergelenken oder -teilen, wie z. B. Schultern, Ellbogen und Handgelenken, für Übungen wie Liegestütze, Klimmzüge, Kniebeugen und Bauchmuskeltraining. |
down_angle |
float |
90.0 |
Winkelgrenzwert für die 'Abwärts'-Pose. |
blur_ratio |
float |
0.5 |
Passt den Prozentsatz der Unschärfeintensität an, mit Werten im Bereich 0.1 - 1.0 . |
crop_dir |
str |
'cropped-detections' |
Verzeichnisname zum Speichern zugeschnittener Erkennungen. |
records |
int |
5 |
Gesamtzahl der Erkennungen, um eine E-Mail mit einem Sicherheitsalarmsystem auszulösen. |
vision_point |
tuple[int, int] |
(20, 20) |
Der Punkt, an dem Vision Objekte verfolgt und Pfade mithilfe der VisionEye-Lösung zeichnet. |
source |
str |
None |
Pfad zur Eingangsquelle (Video, RTSP usw.). Nur mit der Solutions-Befehlszeilenschnittstelle (CLI) verwendbar. |
figsize |
tuple[int, int] |
(12.8, 7.2) |
Figurengröße für Analyse-Diagramme wie Heatmaps oder Graphen. |
fps |
float |
30.0 |
Frames pro Sekunde, die für Geschwindigkeitsberechnungen verwendet werden. |
max_hist |
int |
5 |
Maximale Anzahl historischer Punkte, die pro Objekt für Geschwindigkeits-/Richtungsberechnungen verfolgt werden sollen. |
meter_per_pixel |
float |
0.05 |
Skalierungsfaktor, der für die Umwandlung von Pixelabständen in reale Einheiten verwendet wird. |
max_speed |
int |
120 |
Maximale Geschwindigkeitsbegrenzung in visuellen Overlays (wird in Warnmeldungen verwendet). |
data |
str |
'images' |
Pfad zum Bildverzeichnis, das für die Ähnlichkeitssuche verwendet wird. |
Augmentierungseinstellungen
Datenaugmentierungs-Techniken sind essenziell, um die Robustheit und Leistung von YOLO-Modellen zu verbessern, indem sie die Variabilität in die Trainingsdaten einführen und dem Modell helfen, sich besser auf unbekannte Daten zu generalisieren. Die folgende Tabelle umreißt den Zweck und die Wirkung jedes Augmentierungsarguments:
Argument | Typ | Standard | Bereich | Beschreibung |
---|---|---|---|---|
hsv_h |
float |
0.015 |
0.0 - 1.0 |
Passt den Farbton des Bildes um einen Bruchteil des Farbkreises an und führt so zu Farbvariationen. Hilft dem Modell, sich an unterschiedliche Lichtverhältnisse anzupassen. |
hsv_s |
float |
0.7 |
0.0 - 1.0 |
Verändert die Sättigung des Bildes um einen Bruchteil und beeinflusst so die Farbintensität. Nützlich für die Simulation verschiedener Umgebungsbedingungen. |
hsv_v |
float |
0.4 |
0.0 - 1.0 |
Verändert den Wert (Helligkeit) des Bildes um einen Bruchteil und hilft dem Modell, auch unter verschiedenen Lichtverhältnissen gute Ergebnisse zu erzielen. |
degrees |
float |
0.0 |
0.0 - 180 |
Dreht das Bild zufällig innerhalb des angegebenen Gradbereichs und verbessert so die Fähigkeit des Modells, Objekte in verschiedenen Ausrichtungen zu erkennen. |
translate |
float |
0.1 |
0.0 - 1.0 |
Verschiebt das Bild horizontal und vertikal um einen Bruchteil der Bildgröße und hilft so, das Erkennen von teilweise sichtbaren Objekten zu erlernen. |
scale |
float |
0.5 |
>=0.0 |
Skaliert das Bild mit einem Verstärkungsfaktor und simuliert so Objekte in unterschiedlichen Entfernungen von der Kamera. |
shear |
float |
0.0 |
-180 - +180 |
Scheren des Bildes um einen bestimmten Grad, wodurch der Effekt simuliert wird, dass Objekte aus verschiedenen Blickwinkeln betrachtet werden. |
perspective |
float |
0.0 |
0.0 - 0.001 |
Wendet eine zufällige perspektivische Transformation auf das Bild an und verbessert so die Fähigkeit des Modells, Objekte im 3D-Raum zu verstehen. |
flipud |
float |
0.0 |
0.0 - 1.0 |
Dreht das Bild mit der angegebenen Wahrscheinlichkeit auf den Kopf, wodurch die Datenvariabilität erhöht wird, ohne die Eigenschaften des Objekts zu beeinträchtigen. |
fliplr |
float |
0.5 |
0.0 - 1.0 |
Spiegelt das Bild mit der angegebenen Wahrscheinlichkeit von links nach rechts, was nützlich ist, um symmetrische Objekte zu erlernen und die Vielfalt des Datensatzes zu erhöhen. |
bgr |
float |
0.0 |
0.0 - 1.0 |
Vertauscht die Bildkanäle von RGB zu BGR mit der angegebenen Wahrscheinlichkeit, was nützlich ist, um die Robustheit gegenüber einer falschen Kanalreihenfolge zu erhöhen. |
mosaic |
float |
1.0 |
0.0 - 1.0 |
Kombiniert vier Trainingsbilder zu einem, wodurch verschiedene Szenenzusammensetzungen und Objektinteraktionen simuliert werden. Sehr effektiv für das Verständnis komplexer Szenen. |
mixup |
float |
0.0 |
0.0 - 1.0 |
Vermischt zwei Bilder und ihre Beschriftungen und erzeugt so ein zusammengesetztes Bild. Verbessert die Fähigkeit des Modells zur Verallgemeinerung, indem es Rauschen und visuelle Variabilität in die Beschriftungen einführt. |
cutmix |
float |
0.0 |
0.0 - 1.0 |
Kombiniert Teile von zwei Bildern und erzeugt eine partielle Mischung unter Beibehaltung unterschiedlicher Regionen. Erhöht die Robustheit des Modells durch Erstellung von Okklusionsszenarien. |
copy_paste |
float |
0.0 |
0.0 - 1.0 |
Nur Segmentierung. Kopiert und fügt Objekte über Bilder hinweg ein, um die Anzahl der Objektinstanzen zu erhöhen. |
copy_paste_mode |
str |
flip |
- | Nur SegmentierungSpezifiziert die copy-paste zu verwendende Strategie. Zu den Optionen gehören 'flip' und 'mixup' . |
auto_augment |
str |
randaugment |
- | Nur Klassifizierung. Wendet eine vordefinierte Augmentationsrichtlinie an ('randaugment' , 'autoaugment' , oder 'augmix' ) um die Modellleistung durch visuelle Vielfalt zu verbessern. |
erasing |
float |
0.4 |
0.0 - 0.9 |
Nur Klassifizierung. Löscht während des Trainings zufällig Bereiche des Bildes, um das Modell zu ermutigen, sich auf weniger offensichtliche Merkmale zu konzentrieren. |
Passen Sie diese Einstellungen an, um die Anforderungen des Datensatzes und der Aufgabe zu erfüllen. Das Experimentieren mit verschiedenen Werten kann helfen, die optimale Augmentationsstrategie für die beste Modellleistung zu finden.
Einstellungen für Protokollierung, Checkpoints und Diagramme
Protokollierung, Checkpoints, Plotting und Dateiverwaltung sind wichtig beim Trainieren eines YOLO-Modells:
- Protokollierung: Verfolgen Sie den Fortschritt des Modells und diagnostizieren Sie Probleme mithilfe von Bibliotheken wie TensorBoard oder durch Schreiben in eine Datei.
- Checkpoints: Speichern Sie das Modell in regelmäßigen Abständen, um das Training fortzusetzen oder mit verschiedenen Konfigurationen zu experimentieren.
- Plotten: Visualisieren Sie Leistung und Trainingsfortschritt mithilfe von Bibliotheken wie Matplotlib oder TensorBoard.
- Dateiverwaltung: Organisieren Sie Dateien, die während des Trainings generiert wurden, wie z. B. Checkpoints, Protokolldateien und Diagramme, für einfachen Zugriff und Analyse.
Ein effektives Management dieser Aspekte hilft, den Fortschritt zu verfolgen und erleichtert das Debugging und die Optimierung.
Argument | Standard | Beschreibung |
---|---|---|
project |
'runs' |
Gibt den Betriebsmodus des YOLO-Modells an: |
name |
'exp' |
Definiert den Namen des Experiments. Wenn nicht angegeben, erhöht YOLO diesen Namen für jeden Lauf (z. B. exp , exp2 ) um ein Überschreiben zu vermeiden. |
exist_ok |
False |
Bestimmt, ob ein vorhandenes Experimentverzeichnis überschrieben werden soll. True erlaubt das Überschreiben; False es verhindert wird. |
plots |
False |
Steuert die Erstellung und das Speichern von Trainings- und Validierungsdiagrammen. Auf True um Diagramme wie Verlustkurven zu erstellen, Präzision-Recall Kurven und Beispielvorhersagen zur visuellen Verfolgung der Leistung. |
save |
False |
Ermöglicht das Speichern von Trainings-Checkpoints und endgültigen Modellgewichten. Setzen Sie auf True um Modellzustände periodisch zu speichern, was die Wiederaufnahme des Trainings oder die Modellbereitstellung ermöglicht. |
FAQ
Wie kann ich die Leistung meines YOLO-Modells während des Trainings verbessern?
Verbessern Sie die Leistung, indem Sie Hyperparameter wie Batch-Größe, Lernrate, Momentum und Weight Decay optimieren. Passen Sie die Datenerweiterungs-Einstellungen an, wählen Sie den richtigen Optimierer aus und verwenden Sie Techniken wie Early Stopping oder Mixed Precision. Weitere Informationen finden Sie im Trainingsleitfaden.
Welche Schlüssel-Hyperparameter gibt es für die Genauigkeit von YOLO-Modellen?
Zu den wichtigsten Hyperparametern, die die Genauigkeit beeinflussen, gehören:
- Batch-Größe (
batch
): Größere Größen können das Training stabilisieren, benötigen aber mehr Speicher. - Lernrate (
lr0
): Kleinere Raten ermöglichen feine Anpassungen, aber eine 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.
Passen Sie diese an Ihre Daten und Hardware an. Erfahren Sie mehr unter Train Settings.
Wie lege ich die Lernrate für das Training eines YOLO-Modells fest?
Die Lernrate (lr0
) ist entscheidend; beginnen Sie mit 0.01
für SGD oder 0.001
für Adam-Optimierer. Überwachen Sie die Metriken und passen Sie sie nach Bedarf an. Verwenden Sie Cosinus-Lernraten-Scheduler (cos_lr
) oder Warmup (warmup_epochs
, warmup_momentum
). Details finden Sie im Trainingsanleitung.
Was sind die Standardeinstellungen für die Inferenz bei YOLO-Modellen?
Zu den Standardeinstellungen gehören:
- Konfidenzschwellwert (
conf=0.25
): Minimale Konfidenz für Erkennungen. - IoU-Schwellwert (
iou=0.7
): Für Non-Maximum Suppression (NMS). - Bildgröße (
imgsz=640
): Ändert die Größe von Eingangsbildern. - Gerät (
device=None
): Wählt CPU oder GPU aus.
Einen vollständigen Überblick finden Sie unter Vorhersageeinstellungen und im Leitfaden zur Vorhersage.
Warum Mixed-Precision-Training mit YOLO-Modellen verwenden?
Gemischte Präzision Training (amp=True
) reduziert die Speichernutzung und beschleunigt das Training mit FP16 und FP32. Es ist vorteilhaft für moderne GPUs, da es größere Modelle und schnellere Berechnungen ohne signifikanten Genauigkeitsverlust ermöglicht. Erfahren Sie mehr im Trainingsanleitung.