Введение в 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]
      

Отображения

  • Также называются словарями, парами ключ–значение, хешами или объектами
  • Уникальные ключи, любые допустимые данные в качестве значений
  • Ключи и значения разделяются символом :
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...