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, souvent utilisé pour les fichiers de configuration et dans les applications où des données sont stockées ou transmises. Conçu pour être simple et lisible, YAML est particulièrement précieux dans l'intelligence artificielle (IA) et l'apprentissage automatique (ML) pour gérer les configurations complexes liées aux modèles, aux processus de formation et aux pipelines de déploiement. Sa syntaxe simple rend les flux de travail AI/ML plus compréhensibles, maintenables et reproductibles.

Caractéristiques principales de YAML

YAML donne la priorité à la lisibilité humaine. Sa structure s'appuie fortement sur l'indentation pour indiquer la hiérarchie, comme en PythonCe qui permet d'obtenir des fichiers plus propres que des formats tels que XML ou JSON. Ses principales caractéristiques sont les suivantes :

  • Syntaxe lisible par l'homme : L'utilisation minimale de parenthèses ou de balises rend les fichiers faciles à lire et à éditer.
  • Structure par l'indentation : Utilise des espaces (et non des tabulations) pour définir les structures imbriquées, ce qui améliore la clarté.
  • Prise en charge des structures de données : Prend en charge de manière native les types de données courants tels que les scalaires (chaînes, nombres, booléens), les listes (séquences) et les dictionnaires (mappings/paires clé-valeur).
  • Commentaires : Permet d'ajouter des commentaires à l'aide de la fonction # pour la documentation dans le fichier.
  • Polyvalence : Peut représenter des structures de données complexes adaptées à divers besoins de configuration.

Tu peux en savoir plus sur sa structure en consultant la spécification YAML officielle.

YAML dans les applications d'IA et de ML

Les fichiers YAML sont largement utilisés dans le paysage de l'IA et du ML pour définir et gérer divers aspects du cycle de vie d'un projet, favorisant la cohérence et la collaboration en séparant la configuration du code. Les principaux domaines d'application comprennent :

YAML et autres formats

Bien que YAML serve des objectifs similaires à d'autres formats de sérialisation de données, il possède des caractéristiques distinctes :

  • YAML vs. JSON (JavaScript Object Notation): Les deux sont lisibles par l'homme et prennent en charge des structures de données similaires. JSON est plus strict, exigeant des guillemets autour des chaînes de caractères et utilisant des accolades {} et les parenthèses []. YAML est souvent considéré comme plus lisible pour les configurations complexes en raison de son utilisation de l'indentation et de sa syntaxe minimale. Cependant, JSON est plus largement utilisé pour les API web. Tu trouveras plus de détails à l'adresse suivante JSON.org.
  • YAML vs. XML (Extensible Markup Language): XML est un langage de balisage défini par le W3C qui utilise des balises (<tag>...</tag>) pour définir les éléments. Il est plus verbeux que YAML et JSON. Bien qu'il soit puissant pour la structuration et la validation des documents (par ex. données annotation), XML est généralement moins préféré pour les fichiers de configuration où la lisibilité est primordiale par rapport au style plus épuré de YAML.

L'accent mis par YAML sur la lisibilité humaine en fait un excellent choix pour les fichiers de configuration dans les projets d'IA/ML, ce qui simplifie la gestion et améliore la collaboration, notamment au sein de plateformes comme Ultralytics HUB qui rationalisent le cycle de vie de la ML.

Tout lire