Wprowadzenie do YAML

CI/CD dla uczenia maszynowego

Ravi Bhadauria

Machine Learning Engineer

Czym jest YAML?

  • YAML: YAML Ain't Markup Language
  • Używany w plikach konfiguracyjnych, wymianie danych i reprezentacji danych strukturalnych
  • Język formatowania danych podobny do JSON i XML
  • Umożliwia transfer danych między językami i aplikacjami
  • Prosty i przejrzysty format
  • Dopuszczalne rozszerzenia: .yaml lub .yml
  • Stosowany do konfiguracji narzędzi CI/CD:
    • GitHub Actions
    • Data Version Control (DVC)
CI/CD dla uczenia maszynowego

Składnia YAML

  • YAML ma strukturę hierarchiczną
    • Wcięcia mają znaczenie
  • Tabulatory są niedozwolone
  • Walidatory YAML (https://www.yamllint.com/)
  • Komentarze zaczynają się od #
name: Ravi
occupation: Instructor
# This is a valid comment
programming_languages: # and this one too
  python: Advanced
  go: Intermediate
  scala: Beginner
CI/CD dla uczenia maszynowego

Skalary YAML

  • Liczby: liczby całkowite lub zmiennoprzecinkowe
  • Wartości logiczne: true lub false
  • Null: słowo kluczowe null lub ~
  • Ciągi znaków: zwykły tekst lub ujęty w '' bądź ""
# 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 dla uczenia maszynowego

Kolekcje YAML

Sekwencje

  • Zwane też listami, tablicami lub wektorami
  • Dwa style zapisu:

    • Styl blokowy

      - first
      - second
      - third
      
    • Styl przepływowy

      [first, second, third]
      

Mapowania

  • Zwane też słownikami, parami klucz-wartość, hashami lub obiektami
  • Unikalne klucze, dowolne wartości
  • Klucze i wartości oddzielone są :
key1: value1
blocklist:
  - first
  - second
flowlist: [1.2, 2, "fifty", true]
CI/CD dla uczenia maszynowego

Podsumowanie

  • YAML to język formatowania danych
  • Przydatny do konfiguracji CI/CD
  • Wcięcia są bardzo ważne
    • Tabulatory są niedozwolone
  • Mapowania, sekwencje i skalary to elementy składowe YAML

Hierarchiczny wykres struktury danych YAML.

CI/CD dla uczenia maszynowego

Układ ćwiczeń w edytorze

Opatrzony adnotacjami widok edytora z zaznaczonymi obszarami folderów, plików i terminala.

CI/CD dla uczenia maszynowego

Czas na ćwiczenia!

CI/CD dla uczenia maszynowego

Preparing Video For Download...