Konfiguration
Die YOLO 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.
Beobachten: Beherrschung von Ultralytics YOLO: Konfiguration
Beobachten: Mastering Ultralytics YOLO : Konfiguration
Ultralytics Befehle verwenden die folgende Syntax:
Beispiel
Wo:
TASK
(fakultativ) ist eine von (erkennen., Segment, einordnen., Pose, obb)MODE
(erforderlich) ist eine von (Zug, val, vorhersagen, exportieren, Spur, Benchmark)ARGS
(fakultativ) sindarg=value
Paare wieimgsz=640
die die Standardeinstellungen außer Kraft setzen.
Standard ARG
Werte sind auf dieser Seite definiert und stammen aus der cfg/defaults.yaml
Datei.
Aufgaben
DieYOLO Ultralytics können eine Vielzahl von Computer-Vision-Aufgaben erfüllen, darunter:
- Erkennen: Die Objekterkennung identifiziert und lokalisiert Objekte in einem Bild oder Video.
- Segmentieren: Bei der Instanzsegmentierung wird ein Bild oder Video in Regionen unterteilt, die verschiedenen Objekten oder Klassen entsprechen.
- Klassifizieren: Die Bildklassifizierung sagt die Klassenbezeichnung eines Eingabebildes voraus.
- Pose: Die Posenschätzung identifiziert Objekte und schätzt ihre Hauptpunkte in einem Bild oder Video.
- OBB: Oriented Bounding Boxes verwendet gedrehte Bounding Boxes, die sich für Satellitenbilder oder medizinische Bilder eignen.
Argument | Standard | Beschreibung |
---|---|---|
task |
'detect' |
Gibt die YOLO an: detect für Objekterkennung, segment für die Segmentierung, classify für die Klassifizierung, pose für die Schätzung der Körperhaltung und obb für orientierte Begrenzungsrahmen. Jede Aufgabe ist auf bestimmte Ergebnisse und Probleme der Bild- und Videoanalyse zugeschnitten. |
Modi
DieYOLO Ultralytics arbeiten in verschiedenen Modi, die jeweils für eine bestimmte Phase des Lebenszyklus des Modells konzipiert sind:
- Trainieren: Trainieren Sie ein YOLO auf einem benutzerdefinierten Datensatz.
- Val: Validieren Sie ein trainiertes YOLO .
- Vorhersagen: Verwenden Sie ein trainiertes YOLO , um Vorhersagen über neue Bilder oder Videos zu treffen.
- Exportieren: Exportieren Sie ein YOLO für die Bereitstellung.
- Verfolgen: Verfolgen Sie Objekte in Echtzeit mit einem YOLO .
- Benchmarking: Benchmarking der Geschwindigkeit und Genauigkeit von YOLO ONNX, TensorRT, etc.).
Argument | Standard | Beschreibung |
---|---|---|
mode |
'train' |
Gibt den Betriebsmodus des YOLO an: train für das Modelltraining, val für die Validierung, predict für die Inferenz, export für die Konvertierung in Bereitstellungsformate, track für die Objektverfolgung, und benchmark für die Leistungsbewertung. Jeder Modus unterstützt verschiedene Phasen, von der Entwicklung bis zur Bereitstellung. |
Zug-Einstellungen
Die Trainingseinstellungen für YOLO umfassen Hyperparameter und Konfigurationen, die die Leistung, Geschwindigkeit und Genauigkeit des Modells beeinflussen. Zu den wichtigsten Einstellungen gehören die Stapelgröße, die Lernrate, das Momentum und der Gewichtsabfall. Die Wahl des Optimierers, die Verlustfunktion und die Zusammensetzung des Datensatzes wirken sich ebenfalls auf das Training aus. Abstimmung und Experimentieren sind für eine optimale Leistung entscheidend. Weitere Einzelheiten finden Sie in der Ultralytics .
Argument | Typ | Standard | Beschreibung |
---|---|---|---|
model |
str |
None |
Gibt die Modelldatei für das Training an. Akzeptiert einen Pfad zu entweder einer .pt vortrainiertes Modell oder ein .yaml Konfigurationsdatei. Unerlässlich für die Definition der Modellstruktur oder die Initialisierung von Gewichten. |
data |
str |
None |
Pfad zur Konfigurationsdatei des Datensatzes (z. B., coco8.yaml ). Diese Datei enthält datensatzspezifische Parameter, einschließlich der Pfade zu den Trainings- und Validierungsdaten, Klassennamen und Anzahl der Klassen. |
epochs |
int |
100 |
Gesamtzahl der Trainingsepochen. Jede Epoche stellt einen vollständigen Durchlauf durch den gesamten Datensatz dar. Die Anpassung dieses Wertes kann sich auf die Trainingsdauer und die Modellleistung auswirken. |
time |
float |
None |
Maximale Trainingszeit in Stunden. Falls festgelegt, übersteuert dies den Wert epochs Argument, so dass das Training nach der angegebenen Dauer automatisch beendet wird. Nützlich für zeitlich eingeschränkte Trainingsszenarien. |
patience |
int |
100 |
Anzahl der Epochen, die ohne Verbesserung der Validierungsmetriken abgewartet werden sollen, bevor das Training vorzeitig beendet wird. Hilft, eine Überanpassung zu verhindern, indem das Training abgebrochen wird, wenn die Leistung nicht mehr ausreicht. |
batch |
int |
16 |
Größe der Chargemit drei Modi: als Ganzzahl (z. B., batch=16 ), Auto-Modus für 60% GPU Speicherauslastung (batch=-1 ), oder Auto-Modus mit festgelegtem Nutzungsanteil (batch=0.70 ). |
imgsz |
int oder list |
640 |
Zielbildgröße für das Training. Alle Bilder werden auf diese Größe gebracht, bevor sie in das Modell eingespeist werden. Beeinflusst die Modellgenauigkeit und den Rechenaufwand. |
save |
bool |
True |
Ermöglicht das Speichern von Trainingskontrollpunkten und endgültigen Modellgewichten. Nützlich für die Wiederaufnahme des Trainings oder den Einsatz des Modells. |
save_period |
int |
-1 |
Häufigkeit der Speicherung von Modellprüfpunkten, angegeben in Epochen. Ein Wert von -1 deaktiviert diese Funktion. Nützlich zum Speichern von Zwischenmodellen während langer Trainingssitzungen. |
cache |
bool |
False |
Ermöglicht die Zwischenspeicherung von Datensatzbildern im Speicher (True /ram ), auf der Festplatte (disk ), oder deaktiviert sie (False ). Verbessert die Trainingsgeschwindigkeit durch Verringerung der Festplattenein- und -ausgabe auf Kosten einer erhöhten Speichernutzung. |
device |
int oder str oder list |
None |
Gibt das/die Rechengerät(e) für das Training an: eine einzelne GPU (device=0 ), mehrere GPUs (device=0,1 ), CPU (device=cpu ), oder MPS für Apple-Silizium (device=mps ). |
workers |
int |
8 |
Anzahl der Arbeits-Threads für das Laden von Daten (pro RANK wenn Multi-GPU Training). Beeinflusst die Geschwindigkeit der Datenvorverarbeitung und der Einspeisung in das Modell, besonders nützlich in MultiGPU Setups. |
project |
str |
None |
Name des Projektverzeichnisses, in dem die Trainingsergebnisse gespeichert werden. Ermöglicht die organisierte Speicherung verschiedener Experimente. |
name |
str |
None |
Name des Trainingslaufs. Wird zur Erstellung eines Unterverzeichnisses im Projektordner verwendet, in dem Trainingsprotokolle und Ausgaben gespeichert werden. |
exist_ok |
bool |
False |
Bei "True" kann ein vorhandenes Projekt/Namensverzeichnis überschrieben werden. Nützlich für iterative Experimente, ohne vorherige Ausgaben manuell löschen zu müssen. |
pretrained |
bool oder str |
True |
Legt fest, ob das Training mit einem vorher trainierten Modell beginnen soll. Kann ein boolescher Wert oder ein String-Pfad zu einem bestimmten Modell sein, aus dem die Gewichte geladen werden sollen. Erhöht die Trainingseffizienz und die Modellleistung. |
optimizer |
str |
'auto' |
Auswahl des Optimierers für die Ausbildung. Die Optionen umfassen SGD , Adam , AdamW , NAdam , RAdam , RMSProp usw., oder auto für die automatische Auswahl auf der Grundlage der Modellkonfiguration. Beeinflusst die Konvergenzgeschwindigkeit und Stabilität. |
seed |
int |
0 |
Legt den zufälligen Seed für das Training fest, um die Reproduzierbarkeit der Ergebnisse bei verschiedenen Läufen mit denselben Konfigurationen zu gewährleisten. |
deterministic |
bool |
True |
Erzwingt die Verwendung deterministischer Algorithmen, was die Reproduzierbarkeit sicherstellt, aber aufgrund der Beschränkung auf nicht-deterministische Algorithmen Leistung und Geschwindigkeit beeinträchtigen kann. |
single_cls |
bool |
False |
Behandelt beim Training alle Klassen in Mehrklassendatensätzen als eine einzige Klasse. Nützlich für binäre Klassifizierungsaufgaben oder wenn der Schwerpunkt eher auf der Anwesenheit von Objekten als auf der Klassifizierung liegt. |
classes |
list[int] |
None |
Gibt eine Liste von Klassen-IDs an, auf die trainiert werden soll. Nützlich, um beim Training nur bestimmte Klassen herauszufiltern und sich auf sie zu konzentrieren. |
rect |
bool |
False |
Ermöglicht rechteckiges Training, wobei die Zusammensetzung der Stapel für minimale Polsterung optimiert wird. Kann die Effizienz und Geschwindigkeit verbessern, kann aber die Modellgenauigkeit beeinträchtigen. |
multi_scale |
bool |
False |
Ermöglicht mehrstufiges Training durch Erhöhung/Verringerung imgsz um bis zu einem Faktor von 0.5 während des Trainings. Trainiert das Modell für eine höhere Genauigkeit mit mehreren imgsz während der Inferenz. |
cos_lr |
bool |
False |
Verwendet einen Kosinus-Lernratenplaner, der die Lernrate anhand einer Kosinuskurve über Epochen hinweg anpasst. Hilft bei der Verwaltung der Lernrate für eine bessere Konvergenz. |
close_mosaic |
int |
10 |
Deaktiviert die Mosaikdatenerweiterung in den letzten N Epochen, um das Training vor dem Abschluss zu stabilisieren. Die Einstellung 0 deaktiviert diese Funktion. |
resume |
bool |
False |
Setzt das Training ab dem letzten gespeicherten Kontrollpunkt fort. Lädt automatisch Modellgewichte, Optimierungsstatus und Epochenzahl und setzt das Training nahtlos fort. |
amp |
bool |
True |
Ermöglicht automatisches Mixed-Precision-Training (AMP), wodurch die Speichernutzung reduziert und das Training möglicherweise mit minimalen Auswirkungen auf die Genauigkeit beschleunigt wird. |
fraction |
float |
1.0 |
Gibt 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. |
profile |
bool |
False |
Ermöglicht die Erstellung von Profilen der Geschwindigkeiten ONNX und TensorRT 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 bestimmte Schichten nach Index ein und reduziert so die Anzahl der trainierbaren Parameter. Nützlich für die Feinabstimmung oder das Transfer-Lernen. |
lr0 |
float |
0.01 |
Anfängliche Lernrate (d.h. SGD=1E-2 , Adam=1E-3 ). Die Anpassung dieses Wertes ist für den Optimierungsprozess von entscheidender Bedeutung, da er beeinflusst, wie schnell die Modellgewichte aktualisiert werden. |
lrf |
float |
0.01 |
Endgültige Lernrate als Bruchteil der Anfangsrate = (lr0 * lrf ), die in Verbindung mit Schedulern verwendet werden, um die Lernrate im Laufe der Zeit anzupassen. |
momentum |
float |
0.937 |
Momentumfaktor 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 eine Überanpassung zu verhindern. |
warmup_epochs |
float |
3.0 |
Anzahl der Epochen zum Aufwärmen der Lernrate, 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 |
Anfangsschwung für die Aufwärmphase, der sich im Laufe der Aufwärmphase allmählich an den eingestellten Schwung anpasst. |
warmup_bias_lr |
float |
0.1 |
Lernrate für Bias-Parameter während der Aufwärmphase, um das Modelltraining in den ersten Epochen zu stabilisieren. |
box |
float |
7.5 |
Gewicht der Box-Verlustkomponente in der Verlustfunktion, das angibt, wie viel Wert auf die genaue Vorhersage der Bounding-Box-Koordinaten gelegt wird. |
cls |
float |
0.5 |
Gewicht des Klassifizierungsverlusts in der Gesamtverlustfunktion, das die Bedeutung der korrekten Klassenvorhersage im Vergleich zu anderen Komponenten bestimmt. |
dfl |
float |
1.5 |
Gewicht des fokalen Verteilungsverlustes, der in bestimmten Versionen von YOLO für eine feinere Klassifizierung verwendet wird. |
pose |
float |
12.0 |
Gewicht des Pose-Verlustes in Modellen, die für die Pose-Schätzung trainiert wurden, was den Schwerpunkt auf die genaue Vorhersage der Pose-Keypoints legt. |
kobj |
float |
2.0 |
Gewichtung des Objektivitätsverlustes von Schlüsselpunkten in Modellen zur Posenschätzung, wobei die Erkennungssicherheit mit der Posengenauigkeit abgeglichen wird. |
nbs |
int |
64 |
Nominale Chargengröße für die Normalisierung des Verlustes. |
overlap_mask |
bool |
True |
Legt fest, ob die Objektmasken für das Training zu einer einzigen Maske zusammengeführt oder für jedes Objekt getrennt gehalten werden sollen. Im Falle einer Überlappung wird die kleinere Maske beim Zusammenführen über die größere Maske gelegt. |
mask_ratio |
int |
4 |
Downsample-Verhältnis für Segmentierungsmasken, das sich auf die Auflösung der beim Training verwendeten Masken auswirkt. |
dropout |
float |
0.0 |
Dropout-Rate für die Regularisierung bei Klassifizierungsaufgaben, die eine Überanpassung durch zufälliges Auslassen von Einheiten während des Trainings verhindert. |
val |
bool |
True |
Ermöglicht die Validierung während des Trainings, so dass die Leistung des Modells in regelmäßigen Abständen anhand eines separaten Datensatzes bewertet werden kann. |
plots |
bool |
False |
Erzeugt und speichert Diagramme von Trainings- und Validierungsmetriken sowie Vorhersagebeispiele, die einen visuellen Einblick in die Modellleistung und den Lernfortschritt geben. |
Hinweis zu den Einstellungen der Chargengröße
Die batch
Argument bietet drei Konfigurationsmöglichkeiten:
- Feste Chargengröße: Geben Sie die Anzahl der Bilder pro Stapel mit einer ganzen Zahl an (z.B.,
batch=16
). - Auto-Modus (60% GPU Speicher): Verwenden Sie
batch=-1
für eine automatische Anpassung auf etwa 60 % CUDA . - Automatischer Modus mit Auslastungsanteil: Setzen Sie einen Bruch (z.B.,
batch=0.70
) auf der Grundlage einer bestimmten GPU anzupassen.
Einstellungen vorhersagen
Die Vorhersageeinstellungen für YOLO umfassen Hyperparameter und Konfigurationen, die die Leistung, Geschwindigkeit und Genauigkeit während der Inferenz beeinflussen. Zu den wichtigsten Einstellungen gehören der Konfidenzschwellenwert, der Schwellenwert für die Nicht-Maximum-Unterdrückung (NMS) und die Anzahl der Klassen. Die Größe und das Format der Eingabedaten sowie zusätzliche Merkmale wie Masken wirken sich ebenfalls auf die Vorhersagen aus. Die Abstimmung dieser Einstellungen ist für eine optimale Leistung unerlässlich.
Argumente für Schlussfolgerungen:
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 für verschiedene Arten von Eingaben. |
conf |
float |
0.25 |
Legt die minimale Vertrauensschwelle für Erkennungen fest. Objekte, die mit einer Konfidenzschwelle unterhalb dieser Schwelle erkannt werden, werden nicht berücksichtigt. Die Anpassung dieses Wertes kann dazu beitragen, Fehlalarme 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 |
Bestimmt die Bildgröße für die Inferenz. Kann eine einzelne ganze Zahl sein 640 für quadratische Größenänderungen oder ein Tupel (Höhe, Breite). Eine korrekte Größenanpassung kann die Erkennung verbessern Genauigkeit und Verarbeitungsgeschwindigkeit. |
half |
bool |
False |
Ermöglicht die Inferenz mit halber Genauigkeit (FP16), was 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 dem Benutzer die Auswahl zwischen CPU, einem bestimmten GPU oder anderen Rechengeräten für die Modellausführung. |
batch |
int |
1 |
Gibt die Losgröße für die Inferenz an (funktioniert nur, wenn die Quelle ein Verzeichnis, eine Videodatei oder .txt Datei). Eine größere Batchgröße kann einen höheren Durchsatz ermöglichen und die für die Inferenz benötigte Gesamtzeit verkürzen. |
max_det |
int |
300 |
Maximal zulässige Anzahl von Erkennungen pro Bild. Begrenzt die Gesamtzahl der Objekte, die das Modell in einer einzigen Schlussfolgerung erkennen kann, um übermäßige Ausgaben in dichten Szenen zu verhindern. |
vid_stride |
int |
1 |
Frame Stride für Videoeingänge. Ermöglicht das Überspringen von Bildern in Videos, um die Verarbeitung auf Kosten der zeitlichen Auflösung zu beschleunigen. Bei einem Wert von 1 wird jedes Bild verarbeitet, bei höheren Werten werden Bilder übersprungen. |
stream_buffer |
bool |
False |
Legt fest, ob eingehende Bilder für Videostreams in eine Warteschlange gestellt werden sollen. Wenn False werden alte Frames fallen gelassen, um Platz für neue Frames zu schaffen (optimiert für Echtzeitanwendungen). Wenn True stellt neue Frames in einem Puffer in die Warteschlange und stellt sicher, dass keine Frames übersprungen werden, verursacht aber eine Latenz, wenn die FPS der Inferenz niedriger sind als die FPS des Streams. |
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 die Fehlersuche und Modellinterpretation. |
augment |
bool |
False |
Ermöglicht die Testzeit-Erweiterung (TTA) für Vorhersagen, wodurch die Robustheit der Erkennung auf Kosten der Schlussfolgerungsgeschwindigkeit verbessert werden kann. |
agnostic_nms |
bool |
False |
Ermöglicht die klassenunabhängige Non-Maximum Suppression (NMS), die überlappende Boxen verschiedener Klassen zusammenführt. Nützlich in Szenarien der Mehrklassenerkennung, in denen es häufig zu Klassenüberschneidungen kommt. |
classes |
list[int] |
None |
Filtert Vorhersagen auf einen Satz von Klassen-IDs. Nur Erkennungen, die zu den angegebenen Klassen gehören, werden zurückgegeben. Nützlich für die Konzentration auf relevante Objekte bei Erkennungsaufgaben mit mehreren Klassen. |
retina_masks |
bool |
False |
Gibt hochauflösende Segmentierungsmasken zurück. Die zurückgegebenen Masken (masks.data ) stimmen mit der ursprünglichen Bildgröße überein, wenn sie aktiviert sind. Wenn sie deaktiviert sind, haben sie die bei der Inferenz verwendete Bildgröße. |
embed |
list[int] |
None |
Gibt die Ebenen an, aus denen Merkmalsvektoren oder Einbettungen extrahiert werden sollen. Nützlich für nachgelagerte Aufgaben wie Clustering oder Ähnlichkeitssuche. |
project |
str |
None |
Name des Projektverzeichnisses, in dem die Vorhersageergebnisse gespeichert werden, wenn save aktiviert ist. |
name |
str |
None |
Name des Vorhersagelaufs. Wird zur Erstellung eines Unterverzeichnisses im Projektordner verwendet, in dem die Vorhersageergebnisse gespeichert werden, wenn save aktiviert ist. |
stream |
bool |
False |
Ermöglicht eine speichereffiziente Verarbeitung langer Videos oder zahlreicher Bilder, indem ein Generator von Ergebnisobjekten zurückgegeben wird, anstatt alle Bilder auf einmal in den Speicher zu laden. |
verbose |
bool |
True |
Legt fest, ob detaillierte Schlussfolgerungsprotokolle im Terminal angezeigt werden sollen, um Echtzeit-Feedback zum Vorhersageprozess zu erhalten. |
Argumente für die Visualisierung:
Argument | Typ | Standard | Beschreibung |
---|---|---|---|
show |
bool |
False |
Wenn True zeigt die kommentierten Bilder oder Videos in einem Fenster an. Nützlich für sofortiges visuelles Feedback während der Entwicklung oder des Testens. |
save |
bool |
False or True |
Ermöglicht das Speichern der kommentierten Bilder oder Videos in einer Datei. Nützlich für die Dokumentation, weitere Analysen oder die Weitergabe von Ergebnissen. Standardmäßig True bei Verwendung von CLI und False bei Verwendung in Python. |
save_frames |
bool |
False |
Speichert bei der Verarbeitung von Videos einzelne Frames als Bilder. Nützlich zum Extrahieren bestimmter Frames oder für eine detaillierte Frame-by-Frame-Analyse. |
save_txt |
bool |
False |
Speichert die Erkennungsergebnisse in einer Textdatei, die das folgende Format hat [class] [x_center] [y_center] [width] [height] [confidence] . Nützlich für die Integration mit anderen Analysetools. |
save_conf |
bool |
False |
Enthält Konfidenzwerte in den gespeicherten Textdateien. Verbessert die für die Nachbearbeitung und Analyse verfügbaren Details. |
save_crop |
bool |
False |
Speichert abgeschnittene Bilder von Erkennungen. Nützlich für die Erweiterung von Datensätzen, die Analyse oder die Erstellung gezielter 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 neben der Kennzeichnung auch den Konfidenzwert für jede Erkennung an. Gibt einen Einblick in die Sicherheit des Modells für jede Erkennung. |
show_boxes |
bool |
True |
Zeichnet Begrenzungsrahmen um erkannte Objekte. Unerlässlich für die visuelle Identifizierung und Lokalisierung von Objekten in Bildern oder Videoframes. |
line_width |
None or int |
None |
Gibt die Linienbreite von Begrenzungsrahmen an. Wenn None wird die Linienbreite automatisch an die Bildgröße angepasst. Bietet visuelle Anpassung für Klarheit. |
font_size |
float |
None |
Textschriftgröße für Anmerkungen. Skaliert automatisch mit der Bildgröße, wenn auf None . |
font |
str |
'Arial.ttf' |
Name der Schriftart oder Pfad für Textanmerkungen in der Visualisierung. |
pil |
bool |
False |
Rückgabe des Bildes als PIL-Image-Objekt anstelle eines Numpy-Arrays. |
kpt_radius |
int |
5 |
Radius der Keypoints bei der Visualisierung der Ergebnisse der Pose-Schätzung. |
kpt_line |
bool |
True |
Verbinden Sie bei der Visualisierung der Pose-Schätzung Keypoints mit Linien. |
masks |
bool |
True |
Segmentierungsmasken in der Visualisierungsausgabe anzeigen. |
probs |
bool |
True |
Einbindung von Klassifizierungswahrscheinlichkeiten in die Visualisierung. |
filename |
str |
None |
Pfad und Dateiname zum Speichern des kommentierten Bildes, wenn save=True . |
color_mode |
str |
'class' |
Geben Sie den Einfärbungsmodus für Visualisierungen an, z. B. "Instanz" oder "Klasse". |
txt_color |
tuple[int, int, int] |
(255, 255, 255) |
RGB-Textfarbe für Anmerkungen zu Klassifizierungsaufgaben. |
Validierungseinstellungen
Validierungseinstellungen für YOLO umfassen Hyperparameter und Konfigurationen zur Bewertung der Leistung auf einem Validierungsdatensatz. Diese Einstellungen beeinflussen Leistung, Geschwindigkeit und Genauigkeit. Zu den üblichen Einstellungen gehören die Stapelgröße, die Validierungshäufigkeit und die Leistungsmetriken. Die Größe und Zusammensetzung des Validierungsdatensatzes sowie die spezifische Aufgabe beeinflussen den Prozess ebenfalls.
Argument | Typ | Standard | Beschreibung |
---|---|---|---|
data |
str |
None |
Gibt den Pfad zur Dataset-Konfigurationsdatei an (z. B., coco8.yaml ). Diese Datei enthält Pfade zu Validierungsdaten, Klassennamen und Anzahl der Klassen. |
imgsz |
int |
640 |
Bestimmt die Größe der Eingabebilder. Alle Bilder werden vor der Verarbeitung auf diese Größe gebracht. Größere Größen können die Genauigkeit bei kleinen Objekten verbessern, erhöhen aber die Berechnungszeit. |
batch |
int |
16 |
Legt die Anzahl der Bilder pro Stapel fest. Höhere Werte nutzen den GPU effizienter, erfordern aber mehr VRAM. Passen Sie die Werte je nach verfügbaren Hardware-Ressourcen an. |
save_json |
bool |
False |
Wenn True speichert die Ergebnisse in einer JSON-Datei zur weiteren Analyse, zur Integration in andere Tools oder zur Übermittlung an Bewertungsserver wie COCO. |
save_hybrid |
bool |
False |
Wenn True speichert eine hybride Version von Beschriftungen, die ursprüngliche Annotationen mit zusätzlichen Modellvorhersagen kombiniert. Nützlich für halbüberwachtes Lernen und die Erweiterung von Datensätzen. |
conf |
float |
0.001 |
Legt die minimale Vertrauensschwelle für Erkennungen fest. Niedrigere Werte erhöhen die Wiedererkennungsrate, können aber zu mehr falsch-positiven Ergebnissen führen. Wird bei der Validierung verwendet, um Präzisions-Rückruf-Kurven zu berechnen. |
iou |
float |
0.6 |
Legt den Schwellenwert "Schnittpunkt über Vereinigung" für die Nicht-Maximum-Unterdrückung fest. Steuert die Eliminierung der Duplikaterkennung. |
max_det |
int |
300 |
Begrenzt die maximale Anzahl von Erkennungen pro Bild. Nützlich in dichten Szenen, um übermäßige Erkennungen zu vermeiden und die Rechenressourcen zu verwalten. |
half |
bool |
True |
Ermöglicht Berechnungen mit halber Genauigkeit (FP16), wodurch die Speichernutzung reduziert und die Geschwindigkeit bei minimalen Auswirkungen auf die Genauigkeit erhöht werden kann. |
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 können mit Komma-Trennung angegeben werden. |
dnn |
bool |
False |
Wenn True verwendet die OpenCV DNN-Modul für ONNX Modellinferenz, das eine Alternative zu PyTorch Inferenzmethoden. |
plots |
bool |
False |
Bei Einstellung auf True erzeugt und speichert Diagramme von Vorhersagen im Vergleich zur Grundwahrheit, Konfusionsmatrizen und PR-Kurven zur visuellen Bewertung der Modellleistung. |
rect |
bool |
True |
Wenn True verwendet die rechteckige Inferenz für die Stapelverarbeitung, wodurch das Auffüllen reduziert und die Geschwindigkeit und Effizienz durch die Verarbeitung von Bildern in ihrem ursprünglichen Seitenverhältnis potenziell erhöht wird. |
split |
str |
'val' |
Bestimmt den für die Validierung zu verwendenden Datensatzsplit (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 die Validierungsergebnisse gespeichert werden. Hilft bei der Organisation von Ergebnissen aus verschiedenen Experimenten oder Modellen. |
name |
str |
None |
Name des Validierungslaufs. Wird für die Erstellung eines Unterverzeichnisses innerhalb des Projektordners verwendet, in dem die Validierungsprotokolle und -ausgaben gespeichert werden. |
verbose |
bool |
False |
Wenn True zeigt während des Validierungsprozesses detaillierte Informationen an, einschließlich Metriken pro Klasse, Batch-Fortschritt und zusätzliche Debugging-Informationen. |
save_txt |
bool |
False |
Wenn True speichert die Erkennungsergebnisse in Textdateien, eine Datei pro Bild, die für weitere Analysen, benutzerdefinierte Nachbearbeitungen oder die Integration in andere Systeme nützlich sind. |
save_conf |
bool |
False |
Wenn True die Konfidenzwerte in die gespeicherten Textdateien ein, wenn save_txt ist aktiviert und bietet eine detailliertere Ausgabe für Analyse und Filterung. |
save_crop |
bool |
False |
Wenn True speichert zugeschnittene Bilder von erkannten Objekten, die für die Erstellung konzentrierter Datensätze, die visuelle Überprüfung oder die weitere Analyse einzelner Erkennungen nützlich sein können. |
workers |
int |
8 |
Anzahl der Arbeits-Threads für das Laden von Daten. Höhere Werte können die Datenvorverarbeitung beschleunigen, können aber die CPU erhöhen. Bei einer Einstellung von 0 wird der Haupt-Thread verwendet, der in manchen Umgebungen stabiler sein kann. |
augment |
bool |
False |
Ermöglicht die Testzeit-Erweiterung (TTA) während der Validierung, wodurch die Erkennungsgenauigkeit auf Kosten der Inferenzgeschwindigkeit verbessert werden kann, indem die Inferenz mit transformierten Versionen der Eingabe durchgeführt wird. |
agnostic_nms |
bool |
False |
Ermöglicht die 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. Nützlich für die Bewertung der Modellleistung bei binären Erkennungsaufgaben oder wenn Klassenunterscheidungen nicht wichtig sind. |
Sorgfältige Abstimmung und Experimente sind von entscheidender Bedeutung, um eine optimale Leistung zu gewährleisten und eine Überanpassung zu erkennen und zu verhindern.
Einstellungen exportieren
Die Exporteinstellungen für YOLO umfassen Konfigurationen zum Speichern oder Exportieren des Modells zur Verwendung in verschiedenen Umgebungen. Diese Einstellungen beeinflussen die 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 den Exportprozess ebenfalls.
Argument | Typ | Standard | Beschreibung |
---|---|---|---|
format |
str |
'torchscript' |
Zielformat für das exportierte Modell, z. B. 'onnx' , 'torchscript' , 'engine' TensorRT), oder andere. Jedes Format ermöglicht die Kompatibilität mit verschiedenen Einsatzumgebungen. |
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. |
keras |
bool |
False |
Ermöglicht den Export in das Keras-Format für TensorFlow SavedModel und bietet Kompatibilität mit TensorFlow und APIs. |
optimize |
bool |
False |
Wendet beim Export nach TorchScript eine Optimierung für mobile Geräte an, wodurch die Modellgröße reduziert und die Inferenzleistung verbessert werden kann. Nicht kompatibel mit dem NCNN oder CUDA . |
half |
bool |
False |
Ermöglicht die FP16-Quantisierung (halbe Genauigkeit), wodurch die Modellgröße verringert und die Inferenz auf unterstützter Hardware möglicherweise beschleunigt wird. Nicht kompatibel mit INT8-Quantisierung oder CPU 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 Quantisierung nach dem Training (PTQ) durchgeführt. |
dynamic |
bool |
False |
Ermöglicht dynamische Eingabegrößen für ONNX, TensorRT und OpenVINO , was die Flexibilität bei der Handhabung unterschiedlicher Bildgrößen erhöht. Automatisch eingestellt auf True bei Verwendung von TensorRT mit INT8. |
simplify |
bool |
True |
Vereinfacht den Modellgraphen für ONNX Exporte mit onnxslim Dies kann die Leistung und die Kompatibilität mit Inferenzmaschinen verbessern. |
opset |
int |
None |
Gibt die ONNX an, um die Kompatibilität mit verschiedenen ONNX Parsern und Laufzeiten. Wenn nicht festgelegt, wird die letzte unterstützte Version verwendet. |
workspace |
float oder None |
None |
Legt die maximale Größe des Arbeitsbereichs in GiB für TensorRT Optimierungen, die Speicherverbrauch und Leistung ausgleichen. verwenden None für die automatische Zuweisung durch TensorRT bis zum Geräte-Maximum. |
nms |
bool |
False |
Fügt dem exportierten Modell die Nicht-Maximum-Unterdrückung (NMS) hinzu, sofern dies unterstützt wird (siehe Exportformate), um die Effizienz der Nachbearbeitung der Erkennung zu verbessern. Nicht verfügbar für end2end-Modelle. |
batch |
int |
1 |
Gibt die Größe des Exportmodells oder die maximale Anzahl der Bilder an, die das exportierte Modell gleichzeitig in predict Modus. Bei TPU wird dies automatisch auf 1 gesetzt. |
device |
str |
None |
Gibt das zu exportierende Gerät an: GPU (device=0 ), CPU (device=cpu ), MPS für Apple-Silizium (device=mps ) oder DLA für NVIDIA Jetson (device=dla:0 oder device=dla:1 ). TensorRT verwenden automatisch die GPU. |
data |
str |
'coco8.yaml' |
Weg zum Datensatz Konfigurationsdatei (Standard: coco8.yaml ), wichtig für die INT8-Quantisierungskalibrierung. Wird bei aktiviertem INT8 kein Datensatz angegeben, wird ein Standarddatensatz zugewiesen. |
Eine durchdachte Konfiguration stellt sicher, dass das exportierte Modell für seinen Anwendungsfall optimiert ist und in der Zielumgebung effektiv funktioniert.
Lösungen Einstellungen
Die Konfigurationseinstellungen von Ultralytics Solutions bieten Flexibilität bei der Anpassung von Modellen für Aufgaben wie Objektzählung, Erstellung von Heatmaps, Trainingsverfolgung, Datenanalyse, Zonenverfolgung, Warteschlangenmanagement und regionsbasierte 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 . |
region |
list |
[(20, 400), (1260, 400)] |
Liste der Punkte, die den Zählbereich definieren. |
show_in |
bool |
True |
Kennzeichen, mit dem gesteuert wird, ob die Zählungen im Videostrom angezeigt werden sollen. |
show_out |
bool |
True |
Kennzeichen, mit dem gesteuert wird, ob die Anzahl der Ausgänge im Video-Stream angezeigt werden soll. |
analytics_type |
str |
line |
Art des Diagramms, d. h., line , bar , area , oder pie . |
colormap |
int |
cv2.COLORMAP_JET |
Farbkarte, die für die Heatmap verwendet werden soll. |
json_file |
str |
None |
Pfad zu der JSON-Datei, die alle Daten zu den Parkkoordinaten enthält. |
up_angle |
float |
145.0 |
Winkelschwelle für die "Aufwärts"-Pose. |
kpts |
list[int, int, int] |
[6, 8, 10] |
Liste der Keypoints, die für die Überwachung von Workouts verwendet werden. Diese Keypoints entsprechen Körpergelenken oder -teilen, z. B. Schultern, Ellbogen und Handgelenken, für Übungen wie Liegestütze, Klimmzüge, Kniebeugen und Bauchmuskeltraining. |
down_angle |
float |
90.0 |
Winkelschwellenwert für die "nach unten" gerichtete Haltung. |
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" |
Name des Verzeichnisses, in dem abgeschnittene Erkennungen gespeichert werden. |
records |
int |
5 |
Gesamtzahl der Erkennungen zur Auslösung einer E-Mail mit dem Sicherheitssystem. |
vision_point |
tuple[int, int] |
(50, 50) |
Der Punkt, an dem die VisionEye-Lösung Objekte verfolgt und Pfade zeichnet. |
tracker |
str |
'botsort.yaml' |
Gibt den zu verwendenden Verfolgungsalgorithmus an, z. B., bytetrack.yaml oder botsort.yaml . |
conf |
float |
0.3 |
Legt die Konfidenzschwelle für Erkennungen fest; niedrigere Werte ermöglichen die Verfolgung von mehr Objekten, können aber auch zu falsch positiven Ergebnissen führen. |
iou |
float |
0.5 |
Legt den Schwellenwert für die Überschneidung über die Vereinigung (IoU) fest, um überlappende Erkennungen zu filtern. |
classes |
list |
None |
Filtert die Ergebnisse nach Klassenindex. Zum Beispiel, classes=[0, 2, 3] verfolgt nur die angegebenen Klassen. |
verbose |
bool |
True |
Steuert die Anzeige der Verfolgungsergebnisse und liefert eine visuelle Ausgabe der verfolgten Objekte. |
device |
str |
None |
Gibt das Gerät für die Inferenz an (z.B., cpu , cuda:0 oder 0 ). Ermöglicht dem Benutzer die Auswahl zwischen CPU, einem bestimmten GPU oder anderen Rechengeräten für die Modellausführung. |
show |
bool |
False |
Wenn True zeigt die kommentierten Bilder oder Videos in einem Fenster an. Nützlich für sofortiges visuelles Feedback während der Entwicklung oder des Testens. |
line_width |
None or int |
None |
Gibt die Linienbreite von Begrenzungsrahmen an. Wenn None wird die Linienbreite automatisch an die Bildgröße angepasst. Bietet visuelle Anpassung für Klarheit. |
Einstellungen zur Augmentation
Datenerweiterungstechniken sind für die Verbesserung der Robustheit und Leistung YOLO unerlässlich, da sie Variabilität in die Trainingsdaten einbringen und dem Modell helfen, besser auf ungesehene Daten zu generalisieren. Die folgende Tabelle beschreibt den Zweck und die Wirkung der einzelnen Erweiterungsargumente:
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 Farbvariabilität ein. Hilft dem Modell bei der Verallgemeinerung über verschiedene Lichtverhältnisse hinweg. |
hsv_s |
float |
0.7 |
0.0 - 1.0 |
Ändert die Sättigung des Bildes um einen Bruchteil, wodurch die Intensität der Farben beeinflusst wird. Nützlich für die Simulation verschiedener Umgebungsbedingungen. |
hsv_v |
float |
0.4 |
0.0 - 1.0 |
Ändert den Wert (die Helligkeit) des Bildes um einen Bruchteil, damit das Modell unter verschiedenen Lichtverhältnissen gut funktioniert. |
degrees |
float |
0.0 |
-180 - +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 beim Erkennen von teilweise sichtbaren Objekten. |
scale |
float |
0.5 |
>=0.0 |
Skaliert das Bild mit einem Verstärkungsfaktor, um Objekte in verschiedenen Entfernungen von der Kamera zu simulieren. |
shear |
float |
0.0 |
-180 - +180 |
Schneidet das Bild um einen bestimmten Grad, um den Effekt der Betrachtung von Objekten aus verschiedenen Winkeln zu imitieren. |
perspective |
float |
0.0 |
0.0 - 0.001 |
Wendet eine zufällige perspektivische Transformation auf das Bild an, um die Fähigkeit des Modells zu verbessern, Objekte im 3D-Raum zu verstehen. |
flipud |
float |
0.0 |
0.0 - 1.0 |
Stellt 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. Dies ist nützlich, um symmetrische Objekte zu lernen und die Vielfalt des Datensatzes zu erhöhen. |
bgr |
float |
0.0 |
0.0 - 1.0 |
Kehrt die Bildkanäle mit der angegebenen Wahrscheinlichkeit von RGB zu BGR um, was nützlich ist, um die Robustheit gegenüber einer falschen Kanalanordnung zu erhöhen. |
mosaic |
float |
1.0 |
0.0 - 1.0 |
Kombiniert vier Trainingsbilder zu einem einzigen und simuliert so verschiedene Szenenkompositionen und Objektinteraktionen. Äußerst effektiv für das Verständnis komplexer Szenen. |
mixup |
float |
0.0 |
0.0 - 1.0 |
Mischt zwei Bilder und ihre Beschriftungen, um ein zusammengesetztes Bild zu erzeugen. Verbessert die Verallgemeinerungsfähigkeit des Modells durch Einführung von Beschriftungsrauschen und visueller Variabilität. |
copy_paste |
float |
0.0 |
0.0 - 1.0 |
Kopiert und fügt Objekte über Bilder hinweg ein, was für die Vergrößerung von Objektinstanzen und das Lernen von Objektverdeckungen nützlich ist. Erfordert Segmentierungsetiketten. |
copy_paste_mode |
str |
'flip' |
- | Auswahl der Copy-Paste-Erweiterungsmethode aus den Optionen von ("flip" , "mixup" ). |
auto_augment |
str |
'randaugment' |
- | Wendet automatisch eine vordefinierte Erweiterungsrichtlinie an (randaugment , autoaugment , augmix ), die durch Diversifizierung der visuellen Merkmale für Klassifizierungsaufgaben optimiert werden. |
erasing |
float |
0.4 |
0.0 - 0.9 |
Löscht einen Teil des Bildes während des Klassifizierungstrainings nach dem Zufallsprinzip, damit sich das Modell bei der Erkennung auf weniger offensichtliche Merkmale konzentrieren kann. |
crop_fraction |
float |
1.0 |
0.1 - 1.0 |
Beschneidet das Klassifizierungsbild auf einen Bruchteil seiner Größe, um die zentralen Merkmale hervorzuheben und sich an den Maßstab des Objekts anzupassen, wodurch die Ablenkung durch den Hintergrund reduziert wird. |
Passen Sie diese Einstellungen an die Anforderungen des Datensatzes und der Aufgabe an. Das Experimentieren mit verschiedenen Werten kann helfen, die optimale Augmentierungsstrategie für die beste Modellleistung zu finden.
Protokollierung, Kontrollpunkte und Plot-Einstellungen
Protokollierung, Kontrollpunkte, Plotten und Dateiverwaltung sind beim Training eines YOLO wichtig:
- Protokollierung: Verfolgen Sie den Fortschritt des Modells und diagnostizieren Sie Probleme mit Hilfe von Bibliotheken wie TensorBoard oder durch Schreiben in eine Datei.
- Kontrollpunkte: 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 mit Bibliotheken wie matplotlib oder TensorBoard.
- Dateiverwaltung: Organisieren Sie die während des Trainings erzeugten Dateien, wie z. B. Kontrollpunkte, Protokolldateien und Diagramme, um den Zugriff und die Analyse zu erleichtern.
Eine effektive Verwaltung dieser Aspekte hilft bei der Verfolgung der Fortschritte und erleichtert die Fehlersuche und Optimierung.
Argument | Standard | Beschreibung |
---|---|---|
project |
'runs' |
Gibt das Stammverzeichnis zum Speichern von Trainingsläufen an. Jeder Lauf wird in einem eigenen Unterverzeichnis gespeichert. |
name |
'exp' |
Legt den Namen des Experiments fest. Wenn er nicht angegeben wird, erhöht YOLO diesen Namen für jeden Lauf (z.B., exp , exp2 ), um ein Überschreiben zu vermeiden. |
exist_ok |
False |
Legt fest, ob ein vorhandenes Experimentierverzeichnis überschrieben werden soll. True erlaubt das Überschreiben; False verhindert dies. |
plots |
False |
Steuert die Erstellung und Speicherung von Trainings- und Validierungsdiagrammen. Setzen auf True um Darstellungen wie Verlustkurven zu erstellen, Präzision-Rückruf Kurven und Musterprognosen zur visuellen Verfolgung der Leistung. |
save |
False |
Ermöglicht das Speichern von Trainingskontrollpunkten und endgültigen Modellgewichten. Setzen auf True um den Zustand des Modells regelmäßig zu speichern, damit das Training wieder aufgenommen oder das Modell eingesetzt werden kann. |
FAQ
Wie kann ich die Leistung meines YOLO während der Ausbildung verbessern?
Verbessern Sie die Leistung durch Abstimmung von Hyperparametern wie Stapelgröße, Lernrate, Dynamik und Gewichtsabnahme. Passen Sie die Einstellungen für die Datenerweiterung an, wählen Sie den richtigen Optimierer und verwenden Sie Techniken wie frühes Stoppen oder gemischte Präzision. Weitere Informationen finden Sie in der Trainingsanleitung.
Welches sind die wichtigsten Hyperparameter für die Genauigkeit des YOLO ?
Zu den wichtigsten Hyperparametern, die die Genauigkeit beeinflussen, gehören:
- Chargengröße (
batch
): Größere Formate können das Training stabilisieren, benötigen aber mehr Speicherplatz. - Lernrate (
lr0
): Kleinere Raten bieten feine Anpassungen, aber eine langsamere Konvergenz. - Momentum (
momentum
): Beschleunigt die Gradientenvektoren und dämpft die Schwingungen. - Bildgröße (
imgsz
): Größere Größen verbessern die Genauigkeit, erhöhen aber die Rechenlast.
Passen Sie diese auf der Grundlage Ihres Datensatzes und Ihrer Hardware an. Weitere Informationen finden Sie unter Zugeinstellungen.
Wie stelle ich die Lernrate für das Training eines YOLO Modells ein?
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 bei Bedarf an. Verwenden Sie Scheduler mit Kosinus-Lernrate (cos_lr
) oder Aufwärmen (warmup_epochs
, warmup_momentum
). Einzelheiten sind in der Zugführer.
Welches sind die Standardeinstellungen für YOLO Modelle?
Die Standardeinstellungen umfassen:
- Konfidenzschwelle (
conf=0.25
): Mindestvertrauen für Entdeckungen. - IoU-Schwellenwert (
iou=0.7
): Für Nicht-Maximum-Unterdrückung (NMS). - Bildgröße (
imgsz=640
): Ändert die Größe der eingegebenen Bilder. - Gerät (
device=None
): Wählt CPU oder GPU.
Einen vollständigen Überblick finden Sie unter Predict-Einstellungen und im Predict-Handbuch.
Warum ein gemischtes Präzisionstraining mit YOLO ?
Gemischte Präzision Ausbildung (amp=True
) reduziert die Speichernutzung und beschleunigt das Training mit FP16 und FP32. Es ist vorteilhaft für moderne GPUs und ermöglicht größere Modelle und schnellere Berechnungen ohne signifikante Genauigkeitsverluste. Erfahren Sie mehr in der Zugführer.