Introduction à YAML

CI/CD pour le Machine Learning

Ravi Bhadauria

Machine Learning Engineer

Qu'est-ce que YAML ?

  • YAML : YAML Ain't Markup Language
  • Utilisé dans les fichiers de configuration, l'échange de données et la représentation de données structurées
  • Un langage de formatage des données, proche de JSON et XML
  • Permet un format standard pour transférer des données entre langages ou applications
  • Format simple et épuré
  • Extensions valides : .yaml ou .yml
  • Sert à écrire la configuration de nombreux outils CI/CD :
    • GitHub Actions
    • Data Version Control (DVC)
CI/CD pour le Machine Learning

Syntaxe YAML

  • YAML a une structure hiérarchique
    • L'indentation a du sens
  • Les tabulations sont interdites
  • Validateurs YAML (https://www.yamllint.com/)
  • Les commentaires commencent par #
name: Ravi
occupation: Instructor
# This is a valid comment
programming_languages: # and this one too
  python: Advanced
  go: Intermediate
  scala: Beginner
CI/CD pour le Machine Learning

Scalaires YAML

  • Nombres : entiers ou flottants
  • Booléens : true ou false
  • Null : mot-clé null ou ~
  • Chaînes : texte brut ou entouré de '' ou ""
# Integer
42
# Floating point
3.14
# Boolean
true
# Null values
null
# String value
a: "A string in YAML"
b: 'A string in YAML'
c: A string in YAML
CI/CD pour le Machine Learning

Collections YAML

Séquences

  • Aussi appelées listes, tableaux ou vecteurs
  • Deux styles d'écriture :

    • Style bloc

      - first
      - second
      - third
      
    • Style flux

      [first, second, third]
      

Mappages

  • Aussi appelés dictionnaire, paires clé‑valeur, hachage ou objet
  • Clés uniques, toute donnée valide comme valeur
  • Clés et valeurs séparées par :
key1: value1
blocklist:
  - first
  - second
flowlist: [1.2, 2, "fifty", true]
CI/CD pour le Machine Learning

Récapitulatif

  • YAML est un langage de formatage des données
  • Utile pour écrire des configurations CI/CD
  • L'indentation est cruciale
    • Les tabulations sont interdites
  • Mappages, séquences et scalaires sont les briques de base de YAML

Un graphe hiérarchique de la structure de données YAML.

CI/CD pour le Machine Learning

Mise en page des exercices Éditeur

Image annotée de la mise en page d'un exercice éditeur montrant dossier, fichier et terminal.

CI/CD pour le Machine Learning

Passons à la pratique !

CI/CD pour le Machine Learning

Preparing Video For Download...