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
  • Langage de formatage des données, semblable à JSON et XML
  • Offre un format standard pour transférer des données entre langages ou applications
  • Format simple et épuré
  • Extensions valides : .yaml ou .yml
  • Sert à définir la configuration de divers 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 une signification
  • 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 nombres à virgule flottante
  • Booléens : true ou false
  • Nul : 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 en ligne

      [first, second, third]
      

Mappages

  • Aussi appelés dictionnaires, paires clé-valeur, hachages ou objets
  • 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ésumé

  • 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 blocs de base de YAML

Graphique hiérarchique de la structure de données YAML.

CI/CD pour le Machine Learning

Mise en page des exercices avec éditeur

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

CI/CD pour le Machine Learning

Passons à la pratique !

CI/CD pour le Machine Learning

Preparing Video For Download...