Erfahren Sie, wie YAML KI-Workflows optimiert. Entdecken Sie, wie Sie YAML-Dateien verwenden können, um Datensätze zu konfigurieren und Ultralytics zu trainieren, um MLOps schneller und einfacher zu gestalten.
YAML (YAML Ain't Markup Language) ist ein für Menschen lesbarer Standard zur Datenserialisierung, der in der Softwareindustrie häufig zum Schreiben von Konfigurationsdateien verwendet wird. Im Gegensatz zu komplexeren Markup-Sprachen legt YAML Wert auf eine übersichtliche Formatierung und Lesbarkeit, was es zu einer ausgezeichneten Wahl für Entwickler und Datenwissenschaftler macht, die Parameter schnell überprüfen oder ändern müssen . Seine einfache Struktur basiert auf Einrückungen statt auf Klammern oder Tags, wodurch Benutzer hierarchische Datenstrukturen wie Listen und Wörterbücher mit minimaler visueller Unübersichtlichkeit definieren können. Im Zusammenhang mit künstlicher Intelligenz und maschinellem Lernen dient YAML als wichtige Brücke zwischen menschlicher Absicht und maschineller Ausführung, indem es alles von Datensatzpfaden bis hin zu Hyperparameter-Einstellungen in einem Format speichert , das sich leicht versionieren und teilen lässt.
Im modernen Machine Learning Operations (MLOps) ist die Aufrechterhaltung reproduzierbarer und organisierter Experimente unerlässlich. YAML-Dateien fungieren als Blaupausen für diese Experimente und fassen alle notwendigen Konfigurationsdetails in einem einzigen Dokument zusammen. Frameworks wie die Ultralytics stützen sich in hohem Maße auf diese Konfigurationsdateien, um Modellarchitekturen und Trainingsprotokolle zu definieren.
Wenn Sie ein Computer-Vision-Modell trainieren, müssen Sie häufig angeben, wo sich Ihre Trainingsdaten befinden, wie viele Klassen Sie erkennen und wie diese Klassen heißen. Anstatt diese Werte fest in Python zu codieren, was zu unübersichtlichen Codebasen führen kann, trennen Sie diese Daten in eine YAML-Datei. Diese Trennung der Aufgabenbereiche ermöglicht es Forschern, Datensätze auszutauschen oder Lernraten anzupassen, ohne die Kerncodebasis zu verändern, was eine bessere Experimentverfolgung und Zusammenarbeit ermöglicht.
YAML wird oft mit JSON (JavaScript Object Notation) und XML (eXtensible Markup Language) verglichen, doch im KI-Ökosystem dienen sie leicht unterschiedlichen Zwecken.
YAML findet in mehreren kritischen Phasen des KI-Entwicklungszyklus Anwendung:
data.yaml) definiert in der Regel die Verzeichnispfade für Trainings-, Validierungs- und Testsätze. Außerdem ordnet es
Klassenindizes (0, 1, 2) Klassennamen (Person, Fahrrad, Auto) zu und stellt so sicher, dass das Modell die Datenstruktur versteht.
Das folgende Beispiel zeigt, wie eine typische YAML-Datei als Datensatzschnittstelle für das Training eines YOLO26-Modells fungiert. Der folgende Python zeigt, wie die Ultralytics diese Datei verwendet, um den Trainingsprozess zu starten.
1. Die coco8.yaml Datei (Konzept):Diese Datei würde Pfade zu Bildern und eine Liste von
Klassennamen enthalten.
path: ../datasets/coco8 # dataset root dir
train: images/train # train images (relative to 'path')
val: images/val # val images (relative to 'path')
# Classes
names:
0: person
1: bicycle
2: car
...
2. Python :Der Code liest die Konfiguration und initiiert das Training unter Verwendung der angegebenen Parameter.
from ultralytics import YOLO
# Load the YOLO26 model (recommended for new projects)
model = YOLO("yolo26n.pt")
# Train the model using the dataset configuration defined in the YAML file
# The 'data' argument points directly to the YAML file
results = model.train(data="coco8.yaml", epochs=5, imgsz=640)
Das Verständnis einiger wichtiger Syntaxregeln hilft, häufige Fehler zu vermeiden, wie z. B. ScannerError oder
ParserError, die häufig aufgrund falscher Einrückungen auftreten.
key: valueZum Beispiel:
epochs: 100 legt die Anzahl der Trainingszyklen fest.
-Dies ist nützlich, um Listen von
Datenaugmentierungsstrategien Schritte oder mehrere Eingangsquellen
.
# werden vom Parser ignoriert, sodass Sie Notizen
zu bestimmten
Hyperparameter direkt in der Datei.
Durch die Beherrschung von YAML können Praktiker ihre Modelltrainings-Workflows optimieren, Konfigurationsfehler reduzieren und sicherstellen, dass ihre KI-Projekte skalierbar und leicht zu warten bleiben.