Introducere în YAML

CI/CD pentru Machine Learning

Ravi Bhadauria

Machine Learning Engineer

Ce este YAML?

  • YAML: YAML Ain't Markup Language
  • Utilizat în fișiere de configurare, schimb de date și reprezentare structurată a datelor
  • Limbaj de formatare a datelor, similar cu JSON și XML
  • Permite un format standard pentru transferul de date între limbaje sau aplicații
  • Format simplu și curat
  • Extensii valide: .yaml sau .yml
  • Folosit pentru configurarea diverselor instrumente CI/CD:
    • GitHub Actions
    • Data Version Control (DVC)
CI/CD pentru Machine Learning

Sintaxa YAML

  • YAML are o structură ierarhică
    • Indentarea este semnificativă
  • Taburile nu sunt permise
  • Validatoare YAML (https://www.yamllint.com/)
  • Comentariile încep cu #
name: Ravi
occupation: Instructor
# This is a valid comment
programming_languages: # and this one too
  python: Advanced
  go: Intermediate
  scala: Beginner
CI/CD pentru Machine Learning

Scalare YAML

  • Numere: întregi sau în virgulă mobilă
  • Booleene: true sau false
  • Null: cuvântul cheie null sau ~
  • Șiruri: text simplu sau între '' ori ""
# 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 pentru Machine Learning

Colecții YAML

Secvențe

  • Numite și liste, tablouri sau vectori
  • Două stiluri de scriere:

    • Stil bloc

      - first
      - second
      - third
      
    • Stil flux

      [first, second, third]
      

Mapări

  • Numite și dicționare, perechi cheie-valoare, hașuri sau obiecte
  • Chei unice, orice date valide ca valori
  • Cheile și valorile sunt separate prin :
key1: value1
blocklist:
  - first
  - second
flowlist: [1.2, 2, "fifty", true]
CI/CD pentru Machine Learning

Rezumat

  • YAML este un limbaj de formatare a datelor
  • Util pentru configurații CI/CD
  • Indentarea este foarte importantă
    • Taburile nu sunt permise
  • Mapările, secvențele și scalarele sunt blocurile de bază ale YAML

Un grafic ierarhic al structurii de date YAML.

CI/CD pentru Machine Learning

Interfața exercițiilor din editor

Imagine adnotată a interfeței de exerciții din editor, cu zona fișierelor, folderelor și terminalului.

CI/CD pentru Machine Learning

Să exersăm!

CI/CD pentru Machine Learning

Preparing Video For Download...