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. Viene comunemente utilizzato per i file di configurazione e nelle applicazioni in cui i dati vengono memorizzati o trasmessi. Nel contesto dell'AI e del Machine Learning, il ruolo principale di YAML è quello di rendere i file di configurazione facilmente comprensibili e gestibili, colmando il divario tra la leggibilità umana e l'elaborazione automatica.

Caratteristiche principali di YAML

YAML è stato progettato per essere facilmente letto e scritto dall'uomo. La sua sintassi pulita e lineare si basa sull'indentazione, piuttosto che su parentesi o tag, per definire la struttura. Questo rende i file YAML molto meno ingombranti e più facili da navigare rispetto ad altri formati di dati come XML o JSON. Le caratteristiche principali includono:

  • Formato leggibile: La sintassi di YAML enfatizza la leggibilità, utilizzando spazi bianchi e rientri per definire strutture di dati gerarchiche, rendendo semplice la comprensione e la modifica dei file di configurazione.
  • Serializzazione dei dati: YAML è efficace per la serializzazione delle strutture di dati, ovvero può convertire oggetti di dati complessi in un formato di testo che può essere facilmente memorizzato o trasmesso e poi ricostruito.
  • File di configurazione: YAML è ampiamente utilizzato per scrivere file di configurazione nelle applicazioni software, comprese quelle di AI e ML. Permette agli utenti di definire parametri, impostazioni e flussi di lavoro in modo strutturato e accessibile.
  • Agnostico rispetto ai linguaggi: YAML è stato progettato per funzionare con tutti i linguaggi di programmazione, il che lo rende una scelta versatile per i diversi progetti di intelligenza artificiale e ML che possono coinvolgere più linguaggi e framework.
  • Integrazione con strumenti di AI/ML: Molti framework e strumenti di AI e ML, come ad esempio PyTorch e TensorFlowsupportano YAML per la configurazione, semplificando l'impostazione e la personalizzazione dei modelli e dei processi di formazione.

YAML nelle applicazioni AI e ML

Nel campo dell'intelligenza artificiale e del ML, i file YAML sono indispensabili per gestire le configurazioni, definire le architetture dei modelli e impostare le pipeline di addestramento. Ecco un paio di esempi reali:

  • Configurazione del modello in Ultralytics YOLO: Quando si lavora con Ultralytics YOLO I file YAML vengono utilizzati per definire l'architettura del modello, i percorsi del dataset, gli iperparametri di addestramento, come ad esempio Dimensione del lotto e il tasso di apprendimento e varie altre impostazioni. Ad esempio, un yolov8s.yaml Il file specifica i livelli e i parametri del piccolo modello di YOLOv8 , consentendo agli utenti di personalizzare o replicare facilmente gli esperimenti. Questi file di configurazione sono essenziali sia per l'addestramento di modelli personalizzati che per la distribuzione di modelli pre-addestrati utilizzando Ultralytics HUB.
  • Configurazione della pipeline di dati: YAML viene utilizzato anche per configurare le pipeline di dati nei progetti di ML. Ad esempio, un file YAML può descrivere i passaggi per la pre-elaborazione dei dati, l'ingegnerizzazione delle caratteristiche e l'incremento dei dati. Questo permette di automatizzare e riprodurre i flussi di lavoro dei dati, garantendo coerenza ed efficienza nella formazione dei modelli.

YAML vs. JSON

Sebbene sia YAML che JSON siano linguaggi di serializzazione dei dati, YAML è spesso preferito in AI e ML per la configurazione grazie alla sua maggiore leggibilità. JSON, sebbene sia in qualche modo leggibile, utilizza una maggiore quantità di punteggiatura, come le parentesi e le graffe, che può rendere le configurazioni complesse più difficili da analizzare a colpo d'occhio. L'uso di YAML per l'indentazione e la sintassi minimale si traduce in file di configurazione più puliti e intuitivi, riducendo le possibilità di errore e migliorando la manutenibilità di progetti di intelligenza artificiale complessi.

Utilizzando YAML, i professionisti dell'AI e del ML possono gestire e comunicare in modo efficace le configurazioni, rendendo i loro flussi di lavoro più trasparenti, riproducibili e facili da collaborare. La sua semplicità e la sua natura human-friendly lo rendono uno strumento essenziale nel panorama dell'AI e del ML.

Leggi tutto