Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

YAML

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

YAML, acronimo di "YAML Ain't Markup Language", è uno standard di serializzazione dei dati leggibile dall'uomo, comunemente usato per le configurazioni. dati comunemente usato per i file di configurazione e per lo scambio di dati tra e per lo scambio di dati tra linguaggi. A differenza dei formati più verbosi, YAML privilegia la pulizia e la facilità d'uso, basandosi sull'indentazione piuttosto che su parentesi o tag per definire la struttura. Questo approccio minimalista lo rende una scelta scelta per gli sviluppatori e i data scientist che lavorano nei settori del Apprendimento automatico (ML) e Intelligenza Artificiale (AI), dove definire chiaramente ambienti e parametri complessi è essenziale. È possibile esplorare le specifiche ufficiali sul sito sito web di YAML.

Il ruolo di YAML nei flussi di lavoro dell'intelligenza artificiale

Nel regno del Deep Learning (DL), YAML serve come per la gestione degli esperimenti e la riproducibilità. I sistemi complessi spesso richiedono la definizione di centinaia di parametri, dai percorsi dei file alle costanti matematiche. Esternalizzando queste impostazioni in file YAML, i ricercatori possono assicurano che le configurazioni dei dati di addestramento e le architetture dei modelli e le architetture dei modelli rimangano separate dalla base di codice. Questa separazione facilita le pratiche di DataOps e consente un più facile controllo di versione delle sperimentali.

Applicazioni del mondo reale nell'apprendimento automatico

YAML è onnipresente nei moderni stack di sviluppo dell'intelligenza artificiale. Ecco due modi principali in cui viene utilizzato:

  1. Definizione di set di dati: Uno degli usi più comuni nella Computer Vision (CV) è quello di definire le strutture dei dataset strutture dei dataset. Ad esempio, quando si prepara il rilevamento di oggetti, un file YAML di solito specifica le directory principali per i dati di dati di addestramento e di convalida, il numero di classi e i nomi delle classi. nomi delle classi. Ultralytics utilizza questo formato per caricare senza problemi benchmark come COCO o set di dati personalizzati.
  2. Configurazione degli iperparametri: Per ottenere le migliori prestazioni del modello è necessaria una rigorosa regolazione degli iperparametri. Un file YAML può memorizzare variabili critiche per l'addestramento, come il tasso di apprendimento, dimensione del batch, il decadimento del peso e il numero di epoche. Questo permette agli ingegneri di eseguire più esperimenti semplicemente scambiando i file di configurazione senza modificare il codice Python sottostante.

YAML vs. JSON e XML

Sebbene YAML abbia delle somiglianze con altri formati, si distingue per la sua filosofia di progettazione e per i casi d'uso:

  • YAML vs. JSON: JSON (JavaScript Object Notation) è ampiamente utilizzato per le API web. API. Tuttavia, JSON non supporta i commenti, che sono fondamentali per documentare gli esperimenti scientifici. YAML supporta i ed è generalmente considerato più leggibile per la configurazione, anche se JSON è spesso più veloce da analizzare.
  • YAML vs. XML: XML (eXtensible Markup Language) utilizza tag di apertura e chiusura, rendendo i file molto più grandi e difficili da scansionare rapidamente. rendendo i file significativamente più grandi e più difficili da analizzare rapidamente per l'uomo. La struttura di YAML basata sull'indentazione riduce l'ingombro visivo, rendendolo superiore per il mantenimento della gestione della configurazione del software file.

Applicazione di YAML con Ultralytics

Quando si lavora con il modello Ultralytics YOLO11 , i file YAML sono fondamentali per definire i dati che il modello vede. Il data nella funzione di addestramento accetta un file YAML che punta alle immagini e alle etichette.

L'esempio seguente mostra come avviare una sessione di addestramento utilizzando un file di configurazione di un set di dati standard.

from ultralytics import YOLO

# Load a standard YOLO11 model
model = YOLO("yolo11n.pt")

# Train the model using the 'coco8.yaml' dataset configuration
# The YAML file contains paths to images and class names (e.g., person, bus)
results = model.train(data="coco8.yaml", epochs=5, imgsz=640)

Integrazione dell'ecosistema più ampio

Al di là della formazione diretta dei modelli, YAML è parte integrante del più ampio ecosistema ecosistema MLOps. È il formato formato di configurazione standard per Docker Compose durante l'orchestrazione dei contenitori per la distribuzione dei modelli. Allo stesso modo, Kubernetes utilizza YAML per definire la scalabilità delle applicazioni nel cloud.

Anche gli strumenti di automazione come GitHub Actions si basano su YAML per definire i flussi di lavoro CI/CD. flussi di lavoro CI/CD, assicurando che i test automatizzati e l'integrazione integrazione avvengano senza intoppi ogni volta che il codice viene inviato. Gli sviluppatori Python usano spesso la libreria PyYAML per leggere e scrivere programmaticamente questi file. per leggere e scrivere programmaticamente questi file, colmando il divario tra la configurazione statica e l'esecuzione dinamica del codice.

Unitevi alla comunità di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora