Yolo Vision Shenzhen
Shenzhen
Jetzt beitreten
Glossar

YAML

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.

Relevanz im maschinellen Lernen

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 vs. JSON vs. XML

YAML wird oft mit JSON (JavaScript Object Notation) und XML (eXtensible Markup Language) verglichen, doch im KI-Ökosystem dienen sie leicht unterschiedlichen Zwecken.

  • YAML: Am besten geeignet für Konfigurationsdateien, die von Menschen geschrieben und gelesen werden. Es unterstützt Kommentare, die entscheidend für die Dokumentation der Gründe für die Wahl bestimmter Modellgewichte oder Parameter sind.
  • JSON: Ideal für die Maschine-zu-Maschine-Kommunikation, wie Web-APIs oder das Speichern von Inferenz-Ergebnissen. Es ist strenger und für Menschen schwieriger, manuell zu bearbeiten, da Anführungszeichen und Klammern erforderlich sind und es keine Kommentarunterstützung gibt.
  • XML: Ein ausführlicheres Format, das häufig in Altsystemen oder zur Speicherung komplexer Dokumente (wie VOC ) verwendet wird. Es wird im Allgemeinen als zu umfangreich für einfache Konfigurationsaufgaben in modernen Deep-Learning-Workflows angesehen.

Real-World-Anwendungen in AI

YAML findet in mehreren kritischen Phasen des KI-Entwicklungszyklus Anwendung:

  • Datenkonfiguration: Bei der Arbeit mit Objekterkennung Datensätze wie COCO benutzerdefinierte Daten auf dem Ultralytics, eine YAML-Datei (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.
  • CI/CD-Pipelines: In Workflows zur kontinuierlichen Integration verwenden Tools wie GitHub Actions YAML, um Automatisierungsschritte zu definieren. Dazu kann die Ausführung von Unit-Tests auf einer neuen neuronalen Netzwerkarchitektur oder die Bereitstellung eines Modells in einem Docker-Container gehören, wenn Code in ein Repository gepusht wird.

Beispiel: Konfigurieren eines YOLO laufs

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)

Syntax-Schlüsselkonzepte

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.

  • Einrückung: YAML verwendet Leerzeichen (keine Tabulatoren), um die Struktur zu kennzeichnen. Verschachtelte Elemente müssen weiter eingerückt werden als ihre übergeordneten Elemente.
  • Schlüssel-Wert-Paare: Die Daten werden gespeichert als key: valueZum Beispiel: epochs: 100 legt die Anzahl der Trainingszyklen fest.
  • Listen: Sequenzen werden durch einen Bindestrich gekennzeichnet. -Dies ist nützlich, um Listen von Datenaugmentierungsstrategien Schritte oder mehrere Eingangsquellen .
  • Kommentare: Zeilen, die mit # 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.

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