Glossar

YAML

Entdecke die Leistungsfähigkeit von YAML in AI/ML! Vereinfache Konfigurationen, straffe Arbeitsabläufe und verbessere die Lesbarkeit mit diesem vielseitigen Datenformat.

Trainiere YOLO Modelle einfach
mit Ultralytics HUB

Mehr erfahren

YAML Ain't Markup Language (YAML) ist eine für Menschen lesbare Sprache zur Datenserialisierung, die häufig für Konfigurationsdateien und in Anwendungen verwendet wird, in denen Daten gespeichert oder übertragen werden. YAML wurde mit dem Ziel der Einfachheit und Lesbarkeit entwickelt und ist besonders wertvoll für Künstliche Intelligenz (KI) und Maschinelles Lernen (ML), um komplexe Konfigurationen für Modelle, Trainingsprozesse und Einsatzpipelines zu verwalten. Seine einfache Syntax macht AI/ML-Workflows verständlicher, wartbar und reproduzierbar.

Die wichtigsten Merkmale von YAML

Bei YAML steht die Lesbarkeit im Vordergrund. Seine Struktur basiert stark auf Einrückungen, um die Hierarchie zu verdeutlichen, ähnlich wie in PythonDas führt zu saubereren Dateien als bei Formaten wie XML oder JSON. Die wichtigsten Merkmale sind:

  • Von Menschen lesbare Syntax: Die minimale Verwendung von Klammern oder Tags macht die Dateien einfach zu lesen und zu bearbeiten.
  • Struktur durch Einrückung: Verwendet Leerzeichen (keine Tabulatoren), um verschachtelte Strukturen zu definieren, was die Übersichtlichkeit verbessert.
  • Unterstützung für Datenstrukturen: Unterstützt gängige Datentypen wie Skalare (Strings, Zahlen, Boolesche Werte), Listen (Sequenzen) und Dictionaries (Mappings/Schlüssel-Wert-Paare) von Haus aus.
  • Kommentare: Ermöglicht das Hinzufügen von Kommentaren mit der # Symbol für die Dokumentation in der Datei.
  • Vielseitigkeit: Kann komplexe Datenstrukturen darstellen, die für verschiedene Konfigurationsanforderungen geeignet sind.

Mehr über seine Struktur erfährst du in der offiziellen YAML-Spezifikation.

YAML in KI- und ML-Anwendungen

YAML-Dateien sind in der KI- und ML-Landschaft weit verbreitet, um verschiedene Aspekte eines Projektlebenszyklus zu definieren und zu verwalten. Durch die Trennung von Konfiguration und Code werden Konsistenz und Zusammenarbeit gefördert. Zu den wichtigsten Anwendungsbereichen gehören:

YAML vs. andere Formate

YAML dient zwar ähnlichen Zwecken wie andere Formate zur Datenserialisierung, hat aber andere Eigenschaften:

  • YAML vs. JSON (JavaScript Object Notation): Beide sind für Menschen lesbar und unterstützen ähnliche Datenstrukturen. JSON ist strenger und erfordert Anführungszeichen um Zeichenketten und die Verwendung von geschweiften Klammern {} und Klammern []. YAML wird aufgrund der Einrückung und der minimalen Syntax oft als besser lesbar für komplexe Konfigurationen angesehen. JSON wird jedoch häufiger für Web-APIs verwendet. Weitere Einzelheiten findest du unter JSON.org.
  • YAML vs. XML (Extensible Markup Language): XML ist eine Auszeichnungssprache, die von der W3C die Tags verwendet (<tag>...</tag>), um Elemente zu definieren. Es ist ausführlicher als YAML und JSON. Es ist zwar leistungsstark für die Strukturierung und Validierung von Dokumenten (z. B. in Datenanmerkung), wird XML für Konfigurationsdateien, bei denen die Lesbarkeit im Vordergrund steht, im Allgemeinen weniger bevorzugt als der saubere Stil von YAML.

YAMLs Fokus auf menschliche Lesbarkeit macht es zu einer ausgezeichneten Wahl für Konfigurationsdateien in KI/ML-Projekten. Es vereinfacht die Verwaltung und verbessert die Zusammenarbeit, insbesondere innerhalb von Plattformen wie Ultralytics HUB, die den ML-Lebenszyklus rationalisieren.

Alles lesen