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.
86 lines
9.1 KiB
86 lines
9.1 KiB
--- |
|
comments: true |
|
description: Руководство по проверке моделей YOLOv8. Узнайте, как оценить производительность ваших моделей YOLO, используя параметры проверки и метрики с примерами на Python и CLI. |
|
keywords: Ultralytics, YOLO Документация, YOLOv8, проверка, оценка модели, гиперпараметры, точность, метрики, Python, CLI |
|
--- |
|
|
|
# Валидация моделей с Ultralytics YOLO |
|
|
|
<img width="1024" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="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' | |
|
|
|
|
|