Glossaire

YAML

Découvre la puissance de YAML dans l'IA/ML ! Simplifie les configurations, rationalise les flux de travail et améliore la lisibilité grâce à ce format de données polyvalent.

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

YAML Ain't Markup Language (YAML) est un langage de sérialisation de données lisible par l'homme. Il est couramment utilisé pour les fichiers de configuration et dans les applications où des données sont stockées ou transmises. Dans le contexte de l'IA et du Machine Learning, le rôle principal de YAML est de rendre les fichiers de configuration facilement compréhensibles et gérables, en comblant le fossé entre la lisibilité humaine et le traitement par la machine.

Caractéristiques principales de YAML

YAML est conçu pour être facilement lu et écrit par des humains. Sa syntaxe propre et directe s'appuie sur l'indentation, plutôt que sur des crochets ou des balises, pour définir la structure. Les fichiers YAML sont ainsi beaucoup moins encombrés et plus faciles à parcourir que d'autres formats de données tels que XML ou JSON. Les principales caractéristiques sont les suivantes :

  • Format lisible par l'homme: La syntaxe de YAML met l'accent sur la lisibilité, en utilisant les espaces blancs et l'indentation pour définir des structures de données hiérarchiques, ce qui simplifie la compréhension et l'édition des fichiers de configuration.
  • Sérialisation des données: YAML est efficace pour sérialiser les structures de données, ce qui signifie qu'il peut convertir des objets de données complexes en un format texte qui peut être facilement stocké ou transmis, puis reconstruit.
  • Fichiers de configuration: YAML est largement utilisé pour rédiger des fichiers de configuration dans les applications logicielles, y compris celles d'IA et de ML. Il permet aux utilisateurs de définir des paramètres, des réglages et des flux de travail de manière structurée et accessible.
  • Agnostique au niveau du langage: YAML est conçu pour fonctionner avec tous les langages de programmation, ce qui en fait un choix polyvalent pour divers projets d'IA et de ML qui peuvent impliquer plusieurs langages et frameworks.
  • Intégration avec les outils d'IA/ML: De nombreux cadres et outils d'IA et de ML, tels que PyTorch et TensorFlow, prennent en charge YAML pour la configuration, ce qui simplifie la mise en place et la personnalisation des modèles et des processus de formation.

YAML dans les applications d'IA et de ML

Dans le domaine de l'IA et de la ML, les fichiers YAML sont indispensables pour gérer les configurations, définir les architectures de modèles et mettre en place des pipelines de formation. Voici quelques exemples tirés du monde réel :

  • Configuration du modèle en Ultralytics YOLO: Lorsque tu travailles avec Ultralytics YOLO modèles, les fichiers YAML sont utilisés pour définir l'architecture du modèle, les chemins d'accès aux jeux de données, les hyperparamètres d'entraînement tels que taille du lot et le taux d'apprentissage, ainsi que divers autres paramètres. Par exemple, un yolov8s.yaml spécifie les couches et les paramètres du petit modèle YOLOv8 , ce qui permet aux utilisateurs de personnaliser ou de reproduire facilement les expériences. Ces fichiers de configuration sont essentiels pour former des modèles personnalisés et déployer des modèles préformés à l'aide de Ultralytics HUB.
  • Configuration des pipelines de données: YAML est également utilisé pour configurer les pipelines de données dans les projets ML. Par exemple, un fichier YAML peut décrire les étapes du prétraitement des données, de l'ingénierie des caractéristiques et de l'augmentation des données. Cela permet l'automatisation et la reproductibilité des flux de données, ce qui garantit la cohérence et l'efficacité de l'entraînement des modèles.

YAML vs. JSON

Bien que YAML et JSON soient tous deux des langages de sérialisation de données, YAML est souvent préféré dans l'IA et la ML pour la configuration en raison de sa lisibilité améliorée. JSON, bien qu'il soit également lisible par l'homme dans une certaine mesure, utilise plus de ponctuation comme les accolades et les crochets, ce qui peut rendre les configurations complexes plus difficiles à analyser d'un seul coup d'œil. Le fait que YAML s'appuie sur l'indentation et une syntaxe minimale permet d'obtenir des fichiers de configuration plus propres et plus intuitifs, ce qui réduit les risques d'erreurs et améliore la maintenabilité dans les projets d'IA complexes.

En utilisant YAML, les praticiens de l'IA et de la ML peuvent gérer et communiquer efficacement les configurations, ce qui rend leurs flux de travail plus transparents, reproductibles et plus faciles à collaborer. Sa simplicité et sa nature conviviale en font un outil essentiel dans le paysage de l'IA et de la ML.

Tout lire