Scopri YOLO26: vision AI di prossima generazione.
Ultralytics
Torna al glossario Ultralytics

YAML

Scopri come YAML semplifica i workflow IA. Scopri come utilizzare i file YAML per configurare i dataset e addestrare i modelli Ultralytics YOLO26 per MLOps più rapidi e semplici.

YAML (YAML Ain't Markup Language) è uno standard di serializzazione dei dati leggibile dagli esseri umani, ampiamente utilizzato nel settore del software per la scrittura di file di configurazione. A differenza di linguaggi di markup più complessi, YAML privilegia una formattazione pulita e la leggibilità, rendendolo una scelta eccellente per sviluppatori e data scientist che hanno bisogno di ispezionare o modificare rapidamente i parametri. La sua struttura semplice si basa sull'indentazione anziché su parentesi o tag, il che permette agli utenti di definire strutture dati gerarchiche come liste e dizionari con il minimo ingombro visivo. Nel contesto dell'intelligenza artificiale e del machine learning, YAML funge da ponte critico tra l'intento umano e l'esecuzione della macchina, memorizzando tutto, dai percorsi dei dataset alle impostazioni di hyperparameter tuning, in un formato facile da gestire con il versionamento e da condividere.

Link to this sectionRilevanza nel Machine Learning#

Nelle moderne machine learning operations (MLOps), è essenziale mantenere esperimenti riproducibili e organizzati. I file YAML fungono da modelli per questi esperimenti, racchiudendo tutti i dettagli di configurazione necessari in un unico documento. Framework come i modelli Ultralytics YOLO26 si affidano pesantemente a questi file di configurazione per definire le architetture dei modelli e i protocolli di addestramento.

Quando addestri un modello di computer vision, spesso devi specificare dove risiedono i tuoi training data, quante classi stai rilevando e i nomi di tali classi. Invece di scrivere questi valori direttamente negli script Python, il che può portare a codebase disordinate, separi questi dati in un file YAML. Questa separazione delle responsabilità permette ai ricercatori di scambiare dataset o regolare i learning rates senza toccare la codebase principale, facilitando un migliore experiment tracking e una collaborazione più efficace.

Link to this sectionYAML vs. JSON vs. XML#

Sebbene YAML venga spesso confrontato con JSON (JavaScript Object Notation) e XML (eXtensible Markup Language), questi servono a scopi leggermente diversi nell'ecosistema AI.

  • YAML: Ideale per i file di configurazione scritti e letti dagli esseri umani. Supporta i commenti, fondamentali per documentare il motivo per cui sono stati scelti determinati model weights o parametri.
  • JSON: Ideale per la comunicazione tra macchine, come per le web API o per salvare gli inference results. È più rigoroso e difficile da modificare manualmente per gli esseri umani a causa delle virgolette e delle parentesi necessarie, e manca di supporto per i commenti.
  • XML: Un formato più prolisso, spesso utilizzato in sistemi legacy o per l'archiviazione di documenti complessi (come le Pascal VOC annotations). È generalmente considerato troppo pesante per semplici attività di configurazione nei moderni flussi di lavoro di deep learning.

Link to this sectionApplicazioni reali nell'IA#

YAML trova il suo posto in diverse fasi critiche del ciclo di vita dello sviluppo dell'AI:

  • Dataset Configuration: Quando lavori con dataset di object detection come COCO o dati personalizzati sulla Ultralytics Platform, un file YAML (data.yaml) definisce solitamente i percorsi delle directory per i set di addestramento, validazione e test. Mappa inoltre gli indici di classe (0, 1, 2) ai nomi delle classi (persona, bicicletta, auto), assicurando che il modello comprenda la struttura dei dati.
  • CI/CD Pipelines: Nei flussi di lavoro di continuous integration, strumenti come GitHub Actions utilizzano YAML per definire le fasi di automazione. Ciò può includere l'esecuzione di unit test su una nuova architettura di rete neurale o il deploy di un modello su un Docker container ogni volta che il codice viene inviato a un repository.

Link to this sectionEsempio: Configurare un'esecuzione di addestramento YOLO#

Il seguente esempio dimostra come un tipico file YAML agisca da interfaccia dataset per l'addestramento di un modello YOLO26. Lo snippet Python qui sotto mostra come la libreria Ultralytics utilizzi questo file per avviare il processo di addestramento.

1. Il file coco8.yaml (Concetto): Questo file conterrebbe i percorsi delle immagini e una lista di nomi di classi.

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. Utilizzo in Python: Il codice legge la configurazione e avvia l'addestramento utilizzando i parametri specificati.

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)

Link to this sectionConcetti chiave della sintassi#

Comprendere alcune regole sintattiche chiave aiuta a evitare errori comuni, come ScannerError o ParserError, che spesso si verificano a causa di un'indentazione errata.

  • Indentation: YAML utilizza gli spazi bianchi (spazi, non tabulazioni) per denotare la struttura. Gli elementi nidificati devono essere indentati maggiormente rispetto ai loro elementi genitori.
  • Key-Value Pairs: I dati sono memorizzati come key: value. Ad esempio, epochs: 100 imposta il numero di cicli di addestramento.
  • Lists: le sequenze sono denotate da un trattino -. Questo è utile per definire elenchi di passaggi di data augmentation o origini di input multiple.
  • Comments: Le righe che iniziano con # vengono ignorate dal parser, permettendoti di lasciare note su specifici hyperparameters direttamente nel file.

Padroneggiando YAML, i professionisti possono ottimizzare i propri flussi di lavoro di model training, ridurre gli errori di configurazione e garantire che i loro progetti di AI rimangano scalabili e facili da mantenere.

Explore solutions

Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.

Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.

Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.

Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.

Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.

Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.

Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.

Scopri di più
Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.

Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.

Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.

Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.

Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.

Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.

Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.

Scopri di più
Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.

Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.

Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.

Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.

Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.

Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.

Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.

Scopri di più

Costruiamo insieme il futuro dell'AI!

Inizia il tuo viaggio con il futuro del machine learning