Introductie tot YAML

CI/CD voor Machine Learning

Ravi Bhadauria

Machine Learning Engineer

Wat is YAML?

  • YAML: YAML Ain't Markup Language
  • Gebruikt voor configuratiebestanden, data-uitwisseling en gestructureerde data
  • Een data-opmaaktaal, vergelijkbaar met JSON en XML
  • Biedt een standaardformaat om data tussen talen/apps te delen
  • Simpel en overzichtelijk formaat
  • Geldige extensies: .yaml of .yml
  • Gebruikt voor configuraties van diverse CI/CD-tools:
    • GitHub Actions
    • Data Version Control (DVC)
CI/CD voor Machine Learning

YAML-syntaxis

  • YAML heeft een hiërarchische structuur
    • Inspringing is betekenisvol
  • Tabs zijn niet toegestaan
  • YAML-validators (https://www.yamllint.com/)
  • Comments beginnen met #
name: Ravi
occupation: Instructor
# This is a valid comment
programming_languages: # and this one too
  python: Advanced
  go: Intermediate
  scala: Beginner
CI/CD voor Machine Learning

YAML-scalars

  • Nummers: gehele of drijvende-kommagetallen
  • Booleans: true of false
  • Null: keyword null of ~
  • Strings: platte tekst of tussen '' of ""
# 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 voor Machine Learning

YAML-collecties

Sequenties

  • Ook wel lists, arrays of vectors
  • Twee stijlen:

    • Blokstijl

      - first
      - second
      - third
      
    • Vloei-stijl

      [first, second, third]
      

Mappings

  • Ook wel dictionary, key-value pairs, hashes of objects
  • Unieke keys, elke geldige data als waarde
  • Keys en values gescheiden door :
key1: value1
blocklist:
  - first
  - second
flowlist: [1.2, 2, "fifty", true]
CI/CD voor Machine Learning

Samenvatting

  • YAML is een data-opmaaktaal
  • Handig voor CI/CD-configuraties
  • Inspringing is cruciaal
    • Tabs zijn niet toegestaan
  • Mappings, sequenties en scalars zijn de bouwstenen van YAML

Een hiërarchische grafiek van de YAML-datastructuur.

CI/CD voor Machine Learning

Lay-out van editoroefeningen

Geannoteerde afbeelding van de editor-oefening met map-, bestand- en terminalgebied.

CI/CD voor Machine Learning

Laten we oefenen!

CI/CD voor Machine Learning

Preparing Video For Download...