Yolo Vision Shenzhen
Shenzhen
Jetzt beitreten
Glossar

YAML

Entdecken Sie die Leistungsfähigkeit von YAML in KI/ML! Vereinfachen Sie Konfigurationen, optimieren Sie Arbeitsabläufe und verbessern Sie die Lesbarkeit mit diesem vielseitigen Datenformat.

YAML, die Abkürzung für "YAML Ain't Markup Language", ist ein Standard zur Standard zur Serialisierung von Daten, der häufig für Konfigurationsdateien Konfigurationsdateien und den Datenaustausch zwischen Sprachen. Im Gegensatz zu ausführlicheren Formaten legt YAML den Schwerpunkt auf Sauberkeit und Benutzerfreundlichkeit, YAMLit setzt auf Einrückung statt auf Klammern oder Tags zur Definition der Struktur. Dieser minimalistische Ansatz macht es zu einer bevorzugten für Entwickler und Datenwissenschaftler, die in den Bereichen Maschinelles Lernen (ML) und Künstliche Intelligenz (KI), wo wo die klare Definition komplexer Umgebungen und Parameter unerlässlich ist. Die offizielle Spezifikation können Sie auf der YAML-Website.

Die Rolle von YAML in KI-Workflows

Im Bereich des Deep Learning (DL) dient YAML als das Rückgrat für die Verwaltung und Reproduzierbarkeit von Experimenten. Komplexe Systeme erfordern oft die Definition von hunderten von Parameter, von Dateipfaden bis hin zu mathematischen Konstanten. Durch die Auslagerung dieser Einstellungen in YAML-Dateien können Forscher Trainingsdatenkonfigurationen und Modellarchitekturen Modellarchitekturen von der Codebasis getrennt bleiben. Diese Trennung erleichtert die DataOps-Praktiken und ermöglicht eine einfachere Versionskontrolle von Versuchsaufbauten.

Praktische Anwendungen des maschinellen Lernens

YAML ist in modernen KI-Entwicklungsstacks allgegenwärtig. Hier sind zwei primäre Möglichkeiten, wie es verwendet wird:

  1. Definition des Datensatzes: Eine der häufigsten Anwendungen in der Computer Vision (CV) ist die Definition von Datensatz Strukturen. Zum Beispiel bei der Vorbereitung von Objekterkennung typischerweise eine YAML-Datei die Stammverzeichnisse für die Trainings- und Validierungsdaten, die Anzahl der Klassen und die Klassennamen. Ultralytics verwendet dieses Format zum nahtlosen Laden von Benchmarks wie COCO oder benutzerdefinierte Datensätze.
  2. Hyperparameter-Konfiguration: Um die beste Modellleistung zu erzielen, ist eine rigorose Abstimmung der Hyperparameter. Eine YAML-Datei kann kritische Trainingsvariablen wie die Lernrate, Stapelgröße, Gewichtsabnahme und die Anzahl der Epochen. Dies ermöglicht es Ingenieuren, mehrere Experimente durchzuführen durch einfaches Austauschen von Konfigurationsdateien, ohne den zugrunde liegenden Python zu verändern.

YAML vs. JSON und XML

Obwohl YAML Ähnlichkeiten mit anderen Formaten aufweist, unterscheidet es sich in seiner Designphilosophie und seinen Anwendungsfällen:

  • YAML vs. JSON: JSON (JavaScript Object Notation) wird häufig für Web APIs. JSON unterstützt jedoch keine Kommentare, die für die Dokumentation von wissenschaftlichen Experimenten unerlässlich sind. YAML unterstützt Kommentare und gilt im Allgemeinen als besser lesbar für die Konfiguration, obwohl JSON oft schneller zu parsen ist.
  • YAML vs. XML: XML (eXtensible Markup Language) verwendet öffnende und schließende Tags, wodurch die Dateien deutlich größer und für den Menschen schwerer zu lesen sind. Die auf Einrückungen basierende Struktur von YAML reduziert die visuelle Unübersichtlichkeit und eignet sich daher besser für die Pflege von Software-Konfigurationsmanagement Dateien.

Anwendung von YAML mit Ultralytics

Bei der Arbeit mit dem Ultralytics YOLO11 sind YAML-Dateien von grundlegender Bedeutung für die Definition der Daten, die das Modell sieht. Die data Argument in der Trainingsfunktion akzeptiert eine YAML-Datei, die auf Ihre Bilder und Labels verweist.

Das folgende Beispiel zeigt, wie eine Trainingssitzung mit einer Standard-Datensatz-Konfigurationsdatei initiiert wird.

from ultralytics import YOLO

# Load a standard YOLO11 model
model = YOLO("yolo11n.pt")

# Train the model using the 'coco8.yaml' dataset configuration
# The YAML file contains paths to images and class names (e.g., person, bus)
results = model.train(data="coco8.yaml", epochs=5, imgsz=640)

Integration in ein breiteres Ökosystem

Über die direkte Modellschulung hinaus ist YAML ein integraler Bestandteil des breiteren MLOps-Ökosystem. Es ist das Standardkonfigurationsformat für Docker Compose bei der Orchestrierung Containern für die Modellbereitstellung. Ähnlich, Kubernetes verwendet YAML, um zu definieren, wie Anwendungen in der Cloud skaliert werden.

Automatisierungstools wie GitHub Actions nutzen YAML ebenfalls zur Definition von CI/CD-Workflows, um sicherzustellen, dass automatisierte Tests und Integration reibungslos abläuft, sobald Code veröffentlicht wird. Python verwenden häufig die PyYAML-Bibliothek, um diese Dateien programmatisch zu lesen und zu schreiben Dateien programmatisch zu lesen und zu schreiben und so die Lücke zwischen statischer Konfiguration und dynamischer Codeausführung zu schließen.

Werden Sie Mitglied der Ultralytics

Gestalten Sie die Zukunft der KI mit. Vernetzen Sie sich, arbeiten Sie zusammen und wachsen Sie mit globalen Innovatoren

Jetzt beitreten