Вступ до YAML

CI/CD для машинного навчання

Ravi Bhadauria

Machine Learning Engineer

Що таке YAML?

  • YAML: YAML Ain't Markup Language
  • Використовується у файлах конфігурацій, для обміну та подання структурованих даних
  • Мова форматування даних, подібна до JSON та XML
  • Дає стандартний формат для передавання даних між мовами чи застосунками
  • Простий і лаконічний формат
  • Підтримувані розширення файлів: .yaml або .yml
  • Використовується для конфігурацій різних CI/CD інструментів:
    • GitHub Actions
    • Data Version Control (DVC)
CI/CD для машинного навчання

Синтаксис YAML

  • YAML має ієрархічну структуру
    • Відступи мають значення
  • Табуляції не дозволені
  • Валідатори YAML (https://www.yamllint.com/)
  • Коментарі починаються з #
name: Ravi
occupation: Instructor
# This is a valid comment
programming_languages: # and this one too
  python: Advanced
  go: Intermediate
  scala: Beginner
CI/CD для машинного навчання

Скалярні значення YAML

  • Числа: цілі або з плавальною комою
  • Булеві значення: true або false
  • Null: ключове слово null або ~
  • Рядки: як звичайний текст або в '' чи ""
# 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 для машинного навчання

Колекції YAML

Послідовності

  • Також звані списками, масивами або векторами
  • Записують у двох стилях:

    • Блоковий стиль

      - first
      - second
      - third
      
    • Потоковий стиль

      [first, second, third]
      

Відображення (mappings)

  • Також звані словником, парами ключ-значення, хешами чи об'єктами
  • Унікальні ключі, будь-які допустимі дані як значення
  • Ключі та значення розділяються двокрапкою :
key1: value1
blocklist:
  - first
  - second
flowlist: [1.2, 2, "fifty", true]
CI/CD для машинного навчання

Підсумок

  • YAML — мова форматування даних
  • Корисний для написання CI/CD конфігурацій
  • Відступи дуже важливі
    • Табуляції не дозволені
  • Основні блоки YAML: відображення, послідовності та скаляри

Ієрархічна діаграма структури даних YAML.

CI/CD для машинного навчання

Макет вправ у редакторі

Підписане зображення макета вправи з редактором із папкою, файлом і терміналом.

CI/CD для машинного навчання

Давайте потренуємось!

CI/CD для машинного навчання

Preparing Video For Download...