Glossario

YAML

Scopri la potenza di YAML nell'AI/ML! Semplifica le configurazioni, snellisci i flussi di lavoro e migliora la leggibilità con questo versatile formato di dati.

Addestra i modelli YOLO semplicemente
con Ultralytics HUB

Per saperne di più

YAML Ain't Markup Language (YAML) è un linguaggio di serializzazione dei dati leggibile dall'uomo, spesso utilizzato per i file di configurazione e nelle applicazioni in cui i dati vengono memorizzati o trasmessi. Progettato per la semplicità e la leggibilità, YAML è particolarmente utile nell'Intelligenza Artificiale (AI) e nell'Apprendimento Automatico (ML) per gestire configurazioni complesse relative a modelli, processi di formazione e pipeline di distribuzione. La sua sintassi semplice rende i flussi di lavoro AI/ML più comprensibili, manutenibili e riproducibili.

Caratteristiche principali di YAML

YAML dà la priorità alla leggibilità umana. La sua struttura si basa molto sull'indentazione per indicare la gerarchia, simile a quella di Pythone questo si traduce in file più puliti rispetto a formati come XML o JSON. Le caratteristiche principali includono:

  • Sintassi leggibile: L'uso minimo di parentesi o tag rende i file facili da leggere e modificare.
  • Struttura attraverso l'indentazione: Utilizza gli spazi (non le tabulazioni) per definire le strutture annidate, migliorando la chiarezza.
  • Supporto per le strutture dati: Supporta in modo nativo i tipi di dati più comuni come gli scalari (stringhe, numeri, booleani), le liste (sequenze) e i dizionari (mappature/coppie chiave-valore).
  • Commenti: Permette di aggiungere commenti utilizzando l'opzione # per la documentazione all'interno del file.
  • Versatilità: Può rappresentare strutture di dati complesse adatte a varie esigenze di configurazione.

Per saperne di più sulla sua struttura, puoi consultare le specifiche ufficiali di YAML.

YAML nelle applicazioni AI e ML

I file YAML sono ampiamente utilizzati nel panorama dell'intelligenza artificiale e del ML per definire e gestire vari aspetti del ciclo di vita di un progetto, promuovendo la coerenza e la collaborazione separando la configurazione dal codice. Le principali aree di applicazione includono:

YAML vs altri formati

Sebbene YAML abbia scopi simili a quelli di altri formati di serializzazione dei dati, ha caratteristiche distinte:

  • YAML vs. JSON (JavaScript Object Notation): Entrambi sono leggibili dall'uomo e supportano strutture di dati simili. JSON è più rigoroso, richiede le virgolette intorno alle stringhe e l'uso di parentesi graffe. {} e le parentesi []. YAML è spesso considerato più leggibile per le configurazioni complesse grazie all'uso dell'indentazione e alla sintassi minimale. Tuttavia, JSON è più utilizzato per le API web. Maggiori dettagli sono disponibili all'indirizzo JSON.org.
  • YAML vs. XML (Extensible Markup Language): L'XML è un linguaggio di markup definito dall'associazione W3C che utilizza i tag (<tag>...</tag>) per definire gli elementi. È più prolisso di YAML e JSON. Pur essendo potente per la strutturazione e la validazione dei documenti (ad esempio, in annotazione dei dati), XML è generalmente meno preferito per i file di configurazione in cui la leggibilità è fondamentale rispetto allo stile più pulito di YAML.

L'attenzione di YAML alla leggibilità umana lo rende una scelta eccellente per i file di configurazione dei progetti di AI/ML, semplificando la gestione e migliorando la collaborazione, soprattutto all'interno di piattaforme come Ultralytics HUB che semplificano il ciclo di vita del ML.

Leggi tutto