Глоссарий

YAML

Открой для себя возможности YAML в AI/ML! Упрощай конфигурации, оптимизируй рабочие процессы и улучшай читаемость с помощью этого универсального формата данных.

Обучай модели YOLO просто
с помощью Ultralytics HUB.

Узнай больше

YAML Ain't Markup Language (YAML) - это человекочитаемый язык сериализации данных. Он обычно используется для конфигурационных файлов и в приложениях, где хранятся или передаются данные. В контексте ИИ и машинного обучения основная роль YAML заключается в том, чтобы сделать конфигурационные файлы легко понятными и управляемыми, преодолевая разрыв между человеческой читаемостью и машинной обработкой.

Ключевые особенности YAML

YAML создан для того, чтобы его легко читали и писали люди. Его чистый и понятный синтаксис опирается на отступы, а не на скобки или теги для определения структуры. Это делает файлы YAML гораздо менее загроможденными и более простыми для навигации по сравнению с другими форматами данных, такими как XML или JSON. Ключевые особенности включают в себя:

  • Человекочитаемый формат: Синтаксис YAML делает упор на читабельность, используя пробельные символы и отступы для определения иерархических структур данных, что упрощает понимание и редактирование конфигурационных файлов.
  • Сериализация данных: YAML эффективен для сериализации структур данных, то есть он может преобразовывать сложные объекты данных в текстовый формат, который можно легко хранить или передавать, а затем восстанавливать.
  • Файлы конфигурации: YAML широко используется для написания конфигурационных файлов в программных приложениях, в том числе в AI и ML. Он позволяет пользователям определять параметры, настройки и рабочие процессы в структурированном и доступном виде.
  • Языковая агностика: YAML предназначен для работы со всеми языками программирования, что делает его универсальным выбором для разнообразных AI и ML-проектов, которые могут включать в себя несколько языков и фреймворков.
  • Интеграция с инструментами AI/ML: Многие фреймворки и инструменты AI и ML, такие как PyTorch и TensorFlow, поддерживают YAML для конфигурации, упрощая настройку и кастомизацию моделей и процессов обучения.

YAML в приложениях для искусственного интеллекта и ML

В области AI и ML файлы YAML незаменимы для управления конфигурациями, определения архитектуры моделей и настройки конвейеров обучения. Вот несколько примеров из реальной жизни:

  • Конфигурация модели в Ultralytics YOLO: При работе с Ultralytics YOLO Модели, YAML-файлы используются для определения архитектуры модели, путей к набору данных, гиперпараметров обучения, таких как размер партии и скорость обучения, а также различные другие настройки. Например. yolov8s.yaml Файл задает слои и параметры небольшой модели YOLOv8 , позволяя пользователям легко настраивать или повторять эксперименты. Эти конфигурационные файлы необходимы как для обучения пользовательских моделей, так и для развертывания предварительно обученных моделей с помощью Ultralytics HUB.
  • Конфигурация конвейеров данных: YAML также используется для настройки конвейеров данных в ML-проектах. Например, в YAML-файле можно описать этапы предварительной обработки данных, инженерии признаков и дополнения данных. Это позволяет автоматизировать и воспроизводить рабочие процессы с данными, обеспечивая последовательность и эффективность обучения моделей.

YAML против JSON

Хотя и YAML, и JSON являются языками сериализации данных, YAML часто предпочитают использовать в AI и ML для конфигурирования из-за его повышенной читабельности. JSON, хотя тоже в какой-то степени читается человеком, использует больше знаков препинания, таких как скобки и брекеты, что может сделать сложные конфигурации более сложными для разбора с первого взгляда. Благодаря тому, что в YAML используются отступы и минимальный синтаксис, конфигурационные файлы получаются более чистыми и интуитивно понятными, что снижает вероятность ошибок и улучшает ремонтопригодность сложных AI-проектов.

Используя YAML, специалисты по ИИ и МЛ могут эффективно управлять конфигурациями и передавать их, делая свои рабочие процессы более прозрачными, воспроизводимыми и удобными для совместной работы. Его простота и дружелюбие к человеку делают его незаменимым инструментом в сфере ИИ и МЛ.

Читать полностью