Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

YAML

Découvrez la puissance de YAML dans l'IA/ML ! Simplifiez les configurations, rationalisez les flux de travail et améliorez la lisibilité grâce à ce format de données polyvalent.

YAML, qui signifie "YAML Ain't Markup Language", est une norme de sérialisation de données lisibles par l'homme, couramment utilisée pour la configuration de sites Web. de sérialisation des données lisible par l'homme, couramment pour les fichiers de configuration et l'échange de données entre langages. Contrairement aux formats plus verbeux, YAML donne la priorité à la propreté et à la facilité d'utilisation, s'appuyant sur l'indentation plutôt que sur des crochets ou des balises pour définir la structure. Cette approche minimaliste en fait un choix privilégié pour les développeurs et les scientifiques des données travaillant dans les domaines de l'apprentissage automatique (ML) et de l'informatique. l 'apprentissage automatique (ML) et Intelligence Artificielle (IA), où où il est essentiel de définir clairement des environnements et des paramètres complexes. Vous pouvez consulter la spécification officielle sur le YAML.

Le rôle de YAML dans les flux de travail de l'IA

Dans le domaine de l'apprentissage profond (DL), YAML sert d'épine dorsale à la gestion et à la reproductibilité des expériences. l'épine dorsale de la gestion et de la reproductibilité des expériences. Les systèmes complexes nécessitent souvent la définition de centaines de paramètres, des chemins d'accès aux fichiers aux constantes mathématiques. En externalisant ces paramètres dans des fichiers YAML, les chercheurs chercheurs s'assurent que les configurations de leurs données d'entraînement et les architectures de leurs modèles restent séparées du code. architectures de modèles restent séparées de la base de code. Cette séparation facilite les pratiques de pratiques DataOps et permet un contrôle de version plus facile des des configurations expérimentales.

Applications réelles de l'apprentissage automatique

YAML est omniprésent dans les piles de développement d'IA modernes. Voici deux façons principales de l'utiliser :

  1. Définition d'un ensemble de données: L'une des utilisations les plus courantes en vision par ordinateur (CV) est la définition des de données. Par exemple, lors de la préparation d'une détection d'objets, un fichier YAML spécifie les répertoires racines pour les données données de formation et de validation, le nombre de classes et les noms des classes. Ultralytics utilise ce format pour charger de manière transparente des benchmarks tels que COCO ou des ensembles de données personnalisés.
  2. Configuration des hyperparamètres: L'obtention des meilleures performances du modèle nécessite un réglage rigoureux des hyperparamètres. un réglage rigoureux des hyperparamètres. Un fichier YAML peut stocker des variables d'apprentissage critiques telles que le taux d'apprentissage, la taille du lot, la décroissance des poids et le nombre d'époques. époques. Cela permet aux ingénieurs d'effectuer plusieurs expériences en échangeant simplement les fichiers de configuration sans modifier le code Python sous-jacent. en échangeant simplement les fichiers de configuration sans modifier le code Python sous-jacent.

YAML vs. JSON et XML

Bien que YAML présente des similitudes avec d'autres formats, il se distingue par sa philosophie de conception et ses cas d'utilisation :

  • YAML vs. JSON: JSON (JavaScript Object Notation) est largement utilisé pour les API web. web. Cependant, JSON ne prend pas en charge les commentaires, qui sont essentiels pour documenter les expériences scientifiques. YAML prend en charge les et est généralement considéré comme plus lisible pour la configuration, bien que JSON soit souvent plus rapide à analyser.
  • YAML vs. XML: XML (eXtensible Markup Language) utilise des balises d'ouverture et de fermeture, ce qui rend les fichiers beaucoup plus volumineux et difficiles à analyser rapidement par les humains. ce qui rend les fichiers beaucoup plus volumineux et plus difficiles à analyser rapidement par les humains. La structure YAML basée sur l'indentation réduit l'encombrement visuel, ce qui la rend supérieure pour la gestion de la configuration des logiciels. gestion de la configuration des logiciels des logiciels.

Appliquer YAML avec Ultralytics

Lorsque l'on travaille avec le modèleYOLO11 d Ultralytics , les fichiers YAML sont fondamentaux pour définir les données que le modèle voit. Les fichiers data dans la fonction d'apprentissage accepte un fichier YAML qui pointe vers vos images et vos étiquettes.

L'exemple suivant montre comment lancer une session de formation à l'aide d'un fichier de configuration de jeu de données 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)

Intégration élargie de l'écosystème

Au-delà de la formation directe des modèles, YAML fait partie intégrante de l'écosystème plus large de MLOps. MLOps. C'est le format de configuration format de configuration standard pour Docker Compose lors de l'orchestration de pour le déploiement de modèles. De même, Kubernetes utilise YAML pour définir la manière dont les applications sont mises à l'échelle dans le nuage.

Les outils d'automatisation tels que GitHub Actions s'appuient également sur YAML pour définir les flux de travail CI/CD. flux de travail CI/CD, garantissant que les tests automatisés et l'intégration automatisés se déroulent sans heurts à chaque fois que du code est mis en ligne. Les développeurs Python utilisent fréquemment la bibliothèque PyYAML pour lire et écrire ces fichiers de manière programmatique, comblant ainsi le fossé entre les fichiers statiques et les fichiers de configuration. pour lire et écrire par programme ces fichiers, comblant ainsi le fossé entre la configuration statique et l'exécution dynamique du code.

Rejoindre la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant