11 KiB
comments | description | keywords |
---|---|---|
true | Пошаговое руководство по экспорту ваших моделей YOLOv8 в различные форматы, такие как ONNX, TensorRT, CoreML и другие, для развертывания. Изучите сейчас!. | YOLO, YOLOv8, Ultralytics, Экспорт модели, ONNX, TensorRT, CoreML, TensorFlow SavedModel, OpenVINO, PyTorch, экспорт модели |
Экспорт модели с Ultralytics YOLO
Введение
Основная цель тренировки модели — её развертывание для реальных приложений. Режим экспорта в Ultralytics YOLOv8 предлагает множество вариантов для экспорта обученной модели в различные форматы, обеспечивая возможность развертывания на разных платформах и устройствах. Это исчерпывающее руководство направлено на то, чтобы провести вас через тонкости экспорта моделей, демонстрируя, как достичь максимальной совместимости и производительности.
Смотрите: Как экспортировать обученную пользовательскую модель Ultralytics YOLOv8 и запустить живое воспроизведение на веб-камере.
Почему стоит выбрать режим экспорта 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 | - | yolov8n.pt |
✅ | - |
TorchScript | torchscript |
yolov8n.torchscript |
✅ | imgsz , optimize |
ONNX | onnx |
yolov8n.onnx |
✅ | imgsz , half , dynamic , simplify , opset |
OpenVINO | openvino |
yolov8n_openvino_model/ |
✅ | imgsz , half |
TensorRT | engine |
yolov8n.engine |
✅ | imgsz , half , dynamic , simplify , workspace |
CoreML | coreml |
yolov8n.mlpackage |
✅ | imgsz , half , int8 , nms |
TF SavedModel | saved_model |
yolov8n_saved_model/ |
✅ | imgsz , keras |
TF GraphDef | pb |
yolov8n.pb |
❌ | imgsz |
TF Lite | tflite |
yolov8n.tflite |
✅ | imgsz , half , int8 |
TF Edge TPU | edgetpu |
yolov8n_edgetpu.tflite |
✅ | imgsz |
TF.js | tfjs |
yolov8n_web_model/ |
✅ | imgsz |
PaddlePaddle | paddle |
yolov8n_paddle_model/ |
✅ | imgsz |
ncnn | ncnn |
yolov8n_ncnn_model/ |
✅ | imgsz , half |