You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

9.1 KiB

comments description keywords
true Руководство по проверке моделей YOLOv8. Узнайте, как оценить производительность ваших моделей YOLO, используя параметры проверки и метрики с примерами на Python и CLI. Ultralytics, YOLO Документация, YOLOv8, проверка, оценка модели, гиперпараметры, точность, метрики, Python, CLI

Валидация моделей с Ultralytics YOLO

Ultralytics YOLO экосистема и интеграции

Введение

Валидация является критически важным этапом в процессе машинного обучения, позволяющим оценить качество ваших обученных моделей. Режим Val в Ultralytics YOLOv8 обеспечивает набор инструментов и метрик для оценки производительности ваших моделей по обнаружению объектов. Это руководство служит полным ресурсом для понимания того, как эффективно использовать режим Val, чтобы обеспечить точность и надежность ваших моделей.

Зачем проверять с Ultralytics YOLO?

Вот почему использование режима Val YOLOv8 выгодно:

  • Точность: Получите точные метрики, такие как mAP50, mAP75 и mAP50-95, для всесторонней оценки вашей модели.
  • Удобство: Используйте встроенные функции, которые запоминают настройки обучения, упрощая процесс валидации.
  • Гибкость: Проверяйте вашу модель с использованием тех же или разных наборов данных и размеров изображений.
  • Настройка гиперпараметров: Используйте метрики проверки для дополнительной настройки вашей модели для лучшей производительности.

Основные функции режима Val

Вот некоторые заметные функции, предлагаемые режимом Val YOLOv8:

  • Автоматизированные настройки: Модели запоминают свои конфигурации обучения для простой валидации.
  • Поддержка множества метрик: Оцените вашу модель, основываясь на ряде метрик точности.
  • CLI и Python API: Выберите интерфейс командной строки или Python API в зависимости от вашего предпочтения для проверки.
  • Совместимость данных: Бесперебойно работает с наборами данных, используемыми во время фазы обучения, а также с пользовательскими наборами данных.

!!! Tip "Совет"

* Модели YOLOv8 автоматически запоминают свои настройки обучения, так что вы можете легко проверить модель с тем же размером изображения и на оригинальном наборе данных, просто используя `yolo val model=yolov8n.pt` или `model('yolov8n.pt').val()`

Примеры использования

Проверьте точность обученной модели YOLOv8n на наборе данных COCO128. Аргументы передавать не требуется, так как модель сохраняет данные и аргументы в качестве атрибутов модели. См. раздел Аргументы ниже для полного списка аргументов экспорта.

!!! Example "Пример"

=== "Python"

    ```python
    from ultralytics import YOLO

    # Загрузка модели
    model = YOLO('yolov8n.pt')  # загрузить официальную модель
    model = YOLO('path/to/best.pt')  # загрузить пользовательскую модель

    # Проверка модели
    metrics = model.val()  # аргументы не нужны, набор данных и настройки запомнены
    metrics.box.map    # map50-95
    metrics.box.map50  # map50
    metrics.box.map75  # map75
    metrics.box.maps   # список содержит map50-95 каждой категории
    ```
=== "CLI"

    ```bash
    yolo detect val model=yolov8n.pt  # проверить официальную модель
    yolo detect val model=path/to/best.pt  # проверить пользовательскую модель
    ```

Аргументы

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

Ключ Значение Описание
data None путь к файлу данных, например, coco128.yaml
imgsz 640 размер входных изображений как целое число
batch 16 количество изображений в пакете (-1 для AutoBatch)
save_json False сохранить результаты в файл JSON
save_hybrid False сохранить гибридную версию меток (метки + дополнительные предсказания)
conf 0.001 порог уверенности объекта для обнаружения
iou 0.6 порог пересечения по объединению (IoU) для NMS (нечеткое сравнение)
max_det 300 максимальное количество обнаружений на изображение
half True использовать полупрецизионность (FP16)
device None устройство для выполнения, например, cuda device=0/1/2/3 или device=cpu
dnn False использовать OpenCV DNN для ONNX инференции
plots False показывать графики во время обучения
rect False прямоугольная валидация с коллекцией каждого пакета для минимальной паддинга
split val раздел набора данных для использования в валидации, например, 'val', 'test' или 'train'