Add Docs languages zh, es, ru, pt, fr, de, ja, ko (#6316)

Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
Glenn Jocher 2023-11-13 18:18:31 +01:00 committed by GitHub
parent e3a538bbde
commit 48e70f0921
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
144 changed files with 17632 additions and 76 deletions

View file

@ -0,0 +1,94 @@
---
comments: true
description: Узнайте, как профилировать скорость и точность YOLOv8 в различных форматах экспорта; получите информацию о метриках mAP50-95, accuracy_top5 и др.
keywords: Ultralytics, YOLOv8, бенчмаркинг, профилирование скорости, профилирование точности, mAP50-95, accuracy_top5, ONNX, OpenVINO, TensorRT, форматы экспорта YOLO
---
# Бенчмаркинг моделей с Ultralytics YOLO
<img width="1024" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="Экосистема и интеграции Ultralytics YOLO">
## Введение
После того, как ваша модель обучена и валидирована, следующим логическим шагом является оценка ее производительности в различных реальных сценариях. Режим бенчмаркинга в Ultralytics YOLOv8 служит этой цели, предоставляя надежный инструментарий для оценки скорости и точности вашей модели в ряде форматов экспорта.
## Почему бенчмаркинг критичен?
- **Обоснованные решения:** Получение представления о компромиссе между скоростью и точностью.
- **Распределение ресурсов:** Понимание производительности различных форматов экспорта на разном оборудовании.
- **Оптимизация:** Выяснение, какой формат экспорта предлагает лучшую производительность для вашего конкретного случая.
- **Эффективность затрат:** Сделайте использование аппаратных ресурсов более эффективным на основе результатов бенчмаркинга.
### Ключевые метрики в режиме бенчмаркинга
- **mAP50-95:** Для детектирования объектов, сегментации и оценки поз.
- **accuracy_top5:** Для классификации изображений.
- **Время инференса:** Время, затрачиваемое на каждое изображение в миллисекундах.
### Поддерживаемые форматы экспорта
- **ONNX:** Для оптимальной производительности ЦП
- **TensorRT:** Для максимальной эффективности GPU
- **OpenVINO:** Для оптимизации под аппаратное обеспечение Intel
- **CoreML, TensorFlow SavedModel и другие:** Для разнообразных потребностей развертывания.
!!! tip "Совет"
* Экспортируйте в ONNX или OpenVINO для ускорения процессора до 3 раз.
* Экспортируйте в TensorRT для ускорения GPU до 5 раз.
## Примеры использования
Запустите бенчмарк YOLOv8n на всех поддерживаемых форматах экспорта, включая ONNX, TensorRT и т. д. Смотрите раздел Аргументы ниже для полного списка параметров экспорта.
!!! example ""
=== "Python"
```python
from ultralytics.utils.benchmarks import benchmark
# Бенчмарк на GPU
benchmark(model='yolov8n.pt', data='coco8.yaml', imgsz=640, half=False, device=0)
```
=== "CLI"
```bash
yolo benchmark model=yolov8n.pt data='coco8.yaml' imgsz=640 half=False device=0
```
## Аргументы
Аргументы, такие как `model`, `data`, `imgsz`, `half`, `device` и `verbose`, предоставляют пользователям гибкость для тонкой настройки бенчмарков под их конкретные потребности и сравнения производительности различных форматов экспорта с легкостью.
| Ключ | Значение | Описание |
|-----------|----------|----------------------------------------------------------------------------------|
| `model` | `None` | путь к файлу модели, например yolov8n.pt, yolov8n.yaml |
| `data` | `None` | путь к YAML, ссылающемуся на набор данных для бенчмаркинга (под меткой `val`) |
| `imgsz` | `640` | размер изображения как скаляр или список (h, w), например (640, 480) |
| `half` | `False` | квантование FP16 |
| `int8` | `False` | квантование INT8 |
| `device` | `None` | устройство для запуска, например cuda device=0 или device=0,1,2,3 или device=cpu |
| `verbose` | `False` | не продолжать при ошибке (bool), или пороговое значение для `val` (float) |
## Форматы экспорта
Бенчмарки попытаются автоматически запустить для всех возможных форматов экспорта ниже.
| Формат | Аргумент `format` | Модель | Метаданные | Аргументы |
|--------------------------------------------------------------------|-------------------|---------------------------|------------|-----------------------------------------------------|
| [PyTorch](https://pytorch.org/) | - | `yolov8n.pt` | ✅ | - |
| [TorchScript](https://pytorch.org/docs/stable/jit.html) | `torchscript` | `yolov8n.torchscript` | ✅ | `imgsz`, `optimize` |
| [ONNX](https://onnx.ai/) | `onnx` | `yolov8n.onnx` | ✅ | `imgsz`, `half`, `dynamic`, `simplify`, `opset` |
| [OpenVINO](https://docs.openvino.ai/latest/index.html) | `openvino` | `yolov8n_openvino_model/` | ✅ | `imgsz`, `half` |
| [TensorRT](https://developer.nvidia.com/tensorrt) | `engine` | `yolov8n.engine` | ✅ | `imgsz`, `half`, `dynamic`, `simplify`, `workspace` |
| [CoreML](https://github.com/apple/coremltools) | `coreml` | `yolov8n.mlpackage` | ✅ | `imgsz`, `half`, `int8`, `nms` |
| [TF SavedModel](https://www.tensorflow.org/guide/saved_model) | `saved_model` | `yolov8n_saved_model/` | ✅ | `imgsz`, `keras` |
| [TF GraphDef](https://www.tensorflow.org/api_docs/python/tf/Graph) | `pb` | `yolov8n.pb` | ❌ | `imgsz` |
| [TF Lite](https://www.tensorflow.org/lite) | `tflite` | `yolov8n.tflite` | ✅ | `imgsz`, `half`, `int8` |
| [TF Edge TPU](https://coral.ai/docs/edgetpu/models-intro/) | `edgetpu` | `yolov8n_edgetpu.tflite` | ✅ | `imgsz` |
| [TF.js](https://www.tensorflow.org/js) | `tfjs` | `yolov8n_web_model/` | ✅ | `imgsz` |
| [PaddlePaddle](https://github.com/PaddlePaddle) | `paddle` | `yolov8n_paddle_model/` | ✅ | `imgsz` |
| [ncnn](https://github.com/Tencent/ncnn) | `ncnn` | `yolov8n_ncnn_model/` | ✅ | `imgsz`, `half` |
Смотрите полную информацию о `export` на странице [Экспорт](https://docs.ultralytics.com/modes/export/).

108
docs/ru/modes/export.md Normal file
View file

@ -0,0 +1,108 @@
---
comments: true
description: Пошаговое руководство по экспорту ваших моделей YOLOv8 в различные форматы, такие как ONNX, TensorRT, CoreML и другие, для развертывания. Изучите сейчас!.
keywords: YOLO, YOLOv8, Ultralytics, Экспорт модели, ONNX, TensorRT, CoreML, TensorFlow SavedModel, OpenVINO, PyTorch, экспорт модели
---
# Экспорт модели с Ultralytics YOLO
<img width="1024" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="Экосистема и интеграции Ultralytics YOLO">
## Введение
Основная цель тренировки модели — её развертывание для реальных приложений. Режим экспорта в Ultralytics YOLOv8 предлагает множество вариантов для экспорта обученной модели в различные форматы, обеспечивая возможность развертывания на разных платформах и устройствах. Это исчерпывающее руководство направлено на то, чтобы провести вас через тонкости экспорта моделей, демонстрируя, как достичь максимальной совместимости и производительности.
<p align="center">
<br>
<iframe width="720" height="405" src="https://www.youtube.com/embed/WbomGeoOT_k?si=aGmuyooWftA0ue9X"
title="YouTube video player" frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen>
</iframe>
<br>
<strong>Смотрите:</strong> Как экспортировать обученную пользовательскую модель Ultralytics YOLOv8 и запустить живое воспроизведение на веб-камере.
</p>
## Почему стоит выбрать режим экспорта YOLOv8?
- **Универсальность:** Экспорт в несколько форматов, включая ONNX, TensorRT, CoreML и другие.
- **Производительность:** Увеличение скорости на GPU до 5 раз с TensorRT и ускорение на CPU до 3 раз с ONNX или OpenVINO.
- **Совместимость:** Сделайте вашу модель универсально развертываемой в различных аппаратных и программных средах.
- **Простота использования:** Простой интерфейс командной строки и Python API для быстрого и простого экспорта моделей.
### Ключевые особенности режима экспорта
Вот некоторые из ключевых функций:
- **Экспорт одним кликом:** Простые команды для экспорта в разные форматы.
- **Пакетный экспорт:** Экспорт моделей, способных к пакетной обработке.
- **Оптимизированное предсказание:** Экспортированные модели оптимизированы для более быстрого предсказания.
- **Учебные видео:** Глубокие руководства и обучающие видео для гладкого опыта экспорта.
!!! tip "Совет"
* Экспортируйте в ONNX или OpenVINO для ускорения CPU до 3 раз.
* Экспортируйте в TensorRT для увеличения скорости на GPU до 5 раз.
## Примеры использования
Экспорт модели YOLOv8n в другой формат, например ONNX или TensorRT. Смотрите раздел Аргументы ниже для полного списка аргументов экспорта.
!!! example ""
=== "Python"
```python
from ultralytics import YOLO
# Загрузите модель
model = YOLO('yolov8n.pt') # загрузка официальной модели
model = YOLO('path/to/best.pt') # загрузка обученной пользовательской модели
# Экспорт модели
model.export(format='onnx')
```
=== "CLI"
```bash
yolo export model=yolov8n.pt format=onnx # экспорт официальной модели
yolo export model=path/to/best.pt format=onnx # экспорт обученной пользовательской модели
```
## Аргументы
Настройки экспорта моделей YOLO относятся к различным конфигурациям и опциям, используемым для сохранения или экспорта модели для использования в других средах или платформах. Эти настройки могут влиять на производительность модели, размер и совместимость с разными системами. Некоторые общие настройки экспорта YOLO включают формат экспортируемого файла модели (например, ONNX, TensorFlow SavedModel), устройство, на котором будет запущена модель (например, CPU, GPU), а также наличие дополнительных функций, таких как маски или несколько меток на коробку. Другие факторы, которые могут повлиять на процесс экспорта, включают конкретное задание, для которого используется модель, и требования или ограничения целевой среды или платформы. Важно тщательно рассмотреть и настроить эти параметры, чтобы убедиться, что экспортированная модель оптимизирована для предполагаемого использования и может быть эффективно использована в целевой среде.
| Ключ | Значение | Описание |
|-------------|-----------------|---------------------------------------------------------------------------|
| `format` | `'torchscript'` | формат для экспорта |
| `imgsz` | `640` | размер изображения в виде скаляра или списка (h, w), например, (640, 480) |
| `keras` | `False` | использовать Keras для экспорта TF SavedModel |
| `optimize` | `False` | TorchScript: оптимизация для мобильных устройств |
| `half` | `False` | квантование FP16 |
| `int8` | `False` | квантование INT8 |
| `dynamic` | `False` | ONNX/TensorRT: динамические оси |
| `simplify` | `False` | ONNX/TensorRT: упрощение модели |
| `opset` | `None` | ONNX: версия набора операций (необязательный, по умолчанию последний) |
| `workspace` | `4` | TensorRT: размер рабочей области (ГБ) |
| `nms` | `False` | CoreML: добавление NMS |
## Форматы экспорта
Доступные форматы экспорта YOLOv8 указаны в таблице ниже. Вы можете экспортировать в любой формат, используя аргумент `format`, например, `format='onnx'` или `format='engine'`.
| Формат | Аргумент `format` | Модель | Метаданные | Аргументы |
|--------------------------------------------------------------------|-------------------|---------------------------|------------|-----------------------------------------------------|
| [PyTorch](https://pytorch.org/) | - | `yolov8n.pt` | ✅ | - |
| [TorchScript](https://pytorch.org/docs/stable/jit.html) | `torchscript` | `yolov8n.torchscript` | ✅ | `imgsz`, `optimize` |
| [ONNX](https://onnx.ai/) | `onnx` | `yolov8n.onnx` | ✅ | `imgsz`, `half`, `dynamic`, `simplify`, `opset` |
| [OpenVINO](https://docs.openvino.ai/latest/index.html) | `openvino` | `yolov8n_openvino_model/` | ✅ | `imgsz`, `half` |
| [TensorRT](https://developer.nvidia.com/tensorrt) | `engine` | `yolov8n.engine` | ✅ | `imgsz`, `half`, `dynamic`, `simplify`, `workspace` |
| [CoreML](https://github.com/apple/coremltools) | `coreml` | `yolov8n.mlpackage` | ✅ | `imgsz`, `half`, `int8`, `nms` |
| [TF SavedModel](https://www.tensorflow.org/guide/saved_model) | `saved_model` | `yolov8n_saved_model/` | ✅ | `imgsz`, `keras` |
| [TF GraphDef](https://www.tensorflow.org/api_docs/python/tf/Graph) | `pb` | `yolov8n.pb` | ❌ | `imgsz` |
| [TF Lite](https://www.tensorflow.org/lite) | `tflite` | `yolov8n.tflite` | ✅ | `imgsz`, `half`, `int8` |
| [TF Edge TPU](https://coral.ai/docs/edgetpu/models-intro/) | `edgetpu` | `yolov8n_edgetpu.tflite` | ✅ | `imgsz` |
| [TF.js](https://www.tensorflow.org/js) | `tfjs` | `yolov8n_web_model/` | ✅ | `imgsz` |
| [PaddlePaddle](https://github.com/PaddlePaddle) | `paddle` | `yolov8n_paddle_model/` | ✅ | `imgsz` |
| [ncnn](https://github.com/Tencent/ncnn) | `ncnn` | `yolov8n_ncnn_model/` | ✅ | `imgsz`, `half` |

73
docs/ru/modes/index.md Normal file
View file

@ -0,0 +1,73 @@
---
comments: true
description: От обучения до отслеживания - используйте все возможности YOLOv8 от Ultralytics. Получите информацию и примеры для каждого поддерживаемого режима, включая проверку, экспорт и бенчмаркинг.
keywords: Ultralytics, YOLOv8, Машинное обучение, Обнаружение объектов, Обучение, Проверка, Предсказание, Экспорт, Отслеживание, Бенчмаркинг
---
# Режимы Ultralytics YOLOv8
<img width="1024" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="Экосистема Ultralytics YOLO и интеграции">
## Введение
Ultralytics YOLOv8 - это не просто еще одна модель обнаружения объектов; это многофункциональная платформа, предназначенная для охвата всего жизненного цикла моделей машинного обучения - от ввода данных и обучения модели до валидации, развертывания и отслеживания в реальном мире. Каждый режим служит определенной цели и разработан, чтобы предложить вам гибкость и эффективность, необходимую для различных задач и сценариев использования.
<p align="center">
<br>
<iframe width="720" height="405" src="https://www.youtube.com/embed/j8uQc0qB91s?si=dhnGKgqvs7nPgeaM"
title="Плеер YouTube видео" frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen>
</iframe>
<br>
<strong>Смотрите:</strong> Руководство по режимам Ultralytics: Обучение, Проверка, Предсказание, Экспорт и Бенчмаркинг.
</p>
### Обзор режимов
Понимание различных **режимов**, которые поддерживает Ultralytics YOLOv8, критически важно для эффективного использования ваших моделей:
- **Режим обучения (Train mode)**: Настройте вашу модель на пользовательские или предзагруженные наборы данных.
- **Режим проверки (Val mode)**: Контрольная точка после обучения для валидации производительности модели.
- **Режим предсказания (Predict mode)**: Раскройте предсказательную мощь вашей модели на данных из реального мира.
- **Режим экспорта (Export mode)**: Подготовьте вашу модель к развертыванию в различных форматах.
- **Режим отслеживания (Track mode)**: Расширьте вашу модель обнаружения объектов до приложений отслеживания в реальном времени.
- **Режим бенчмаркинга (Benchmark mode)**: Проанализируйте скорость и точность вашей модели в разнообразных средах развертывания.
Это исчерпывающее руководство направлено на то, чтобы дать вам обзор и практические сведения о каждом режиме, помогая вам использовать полный потенциал YOLOv8.
## [Обучение (Train)](train.md)
Режим обучения используется для обучения модели YOLOv8 на пользовательском наборе данных. В этом режиме модель обучается с использованием указанного набора данных и гиперпараметров. Процесс обучения включает в себя оптимизацию параметров модели, чтобы она могла точно предсказывать классы и местоположения объектов на изображении.
[Примеры обучения](train.md){ .md-button .md-button--primary}
## [Проверка (Val)](val.md)
Режим проверки используется для валидации модели YOLOv8 после ее обучения. В этом режиме модель оценивается на наборе данных для валидации, чтобы измерить ее точность и способность к обобщению. Этот режим может быть использован для настройки гиперпараметров модели с целью улучшения ее производительности.
[Примеры проверки](val.md){ .md-button .md-button--primary}
## [Предсказание (Predict)](predict.md)
Режим предсказания используется для выполнения предсказаний с использованием обученной модели YOLOv8 на новых изображениях или видео. В этом режиме модель загружается из файла контрольной точки, и пользователь может предоставить изображения или видео для выполнения вывода. Модель предсказывает классы и местоположения объектов во входных изображениях или видео.
[Примеры предсказания](predict.md){ .md-button .md-button--primary}
## [Экспорт (Export)](export.md)
Режим экспорта используется для экспортирования модели YOLOv8 в формат, который может быть использован для развертывания. В этом режиме модель преобразуется в формат, который может быть использован другими программными приложениями или аппаратными устройствами. Этот режим полезен при развертывании модели в производственной среде.
[Примеры экспорта](export.md){ .md-button .md-button--primary}
## [Отслеживание (Track)](track.md)
Режим отслеживания используется для отслеживания объектов в реальном времени с использованием модели YOLOv8. В этом режиме модель загружается из файла контрольной точки, и пользователь может предоставить прямую видеотрансляцию для выполнения отслеживания объектов в реальном времени. Этот режим полезен для приложений, таких как системы видеонаблюдения или беспилотные автомобили.
[Примеры отслеживания](track.md){ .md-button .md-button--primary}
## [Бенчмаркинг (Benchmark)](benchmark.md)
Режим бенчмаркинга используется для профилирования скорости и точности различных форматов экспорта для YOLOv8. Бенчмарки предоставляют информацию о размере экспортируемого формата, его метриках `mAP50-95` (для обнаружения объектов, сегментации и позы) или метриках `accuracy_top5` (для классификации), а также время вывода в миллисекундах на изображение для различных форматов экспорта, таких как ONNX, OpenVINO, TensorRT и других. Эта информация может помочь пользователям выбрать оптимальный формат экспорта для их конкретного сценария использования на основе их требований к скорости и точности.
[Примеры бенчмаркинга](benchmark.md){ .md-button .md-button--primary}

226
docs/ru/modes/predict.md Normal file
View file

@ -0,0 +1,226 @@
---
comments: true
description: Узнайте, как использовать режим предсказаний YOLOv8 для различных задач. Изучите различные источники вывода, такие как изображения, видео и форматы данных.
keywords: Ultralytics, YOLOv8, режим предсказаний, источники вывода, задачи предсказания, режим потоковой передачи, обработка изображений, обработка видео, машинное обучение, искусственный интеллект
---
# Прогнозирование моделью Ultralytics YOLO
<img width="1024" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="Экосистема и интеграции Ultralytics YOLO">
## Введение
В мире машинного обучения и компьютерного зрения процесс извлечения информации из визуальных данных называется 'выводом' или 'предсказанием'. Ultralytics YOLOv8 предлагает мощную функцию, известную как **режим предсказаний**, который предназначен для высокопроизводительного реального времени вывода на широкий спектр источников данных.
<p align="center">
<br>
<iframe width="720" height="405" src="https://www.youtube.com/embed/QtsI0TnwDZs?si=ljesw75cMO2Eas14"
title="Проигрыватель видео YouTube" frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen>
</iframe>
<br>
<strong>Смотреть:</strong> Как извлечь результаты из модели Ultralytics YOLOv8 для пользовательских проектов.
</p>
## Прикладные области
| Производство | Спорт | Безопасность |
|:-------------------------------------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------------------:|
| ![Обнаружение автозапчастей](https://github.com/RizwanMunawar/ultralytics/assets/62513924/a0f802a8-0776-44cf-8f17-93974a4a28a1) | ![Обнаружение футболистов](https://github.com/RizwanMunawar/ultralytics/assets/62513924/7d320e1f-fc57-4d7f-a691-78ee579c3442) | ![Обнаружение падения людей](https://github.com/RizwanMunawar/ultralytics/assets/62513924/86437c4a-3227-4eee-90ef-9efb697bdb43) |
| Обнаружение автозапчастей | Обнаружение футболистов | Обнаружение падения людей |
## Почему стоит использовать Ultralytics YOLO для вывода?
Вот почему вам следует рассмотреть режим предсказаний YOLOv8 для ваших различных потребностей в выводе:
- **Универсальность:** Возможность делать выводы по изображениям, видео и даже потоковым трансляциям.
- **Производительность:** Разработан для обработки данных в реальном времени без потери точности.
- **Простота использования:** Интуитивно понятные интерфейсы Python и CLI для быстрого развертывания и тестирования.
- **Высокая настраиваемость:** Различные настройки и параметры для настройки поведения модели вывода в соответствии с вашими конкретными требованиями.
### Ключевые особенности режима предсказаний
Режим предсказаний YOLOv8 разработан, чтобы быть надежным и универсальным, он включает в себя:
- **Совместимость с несколькими источниками данных:** независимо от того, представлены ли ваши данные в виде отдельных изображений, коллекции изображений, видеофайлов или потокового видео, режим предсказаний покрывает все это.
- **Режим потоковой передачи:** Используйте функцию потоковой передачи для создания генератора объектов `Results`, экономящего память. Активируйте это, установив `stream=True` в методе вызова предиктора.
- **Пакетная обработка:** Возможность обрабатывать несколько изображений или видеокадров за один пакет, что дополнительно ускоряет время вывода.
- **Дружественная интеграция:** Легко интегрируется с существующими данными и другими программными компонентами благодаря гибкому API.
Модели Ultralytics YOLO возвращают либо список объектов `Results`, либо генератор объектов `Results` в Python, экономящий память, когда `stream=True` передается в модель во время вывода:
!!! example "Предсказание"
=== "Вернуть список с `stream=False`"
```python
from ultralytics import YOLO
# Загрузка модели
model = YOLO('yolov8n.pt') # предварительно обученная модель YOLOv8n
# Пакетный вывод на список изображений
results = model(['im1.jpg', 'im2.jpg']) # вернуть список объектов Results
# Обработка списка результатов
for result in results:
boxes = result.boxes # Объект Boxes для вывода bbox
masks = result.masks # Объект Masks для вывода масок сегментации
keypoints = result.keypoints # Объект Keypoints для вывода поз
probs = result.probs # Объект Probs для вывода вероятностей классификации
```
=== "Вернуть генератор с `stream=True`"
```python
from ultralytics import YOLO
# Загрузка модели
model = YOLO('yolov8n.pt') # предварительно обученная модель YOLOv8n
# Пакетный вывод на список изображений
results = model(['im1.jpg', 'im2.jpg'], stream=True) # вернуть генератор объектов Results
# Обработка генератора результатов
for result in results:
boxes = result.boxes # Объект Boxes для вывода bbox
masks = result.masks # Объект Masks для вывода масок сегментации
keypoints = result.keypoints # Объект Keypoints для вывода поз
probs = result.probs # Объект Probs для вывода вероятностей классификации
```
## Источники вывода
YOLOv8 может обрабатывать различные типы входных источников для вывода, как показано в таблице ниже. Источники включают статические изображения, видеопотоки и различные форматы данных. В таблице также указано, можно ли использовать каждый источник в режиме потоковой передачи с аргументом `stream=True` ✅. Режим потоковой передачи полезен для обработки видео или живых трансляций, так как создает генератор результатов вместо загрузки всех кадров в память.
!!! tip "Совет"
Используйте `stream=True` для обработки длинных видеороликов или больших наборов данных для эффективного управления памятью. Когда `stream=False`, результаты для всех кадров или точек данных хранятся в памяти, что может быстро накопиться и вызвать ошибки переполнения памяти для больших входов. В отличие от этого, `stream=True` использует генератор, который хранит в памяти результаты только текущего кадра или точки данных, значительно сокращая потребление памяти и предотвращая проблемы с переполнением памяти.
| Источник | Аргумент | Тип | Заметки |
|-----------------|--------------------------------------------|------------------|---------------------------------------------------------------------------------------------------------------|
| изображение | `'image.jpg'` | `str` или `Path` | Одиночный файл изображения. |
| URL | `'https://ultralytics.com/images/bus.jpg'` | `str` | URL на изображение. |
| скриншот | `'screen'` | `str` | Снять скриншот. |
| PIL | `Image.open('im.jpg')` | `PIL.Image` | Формат HWC с RGB каналами. |
| OpenCV | `cv2.imread('im.jpg')` | `np.ndarray` | Формат HWC с BGR каналами `uint8 (0-255)`. |
| numpy | `np.zeros((640,1280,3))` | `np.ndarray` | Формат HWC с BGR каналами `uint8 (0-255)`. |
| torch | `torch.zeros(16,3,320,640)` | `torch.Tensor` | Формат BCHW с RGB каналами `float32 (0.0-1.0)`. |
| CSV | `'sources.csv'` | `str` или `Path` | CSV-файл, содержащий пути к изображениям, видео или каталогам. |
| видео ✅ | `'video.mp4'` | `str` или `Path` | Видеофайл в форматах, вроде MP4, AVI и т.д. |
| каталог ✅ | `'path/'` | `str` или `Path` | Путь к каталогу, содержащему изображения или видео. |
| глоб ✅ | `'path/*.jpg'` | `str` | Шаблон глоба для сопоставления нескольких файлов. Используйте символ `*` как подстановочный. |
| YouTube ✅ | `'https://youtu.be/LNwODJXcvt4'` | `str` | URL на видео YouTube. |
| поток ✅ | `'rtsp://example.com/media.mp4'` | `str` | URL для потоковых протоколов, таких как RTSP, RTMP, TCP, или IP-адрес. |
| много-потоков ✅ | `'list.streams'` | `str` или `Path` | Текстовый файл `*.streams` с одним URL потока на строку, например, 8 потоков запустятся с пакетом размером 8. |
Ниже приведены примеры кода для использования каждого типа источника:
!!! example "Источники предсказаний"
=== "изображение"
Выполнить вывод на файл изображения.
```python
from ultralytics import YOLO
# Загрузка предварительно обученной модели YOLOv8n
model = YOLO('yolov8n.pt')
# Определите путь к файлу изображения
source = 'path/to/image.jpg'
# Выполнить вывод на источник
results = model(source) # список объектов Results
```
=== "скриншот"
Выполнить вывод на текущее содержимое экрана в виде скриншота.
```python
from ultralytics import YOLO
# Загрузка предварительно обученной модели YOLOv8n
model = YOLO('yolov8n.pt')
# Определение текущего скриншота как источника
source = 'screen'
# Выполнить вывод на источник
results = model(source) # список объектов Results
```
=== "URL"
Выполнить вывод на изображение или видео, размещенные удаленно по URL.
```python
from ultralytics import YOLO
# Загрузка предварительно обученной модели YOLOv8n
model = YOLO('yolov8n.pt')
# Определение URL удаленного изображения или видео
source = 'https://ultralytics.com/images/bus.jpg'
# Выполнить вывод на источник
results = model(source) # список объектов Results
```
=== "PIL"
Выполнение вывода на изображение, открытое с помощью Python Imaging Library (PIL).
```python
from PIL import Image
from ultralytics import YOLO
# Загрузка предварительно обученной модели YOLOv8n
model = YOLO('yolov8n.pt')
# Открытие изображения с помощью PIL
source = Image.open('path/to/image.jpg')
# Выполнение вывода на источник
results = model(source) # список объектов Results
```
=== "OpenCV"
Выполнение вывода на изображение, прочитанное с помощью OpenCV.
```python
import cv2
from ultralytics import YOLO
# Загрузка предварительно обученной модели YOLOv8n
model = YOLO('yolov8n.pt')
# Чтение изображения с помощью OpenCV
source = cv2.imread('path/to/image.jpg')
# Выполнение вывода на источник
results = model(source) # список объектов Results
```
=== "numpy"
Выполнение вывода на изображение, представленное в виде массива numpy.
```python
import numpy as np
from ultralytics import YOLO
# Загрузка предварительно обученной модели YOLOv8n
model = YOLO('yolov8n.pt')
# Создание случайного массива numpy с формой HWC (640, 640, 3) со значениями в диапазоне [0, 255] и типом uint8
source = np.random.randint(low=0, high=255, size=(640, 640, 3), dtype='uint8')
# Выполнение вывода на источник
results = model(source) # список объектов Results
```
=== "torch"
Выполнение вывода на изображение, представленное в виде тензора PyTorch.
```python
import torch
from ultralytics import YOLO
# Загрузка предварительно обученной модели YOLOv8n
model = YOLO('yolov8n.pt')
# Создание случайного тензора torch с формой BCHW (1, 3, 640, 640) со значениями в диапазоне [0, 1] и типом float32
source = torch.rand(1, 3, 640, 640, dtype=torch.float32)
# Выполнение вывода на источник
results = model(source) # список объектов Results

200
docs/ru/modes/track.md Normal file
View file

@ -0,0 +1,200 @@
---
comments: true
description: Узнайте, как использовать Ultralytics YOLO для отслеживания объектов в видеопотоках. Руководства по использованию различных трекеров и настройке конфигурации трекера.
keywords: Ultralytics, YOLO, отслеживание объектов, видеопотоки, BoT-SORT, ByteTrack, руководство на Python, руководство CLI
---
# Множественное отслеживание объектов с помощью Ultralytics YOLO
<img width="1024" src="https://user-images.githubusercontent.com/26833433/243418637-1d6250fd-1515-4c10-a844-a32818ae6d46.png" alt="Примеры множественного отслеживания объектов">
Отслеживание объектов в сфере видеоаналитики является ключевой задачей, которая определяет не только местоположение и класс объектов в кадре, но также поддерживает уникальный ID для каждого обнаруженного объекта по мере развития видео. Приложения безграничны — от наблюдения и безопасности до аналитики реального времени в спорте.
## Почему стоит выбрать Ultralytics YOLO для отслеживания объектов?
Вывод с трекеров Ultralytics согласуется со стандартным обнаружением объектов, но имеет добавленные ID объектов. Это упрощает отслеживание объектов в видеопотоках и выполнение последующей аналитики. Вот почему вы должны рассмотреть использование Ultralytics YOLO для ваших потребностей в отслеживании объектов:
- **Эффективность:** Обработка видеопотоков в режиме реального времени без потери точности.
- **Гибкость:** Поддержка множества алгоритмов отслеживания и конфигураций.
- **Простота использования:** Простой Python API и CLI-опции для быстрой интеграции и развертывания.
- **Настраиваемость:** Легкость использования с пользовательскими обученными моделями YOLO, позволяющая интеграцию в специфические для домена приложения.
<p align="center">
<br>
<iframe width="720" height="405" src="https://www.youtube.com/embed/hHyHmOtmEgs?si=VNZtXmm45Nb9s-N-"
title="YouTube видео плеер" frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen>
</iframe>
<br>
<strong>Смотрите:</strong> Обнаружение объектов и отслеживание с Ultralytics YOLOv8.
</p>
## Прикладные применения
| Транспорт | Ритейл | Аквакультура |
|:---------------------------------------------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------:|:----------------------------------------------------------------------------------------------------------------------:|
| ![Отслеживание транспортных средств](https://github.com/RizwanMunawar/ultralytics/assets/62513924/ee6e6038-383b-4f21-ac29-b2a1c7d386ab) | ![Отслеживание людей](https://github.com/RizwanMunawar/ultralytics/assets/62513924/93bb4ee2-77a0-4e4e-8eb6-eb8f527f0527) | ![Отслеживание рыб](https://github.com/RizwanMunawar/ultralytics/assets/62513924/a5146d0f-bfa8-4e0a-b7df-3c1446cd8142) |
| Отслеживание транспортных средств | Отслеживание людей | Отслеживание рыб |
## Ключевые особенности
Ultralytics YOLO расширяет свои возможности обнаружения объектов для обеспечения надежного и универсального отслеживания объектов:
- **Отслеживание в реальном времени:** Безпрерывное отслеживание объектов в видео с высокой частотой кадров.
- **Поддержка множества трекеров:** Выбор из разнообразия установленных алгоритмов отслеживания.
- **Настраиваемые конфигурации трекеров:** Настройка алгоритма отслеживания для конкретных требований путем регулировки различных параметров.
## Доступные трекеры
Ultralytics YOLO поддерживает следующие алгоритмы отслеживания. Их можно включить, передав соответствующий YAML файл конфигурации, например `tracker=tracker_type.yaml`:
* [BoT-SORT](https://github.com/NirAharon/BoT-SORT) - Используйте `botsort.yaml`, чтобы активировать этот трекер.
* [ByteTrack](https://github.com/ifzhang/ByteTrack) - Используйте `bytetrack.yaml`, чтобы активировать этот трекер.
Трекер по умолчанию - BoT-SORT.
## Отслеживание
Для запуска трекера на видеопотоках используйте обученные модели Detect, Segment или Pose, такие как YOLOv8n, YOLOv8n-seg и YOLOv8n-pose.
!!! пример ""
=== "Python"
```python
from ultralytics import YOLO
# Загрузите официальную или пользовательскую модель
model = YOLO('yolov8n.pt') # Загрузить официальную модель Detect
model = YOLO('yolov8n-seg.pt') # Загрузить официальную модель Segment
model = YOLO('yolov8n-pose.pt') # Загрузить официальную модель Pose
model = YOLO('path/to/best.pt') # Загрузить пользовательскую обученную модель
# Выполнить отслеживание с помощью модели
results = model.track(source="https://youtu.be/LNwODJXcvt4", show=True) # Отслеживание с трекером по умолчанию
results = model.track(source="https://youtu.be/LNwODJXcvt4", show=True, tracker="bytetrack.yaml") # Отслеживание с трекером ByteTrack
```
=== "CLI"
```bash
# Выполнить отслеживание с различными моделями используя командный интерфейс
yolo track model=yolov8n.pt source="https://youtu.be/LNwODJXcvt4" # Официальная модель Detect
yolo track model=yolov8n-seg.pt source="https://youtu.be/LNwODJXcvt4" # Официальная модель Segment
yolo track model=yolov8n-pose.pt source="https://youtu.be/LNwODJXcvt4" # Официальная модель Pose
yolo track model=path/to/best.pt source="https://youtu.be/LNwODJXcvt4" # Пользовательская обученная модель
# Отслеживание с использованием трекера ByteTrack
yolo track model=path/to/best.pt tracker="bytetrack.yaml"
```
Как видно из вышеуказанного использования, отслеживание доступно для всех моделей Detect, Segment и Pose, работающих с видео или потоковыми источниками.
## Конфигурация
### Аргументы для отслеживания
Конфигурация отслеживания имеет общие свойства с режимом Predict, такие как `conf`, `iou` и `show`. Для дальнейшей настройки обратитесь к странице модели [Predict](https://docs.ultralytics.com/modes/predict/).
!!! пример ""
=== "Python"
```python
from ultralytics import YOLO
# Настройте параметры отслеживания и запустите трекер
model = YOLO('yolov8n.pt')
results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.3, iou=0.5, show=True)
```
=== "CLI"
```bash
# Настройте параметры отслеживания и запустите трекер, используя командный интерфейс
yolo track model=yolov8n.pt source="https://youtu.be/LNwODJXcvt4" conf=0.3, iou=0.5 show
```
### Выбор трекера
Ultralytics также позволяет использовать измененный файл конфигурации трекера. Для этого просто сделайте копию файла конфигурации трекера (например, `custom_tracker.yaml`) из [ultralytics/cfg/trackers](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/trackers) и измените любые настройки (кроме `tracker_type`) в соответствии с вашими потребностями.
!!! пример ""
=== "Python"
```python
from ultralytics import YOLO
# Загрузите модель и запустите трекер с пользовательским файлом конфигурации
model = YOLO('yolov8n.pt')
results = model.track(source="https://youtu.be/LNwODJXcvt4", tracker='custom_tracker.yaml')
```
=== "CLI"
```bash
# Загрузите модель и запустите трекер с пользовательским файлом конфигурации, используя командный интерфейс
yolo track model=yolov8n.pt source="https://youtu.be/LNwODJXcvt4" tracker='custom_tracker.yaml'
```
Для полного списка аргументов отслеживания обратитесь к странице [ultralytics/cfg/trackers](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/trackers).
## Примеры на Python
### Цикл сохранения следов
Вот пример скрипта Python, использующий OpenCV (`cv2`) и YOLOv8 для выполнения отслеживания объектов на кадрах видео. В этом сценарии предполагается, что вы уже установили необходимые пакеты (`opencv-python` и `ultralytics`). Аргумент `persist=True` указывает трекеру, что текущее изображение или кадр является следующим в последовательности и ожидает, что следы с предыдущего изображения будут присутствовать в текущем изображении.
!!! пример "Цикл с потоковым отслеживанием for-loop"
```python
import cv2
from ultralytics import YOLO
# Загрузите модель YOLOv8
model = YOLO('yolov8n.pt')
# Откройте видеофайл
video_path = "path/to/video.mp4"
cap = cv2.VideoCapture(video_path)
# Цикл по кадрам видео
while cap.isOpened():
# Чтение кадра из видео
success, frame = cap.read()
if success:
# Выполните отслеживание YOLOv8 для кадра, сохраняя следы между кадрами
results = model.track(frame, persist=True)
# Визуализируйте результаты на кадре
annotated_frame = results[0].plot()
# Покажите аннотированный кадр
cv2.imshow("Отслеживание YOLOv8", annotated_frame)
# Прервать цикл, если нажата клавиша 'q'
if cv2.waitKey(1) & 0xFF == ord("q"):
break
else:
# Прервать цикл, если достигнут конец видео
break
# Освободите объект захвата видео и закройте окно отображения
cap.release()
cv2.destroyAllWindows()
```
Обратите внимание на изменение с `model(frame)` на `model.track(frame)`, которое позволяет включить отслеживание объектов вместо простого обнаружения. Этот измененный скрипт будет выполнять трекер на каждом кадре видео, визуализировать результаты и отображать их в окне. Цикл можно завершить нажатием 'q'.
## Содействие в новых трекерах
Вы являетесь профессионалом в множественном отслеживании объектов и успешно реализовали или адаптировали алгоритм отслеживания с Ultralytics YOLO? Мы приглашаем вас внести свой вклад в наш раздел Trackers на [ultralytics/cfg/trackers](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/trackers)! Ваши реальные приложения и решения могут быть бесценными для пользователей, работающих над задачами отслеживания.
Внося свой вклад в этот раздел, вы помогаете расширить спектр доступных решений для отслеживания в рамках фреймворка Ultralytics YOLO, добавляя еще один уровень функциональности и полезности для сообщества.
Чтобы начать свой вклад, пожалуйста, ознакомьтесь с нашим [Руководством для участников](https://docs.ultralytics.com/help/contributing) для получения полной инструкции по отправке Pull Request (PR) 🛠️. Мы в предвкушении увидеть, что вы принесете на стол!
Вместе давайте улучшим возможности отслеживания экосистемы Ultralytics YOLO 🙏!

206
docs/ru/modes/train.md Normal file
View file

@ -0,0 +1,206 @@
---
comments: true
description: Пошаговое руководство по обучению моделей YOLOv8 с использованием Ultralytics YOLO, включая примеры обучения на одном и нескольких GPU
keywords: Ultralytics, YOLOv8, YOLO, обнаружение объектов, режим обучения, настраиваемый набор данных, обучение на GPU, много-GPU, гиперпараметры, примеры CLI, примеры Python
---
# Обучение моделей с помощью Ultralytics YOLO
<img width="1024" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="Экосистема и интеграции Ultralytics YOLO">
## Введение
Обучение глубокой обучающей модели включает в себя подачу данных и настройку её параметров, так чтобы она могла делать точные прогнозы. Режим обучения в Ultralytics YOLOv8 предназначен для эффективного и результативного обучения моделей обнаружения объектов с полным использованием возможностей современной аппаратуры. Это руководство нацелено на описание всех деталей, необходимых для начала обучения ваших моделей с использованием богатого набора функций YOLOv8.
<p align="center">
<br>
<iframe width="720" height="405" src="https://www.youtube.com/embed/LNwODJXcvt4?si=7n1UvGRLSd9p5wKs"
title="YouTube video player" frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen>
</iframe>
<br>
<strong>Смотреть:</strong> Как обучить модель YOLOv8 на вашем настраиваемом наборе данных в Google Colab.
</p>
## Почему стоит выбрать Ultralytics YOLO для обучения?
Вот несколько убедительных причин использовать режим Train YOLOv8:
- **Эффективность:** Используйте максимум возможностей вашего оборудования, будь то настройка с одним GPU или распределение нагрузки на несколько GPU.
- **Универсальность:** Обучайте на настраиваемых наборах данных, помимо уже доступных, таких как COCO, VOC и ImageNet.
- **Дружелюбный интерфейс:** Простой, но мощный интерфейс командной строки (CLI) и Python для прямолинейного опыта обучения.
- **Гибкость гиперпараметров:** Широкий спектр настраиваемых гиперпараметров для тонкой настройки производительности модели.
### Ключевые особенности режима Train
Вот некоторые заметные особенности режима Train YOLOv8:
- **Автоматическая загрузка набора данных:** Стандартные наборы данных, такие как COCO, VOC и ImageNet, загружаются автоматически при первом использовании.
- **Поддержка многих GPU:** Масштабируйте усилия по обучению без проблем на нескольких GPU, чтобы ускорить процесс.
- **Настройка гиперпараметров:** Возможность изменения гиперпараметров через файлы конфигурации YAML или аргументы CLI.
- **Визуализация и мониторинг:** Отслеживание метрик обучения в реальном времени и визуализация процесса обучения для лучшего понимания.
!!! tip "Совет"
* Наборы данных YOLOv8, такие как COCO, VOC, ImageNet и многие другие, автоматически загружаются при первом использовании, например, `yolo train data=coco.yaml`
## Примеры использования
Обучение YOLOv8n на наборе данных COCO128 в течение 100 эпох с размером изображения 640. Устройство для обучения может быть указано с помощью аргумента `device`. Если аргумент не передан, будет использоваться GPU `device=0`, если доступен, в противном случае будет использоваться `device=cpu`. Смотрите раздел Аргументы ниже для полного списка аргументов обучения.
!!! example "Пример обучения на одном GPU и CPU"
Устройство определяется автоматически. Если доступен GPU, то он будет использован, иначе обучение начнется на CPU.
=== "Python"
```python
from ultralytics import YOLO
# Загрузить модель
model = YOLO('yolov8n.yaml') # создать новую модель из YAML
model = YOLO('yolov8n.pt') # загрузить предобученную модель (рекомендуется для обучения)
model = YOLO('yolov8n.yaml').load('yolov8n.pt') # создать из YAML и перенести веса
# Обучить модель
results = model.train(data='coco128.yaml', epochs=100, imgsz=640)
```
=== "CLI"
```bash
# Создать новую модель из YAML и начать обучение с нуля
yolo detect train data=coco128.yaml model=yolov8n.yaml epochs=100 imgsz=640
# Начать обучение с предобученной модели *.pt
yolo detect train data=coco128.yaml model=yolov8n.pt epochs=100 imgsz=640
# Создать новую модель из YAML, перенести предобученные веса и начать обучение
yolo detect train data=coco128.yaml model=yolov8n.yaml pretrained=yolov8n.pt epochs=100 imgsz=640
```
### Обучение на нескольких GPU
Обучение на нескольких GPU позволяет более эффективно использовать доступные аппаратные ресурсы, распределяя нагрузку по обучению на несколько GPU. Эта функция доступна как через Python API, так и через командный интерфейс. Чтобы включить обучение на нескольких GPU, укажите идентификаторы устройств GPU, которые вы хотите использовать.
!!! example "Пример обучения на нескольких GPU"
Чтобы обучить с использованием 2 GPU, устройств CUDA 0 и 1 используйте следующие команды. Расширьте до дополнительных GPU по мере необходимости.
=== "Python"
```python
from ultralytics import YOLO
# Загрузить модель
model = YOLO('yolov8n.pt') # загрузить предобученную модель (рекомендуется для обучения)
# Обучить модель с использованием 2 GPU
results = model.train(data='coco128.yaml', epochs=100, imgsz=640, device=[0, 1])
```
=== "CLI"
```bash
# Начать обучение с предобученной модели *.pt используя GPU 0 и 1
yolo detect train data=coco128.yaml model=yolov8n.pt epochs=100 imgsz=640 device=0,1
```
### Обучение на Apple M1 и M2 с использованием MPS
С интеграцией поддержки чипов Apple M1 и M2 в модели Ultralytics YOLO теперь можно обучать ваши модели на устройствах, использующих мощную платформу Metal Performance Shaders (MPS). MPS предлагает производительный способ выполнения вычислений и задач обработки изображений на пользовательских кремниевых чипах Apple.
Чтобы запустить обучение на чипах Apple M1 и M2, вы должны указать 'mps' в качестве вашего устройства при запуске процесса обучения. Ниже приведены примеры использования Python и командной строки:
!!! example "Пример обучения с MPS"
=== "Python"
```python
from ultralytics import YOLO
# Загрузить модель
model = YOLO('yolov8n.pt') # загрузить предобученную модель (рекомендуется для обучения)
# Обучить модель с использованием MPS
results = model.train(data='coco128.yaml', epochs=100, imgsz=640, device='mps')
```
=== "CLI"
```bash
# Начать обучение с предобученной модели *.pt используя MPS
yolo detect train data=coco128.yaml model=yolov8n.pt epochs=100 imgsz=640 device=mps
```
Используя вычислительные возможности чипов M1/M2, это позволяет более эффективно обрабатывать задачи обучения. Для более подробного руководства и расширенных параметров конфигурации, пожалуйста, обратитесь к [документации PyTorch MPS](https://pytorch.org/docs/stable/notes/mps.html).
## Логирование
В процессе обучения модели YOLOv8 вы можете найти ценным отслеживание производительности модели со временем. Здесь на помощь приходит логирование. YOLO от Ultralytics поддерживает три типа логгеров - Comet, ClearML и TensorBoard.
Чтобы использовать логгер, выберите его из выпадающего меню в приведенном выше примере кода и запустите его. Выбранный логгер будет установлен и инициализирован.
### Comet
[Comet](https://www.comet.ml/site/) - это платформа, которая позволяет ученым и разработчикам отслеживать, сравнивать, объяснять и оптимизировать эксперименты и модели. Она предоставляет такие функции, как метрики в реальном времени, сравнение кода и отслеживание гиперпараметров.
Чтобы использовать Comet:
!!! example ""
=== "Python"
```python
# pip install comet_ml
import comet_ml
comet_ml.init()
```
Не забудьте войти в свою учетную запись Comet на их сайте и получить свой API-ключ. Вам нужно будет добавить его в переменные среды или в свой скрипт, чтобы вести журнал своих экспериментов.
### ClearML
[ClearML](https://www.clear.ml/) - это открытая платформа, которая автоматизирует отслеживание экспериментов и помогает в эффективном обмене ресурсами. Она предназначена для помощи командам в управлении, выполнении и воспроизведении их работы в области ML более эффективно.
Чтобы использовать ClearML:
!!! example ""
=== "Python"
```python
# pip install clearml
import clearml
clearml.browser_login()
```
После запуска этого скрипта вам нужно будет войти в вашу учетную запись ClearML в браузере и аутентифицировать вашу сессию.
### TensorBoard
[TensorBoard](https://www.tensorflow.org/tensorboard) - это инструмент визуализации для TensorFlow. Он позволяет вам визуализировать граф TensorFlow, выводить количественные метрики о выполнении вашего графа и показывать дополнительные данные, такие как изображения, проходящие через него.
Чтобы использовать TensorBoard в [Google Colab](https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb):
!!! example ""
=== "CLI"
```bash
load_ext tensorboard
tensorboard --logdir ultralytics/runs # заменить на директорию 'runs'
```
Чтобы использовать TensorBoard локально, запустите приведенную ниже команду и просмотрите результаты по адресу http://localhost:6006/.
!!! example ""
=== "CLI"
```bash
tensorboard --logdir ultralytics/runs # заменить на директорию 'runs'
```
Это загрузит TensorBoard и направит его к каталогу, где сохраняются ваши журналы обучения.
После настройки вашего логгера вы можете продолжать обучение модели. Все метрики обучения будут автоматически записаны на выбранной вами платформе, и вы сможете получить доступ к этим журналам, чтобы отслеживать производительность вашей модели со временем, сравнивать различные модели и определять области для улучшения.

86
docs/ru/modes/val.md Normal file
View file

@ -0,0 +1,86 @@
---
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' |
|