Úvod do YAML

CI/CD pro Machine Learning

Ravi Bhadauria

Machine Learning Engineer

Co je YAML?

  • YAML: YAML Ain't Markup Language
  • Používá se v konfiguračních souborech, výměně dat a reprezentaci strukturovaných dat
  • Jazyk pro formátování dat podobný JSON a XML
  • Umožňuje standardní formát pro přenos dat mezi jazyky nebo aplikacemi
  • Jednoduchý a přehledný formát
  • Platné přípony souborů: .yaml nebo .yml
  • Používá se pro konfiguraci různých nástrojů CI/CD:
    • GitHub Actions
    • Data Version Control (DVC)
CI/CD pro Machine Learning

Syntaxe YAML

  • YAML má hierarchickou strukturu
    • Odsazení je významné
  • Tabulátory nejsou povoleny
  • Validátory YAML (https://www.yamllint.com/)
  • Komentáře začínají #
name: Ravi
occupation: Instructor
# This is a valid comment
programming_languages: # and this one too
  python: Advanced
  go: Intermediate
  scala: Beginner
CI/CD pro Machine Learning

Skaláry YAML

  • Čísla: celá čísla nebo čísla s plovoucí desetinnou čárkou
  • Booleany: true nebo false
  • Null: klíčové slovo null nebo ~
  • Řetězce: jako prostý text nebo ohraničený '' či ""
# 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 pro Machine Learning

Kolekce YAML

Sekvence

  • Také nazývané seznamy, pole nebo vektory
  • Zapisují se dvěma způsoby:

    • Bloková notace

      - first
      - second
      - third
      
    • Průtoková notace

      [first, second, third]
      

Mapování

  • Také nazývané slovníky, páry klíč–hodnota, hashe nebo objekty
  • Unikátní klíče, libovolná platná data jako hodnoty
  • Klíče a hodnoty jsou odděleny :
key1: value1
blocklist:
  - first
  - second
flowlist: [1.2, 2, "fifty", true]
CI/CD pro Machine Learning

Shrnutí

  • YAML je jazyk pro formátování dat
  • Užitečný pro psaní konfigurací CI/CD
  • Odsazení je velmi důležité
    • Tabulátory nejsou povoleny
  • Mapování, sekvence a skaláry jsou stavební bloky YAML

Hierarchický graf datové struktury YAML.

CI/CD pro Machine Learning

Rozvržení editoru

Okomentovaný snímek rozvržení editoru s oblastí složek, souborů a terminálu.

CI/CD pro Machine Learning

Pojďme si procvičit!

CI/CD pro Machine Learning

Preparing Video For Download...