Встречай YOLO26: ИИ компьютерного зрения нового поколения.
Ultralytics
Назад к глоссарию Ultralytics

YAML

Узнай, как YAML упрощает ИИ-рабочие процессы. Открой для себя, как использовать файлы YAML для настройки наборов данных и обучения моделей Ultralytics YOLO26 для более быстрых и простых MLOps.

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

Link to this sectionАктуальность в машинном обучении#

В современных machine learning operations (MLOps) крайне важно поддерживать воспроизводимость и организованность экспериментов. YAML-файлы выступают в роли чертежей для этих экспериментов, инкапсулируя все необходимые детали конфигурации в одном документе. Такие фреймворки, как модели Ultralytics YOLO26, активно полагаются на эти конфигурационные файлы для определения архитектур моделей и протоколов обучения.

Когда ты обучаешь модель компьютерного зрения, тебе часто нужно указать, где находятся training data, сколько классов ты распознаешь и каковы их названия. Вместо того чтобы «зашивать» эти значения прямо в скрипты Python, что может привести к беспорядочной кодовой базе, ты отделяешь эти данные в YAML-файл. Такое разделение ответственности позволяет исследователям менять наборы данных или корректировать learning rates, не затрагивая основной код, что способствует лучшему experiment tracking и совместной работе.

Link to this sectionYAML vs. JSON vs. XML#

Хотя YAML часто сравнивают с JSON (JavaScript Object Notation) и XML (eXtensible Markup Language), в экосистеме ИИ они выполняют несколько разные задачи.

  • YAML: Идеален для конфигурационных файлов, которые пишут и читают люди. Он поддерживает комментарии, которые критически важны для документирования того, почему были выбраны конкретные model weights или параметры.
  • JSON: Идеален для взаимодействия между машинами, например, для веб-API или сохранения inference results. Он строже и сложнее для редактирования вручную из-за необходимости использования кавычек и фигурных скобок, к тому же он не поддерживает комментарии.
  • XML: Более многословный формат, часто используемый в устаревших системах или для сложного хранения документов (например, Pascal VOC annotations). Как правило, он считается слишком громоздким для простых задач конфигурации в современных рабочих процессах глубокого обучения.

Link to this sectionРеальные применения в ИИ#

YAML находит свое место на нескольких критических этапах жизненного цикла разработки ИИ:

  • Конфигурация набора данных: При работе с наборами данных для object detection, такими как COCO, или с пользовательскими данными на Ultralytics Platform, YAML-файл (data.yaml) обычно определяет пути к каталогам для наборов обучения, валидации и тестирования. Он также сопоставляет индексы классов (0, 1, 2) с их именами (person, bicycle, car), гарантируя, что модель понимает структуру данных.
  • CI/CD пайплайны: В рабочих процессах continuous integration такие инструменты, как GitHub Actions, используют YAML для определения этапов автоматизации. Это может включать запуск модульных тестов для новой архитектуры нейронной сети или развертывание модели в Docker container при каждом обновлении кода в репозитории.

Link to this sectionПример: настройка процесса обучения YOLO#

Следующий пример демонстрирует, как обычный YAML-файл выступает в роли интерфейса набора данных для обучения модели YOLO26. Фрагмент кода на Python ниже показывает, как библиотека Ultralytics использует этот файл для запуска процесса обучения.

1. Файл coco8.yaml (Концепция): Этот файл содержит пути к изображениям и список имен классов.

path: ../datasets/coco8  # dataset root dir
train: images/train  # train images (relative to 'path')
val: images/val  # val images (relative to 'path')

# Classes
names:
  0: person
  1: bicycle
  2: car
  ...

2. Использование в Python: Код считывает конфигурацию и запускает обучение с использованием указанных параметров.

from ultralytics import YOLO

# Load the YOLO26 model (recommended for new projects)
model = YOLO("yolo26n.pt")

# Train the model using the dataset configuration defined in the YAML file
# The 'data' argument points directly to the YAML file
results = model.train(data="coco8.yaml", epochs=5, imgsz=640)

Link to this sectionОсновные понятия синтаксиса#

Понимание нескольких ключевых правил синтаксиса помогает избежать распространенных ошибок, таких как ScannerError или ParserError, которые часто возникают из-за неправильных отступов.

  • Отступы: YAML использует пробелы (именно пробелы, а не табы) для обозначения структуры. Вложенные элементы должны иметь больший отступ, чем их родительские элементы.
  • Key-Value Pairs: Data is stored as key: value. For example, epochs: 100 sets the number of training cycles.
  • Списки: последовательности обозначаются дефисом -. Это полезно для определения списков этапов data augmentation или нескольких источников входных данных.
  • Комментарии: Строки, начинающиеся с #, игнорируются парсером, что позволяет тебе оставлять заметки о конкретных hyperparameters прямо в файле.

Освоив YAML, ты сможешь оптимизировать свои рабочие процессы model training, сократить количество ошибок конфигурации и обеспечить масштабируемость и простоту сопровождения своих ИИ-проектов.

Explore solutions

Real-time AI that works with your team

ИИ в робототехнике

Делай свои машины умнее с помощью моделей Ultralytics YOLO. ИИ машинного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.

Узнать больше
Real-time AI that works with your team

ИИ в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI позволяет инспектировать посылки, сортировать их, отслеживать транспортные средства и контролировать безопасность на складе в реальном времени.

Узнать больше
Real-time AI that works with your team

ИИ в розничной торговле

Переосмысли ритейл с помощью моделей Ultralytics YOLO. Vision AI расширяет возможности отслеживания запасов, мониторинга полок, управления очередями и более глубокого понимания клиентов.

Узнать больше
Real-time AI that works with your team

ИИ в здравоохранении

Создавай решения для здравоохранения с помощью моделей Ultralytics YOLO. ИИ для зрения в медицине ускоряет анализ медицинских изображений, делает диагностику более точной, а мониторинг пациентов — эффективнее.

Узнать больше
Real-time AI that works with your team

ИИ в производстве

Оптимизируй производство с помощью моделей Ultralytics YOLO. Vision AI управляет контролем качества, обнаружением дефектов, соблюдением СИЗ и автоматизацией сборочных линий.

Узнать больше
Real-time AI that works with your operation

ИИ в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. ИИ для зрения повышает безопасность дорожного движения, помогает водителю и способствует автоматизации транспортных средств для создания более «умных» дорог.

Узнать больше
Real-time AI tailored to your operation

ИИ в сельском хозяйстве

Внедряй ИИ в «умное» сельское хозяйство с помощью моделей Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание скота и точное земледелие для получения более высоких и «умных» урожаев.

Узнать больше
Real-time AI that works with your team

ИИ в робототехнике

Делай свои машины умнее с помощью моделей Ultralytics YOLO. ИИ машинного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.

Узнать больше
Real-time AI that works with your team

ИИ в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI позволяет инспектировать посылки, сортировать их, отслеживать транспортные средства и контролировать безопасность на складе в реальном времени.

Узнать больше
Real-time AI that works with your team

ИИ в розничной торговле

Переосмысли ритейл с помощью моделей Ultralytics YOLO. Vision AI расширяет возможности отслеживания запасов, мониторинга полок, управления очередями и более глубокого понимания клиентов.

Узнать больше
Real-time AI that works with your team

ИИ в здравоохранении

Создавай решения для здравоохранения с помощью моделей Ultralytics YOLO. ИИ для зрения в медицине ускоряет анализ медицинских изображений, делает диагностику более точной, а мониторинг пациентов — эффективнее.

Узнать больше
Real-time AI that works with your team

ИИ в производстве

Оптимизируй производство с помощью моделей Ultralytics YOLO. Vision AI управляет контролем качества, обнаружением дефектов, соблюдением СИЗ и автоматизацией сборочных линий.

Узнать больше
Real-time AI that works with your operation

ИИ в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. ИИ для зрения повышает безопасность дорожного движения, помогает водителю и способствует автоматизации транспортных средств для создания более «умных» дорог.

Узнать больше
Real-time AI tailored to your operation

ИИ в сельском хозяйстве

Внедряй ИИ в «умное» сельское хозяйство с помощью моделей Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание скота и точное земледелие для получения более высоких и «умных» урожаев.

Узнать больше
Real-time AI that works with your team

ИИ в робототехнике

Делай свои машины умнее с помощью моделей Ultralytics YOLO. ИИ машинного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.

Узнать больше
Real-time AI that works with your team

ИИ в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI позволяет инспектировать посылки, сортировать их, отслеживать транспортные средства и контролировать безопасность на складе в реальном времени.

Узнать больше
Real-time AI that works with your team

ИИ в розничной торговле

Переосмысли ритейл с помощью моделей Ultralytics YOLO. Vision AI расширяет возможности отслеживания запасов, мониторинга полок, управления очередями и более глубокого понимания клиентов.

Узнать больше
Real-time AI that works with your team

ИИ в здравоохранении

Создавай решения для здравоохранения с помощью моделей Ultralytics YOLO. ИИ для зрения в медицине ускоряет анализ медицинских изображений, делает диагностику более точной, а мониторинг пациентов — эффективнее.

Узнать больше
Real-time AI that works with your team

ИИ в производстве

Оптимизируй производство с помощью моделей Ultralytics YOLO. Vision AI управляет контролем качества, обнаружением дефектов, соблюдением СИЗ и автоматизацией сборочных линий.

Узнать больше
Real-time AI that works with your operation

ИИ в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. ИИ для зрения повышает безопасность дорожного движения, помогает водителю и способствует автоматизации транспортных средств для создания более «умных» дорог.

Узнать больше
Real-time AI tailored to your operation

ИИ в сельском хозяйстве

Внедряй ИИ в «умное» сельское хозяйство с помощью моделей Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание скота и точное земледелие для получения более высоких и «умных» урожаев.

Узнать больше

Давай строить будущее ИИ вместе!

Начни свой путь в будущее машинного обучения