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

YAML

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

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

Роль YAML в рабочих процессах искусственного интеллекта

В сфере глубокого обучения (DL) YAML служит основой для управления экспериментами и их воспроизводимости. Сложные системы часто требуют определения сотен параметров, от путей к файлам до математических констант. Вынося эти параметры в YAML-файлы, исследователи гарантируют, что конфигурации обучающих данных и архитектуры моделей остаются отдельными от кодовой базы. Такое разделение облегчает DataOps и позволяет легче контролировать версии экспериментальных установок.

Приложения реального мира в машинном обучении

YAML повсеместно используется в современных стеках разработки ИИ. Вот два основных способа его использования:

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

YAML по сравнению с JSON и XML

Хотя YAML имеет общие черты с другими форматами, он отличается философией разработки и вариантами использования:

  • YAML против JSON: JSON (JavaScript Object Notation) широко используется для веб-интерфейсов. API. Однако JSON не поддерживает комментарии, которые очень важны для документирования научных экспериментов. YAML поддерживает комментарии и обычно считается более читабельным для конфигурирования, хотя JSON часто быстрее разбирается.
  • YAML по сравнению с XML: XML (eXtensible Markup Language) использует открывающие и закрывающие теги, что значительно увеличивает размер файлов и затрудняет их быстрое сканирование. Структура YAML, основанная на отступах уменьшает визуальный беспорядок, что делает его более удобным для ведения управления конфигурацией программного обеспечения файлы.

Применение YAML в Ultralytics

При работе с моделью Ultralytics YOLO11 файлы YAML являются основополагающими для определения данных, которые видит модель. Сайт data Аргумент в функции обучения принимает YAML-файл, указывающий на ваши изображения и метки.

В следующем примере показано, как начать сеанс обучения, используя стандартный файл конфигурации набора данных.

from ultralytics import YOLO

# Load a standard YOLO11 model
model = YOLO("yolo11n.pt")

# Train the model using the 'coco8.yaml' dataset configuration
# The YAML file contains paths to images and class names (e.g., person, bus)
results = model.train(data="coco8.yaml", epochs=5, imgsz=640)

Более широкая интеграция экосистем

Помимо непосредственного обучения моделей, YAML является неотъемлемой частью более широкой экосистемы MLOps. Он является стандартный формат конфигурации для Docker Compose при оркестровке контейнеров для развертывания моделей. Аналогично, Kubernetes использует YAML для определения масштабирования приложений в облаке.

Такие инструменты автоматизации, как GitHub Actions, также опираются на YAML для определения CI/CD рабочих процессов, гарантируя, что автоматизированное тестирование и интеграции при каждом запуске кода. Разработчики Python часто используют библиотеку PyYAML для программного чтения и записи этих файлов, преодолевая разрыв между статической конфигурацией и динамическим выполнением кода.

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

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

Присоединиться сейчас