Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас
Глоссарий

YAML

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

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

Роль и применение в ИИ и МО

В контексте искусственного интеллекта (ИИ) YAML является основой управления конфигурациями, играя решающую роль в обеспечении воспроизводимости и упрощении экспериментов. Проекты Deep Learning (DL) часто включают в себя множество настроек, от архитектуры модели до параметров обучения. Хранение этих настроек в файле YAML позволяет легко отслеживать, изменять и делиться экспериментальными установками. Вы можете изучить шпаргалку по синтаксису YAML для быстрого ознакомления.

Два распространенных примера из реального мира в приложениях ИИ включают:

  1. Конфигурация набора данных: Перед обучением модели необходимо определить набор данных. YAML-файл указывает путь к изображениям для обучения и валидации, количество классов объектов и имена этих классов. Этот подход используется Ultralytics для управления наборами данных, такими как COCO. Это гарантирует, что модель точно знает, где найти свои данные и чему она должна научиться.
  2. Обучение и настройка гиперпараметров: YAML-файл идеально подходит для определения всех параметров, необходимых для сеанса обучения. Это включает в себя указание архитектуры модели (например, YOLO11n), размер пакета, скорость обучения, количество эпохии настройки для аугментация данныхЦентрализация этих настроек обеспечивает систематический настройка гиперпараметров и упрощает воспроизведение экспериментов. The Документация Ultralytics предоставляет подробные примеры этих файлов конфигурации.

YAML в сравнении с другими форматами данных

YAML часто сравнивают с другими форматами сериализации данных, такими как JSON и XML.

  • YAML против JSON: Несмотря на функциональную схожесть и то, что YAML является надмножеством JSON (JavaScript Object Notation), YAML часто предпочитают использовать для конфигурационных файлов из-за его лучшей читабельности. В YAML нет скобок и запятых, а есть отступы, и, что очень важно, он поддерживает комментарии, которые неоценимы для документирования выбора конфигурации.
  • YAML против XML: По сравнению с XML (расширяемый язык разметки), YAML гораздо менее многословен. Использование XML открывающих и закрывающих тегов делает его файлы больше и труднее для быстрого анализа людьми, тогда как минималистичный синтаксис YAML предназначен для непосредственного редактирования.

Более широкая экосистема и инструменты

Полезность YAML выходит далеко за рамки компьютерного зрения. Это фундаментальный компонент в мире DevOps, используемый такими инструментами, как Kubernetes для определения контейнерных оркестров и Ansible для создания программ автоматизации ИТ. Эту концепцию часто называют Configuration as Code (CaC).

Для разработчиков, использующих Python, библиотека PyYAML является распространенным инструментом для разбора и генерации данных YAML. Для предотвращения синтаксических ошибок, которые могут быть распространены из-за чувствительности к отступам, рекомендуется использовать валидатор YAML. Такая экосистема инструментов делает YAML надежным выбором для управления всем жизненным циклом MLOps, от первоначальной настройки в Jupyter Notebook до полномасштабного развертывания модели с помощью Docker и конвейеров CI/CD с такими инструментами, как GitHub Actions.

Присоединяйтесь к сообществу Ultralytics

Присоединяйтесь к будущему ИИ. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединиться сейчас
Ссылка скопирована в буфер обмена