Introduktion till YAML

CI/CD för maskininlärning

Ravi Bhadauria

Machine Learning Engineer

Vad är YAML?

  • YAML: YAML Ain't Markup Language
  • Används i konfigurationsfiler, datautbyte och strukturerad datarepresentation
  • Ett dataformateringsspråk liknande JSON och XML
  • Möjliggör ett standardformat för att överföra data mellan språk och applikationer
  • Enkelt och tydligt format
  • Giltiga filändelser: .yaml eller .yml
  • Används för konfiguration i olika CI/CD-verktyg:
    • GitHub Actions
    • Data Version Control (DVC)
CI/CD för maskininlärning

YAML-syntax

  • YAML har en hierarkisk struktur
    • Indragningar är meningsbärande
  • Tabbar är inte tillåtna
  • YAML-validatorer (https://www.yamllint.com/)
  • Kommentarer börjar med #
name: Ravi
occupation: Instructor
# This is a valid comment
programming_languages: # and this one too
  python: Advanced
  go: Intermediate
  scala: Beginner
CI/CD för maskininlärning

YAML-skalärtyper

  • Tal: heltal eller flyttal
  • Booleska värden: true eller false
  • Null: nyckelordet null eller ~
  • Strängar: representeras som klartext eller omslutna av '' eller ""
# 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 för maskininlärning

YAML-samlingar

Sekvenser

  • Kallas även listor, arrayer eller vektorer
  • Skrivs på två sätt:

    • Blockstil

      - first
      - second
      - third
      
    • Flödesstil

      [first, second, third]
      

Mappningar

  • Kallas även dictionary, nyckel-värde-par, hashar eller objekt
  • Unika nycklar, valfri giltig data som värden
  • Nycklar och värden separeras med :
key1: value1
blocklist:
  - first
  - second
flowlist: [1.2, 2, "fifty", true]
CI/CD för maskininlärning

Sammanfattning

  • YAML är ett dataformateringsspråk
  • Användbart för att skriva CI/CD-konfigurationer
  • Indragningar är mycket viktiga
    • Tabbar är inte tillåtna
  • Mappningar, sekvenser och skalärtyper är byggstenarna i YAML

Ett hierarkiskt diagram över YAML:s datastruktur.

CI/CD för maskininlärning

Layout för redigerarövningar

Kommenterad bild av redigerarövningens layout med mapp-, fil- och terminalområde.

CI/CD för maskininlärning

Nu kör vi en övning!

CI/CD för maskininlärning

Preparing Video For Download...