Link to this sectionЭкспорт для Hailo для моделей Ultralytics YOLO#
ИИ-ускорители Hailo запускают скомпилированные модели в исполняемом формате Hailo Executable Format (HEF) на периферийных устройствах, таких как Raspberry Pi AI Kit и AI HAT+. Ultralytics экспортирует модели детекции, сегментации, позы, OBB, классификации, семантической сегментации и оценки глубины YOLO напрямую в HEF с помощью компилятора Hailo Dataflow Compiler (DFC).
Развертывание Hailo разработано для компьютерного зрения на периферии: камер, роботов, промышленных систем, шлюзов и других устройств, которым необходимо локальное обнаружение объектов без отправки каждого кадра в облако. Скомпилированный HEF содержит квантованную сеть, распределение аппаратных ресурсов, планирование и опциональную постобработку HailoRT, необходимые для выбранного ускорителя.
Для развертывания на новом оборудовании также рассмотри Axelera и DeepX, которые ориентированы на более современные платформы периферийных ускорителей и могут обеспечить более высокую производительность. Для достижения максимальной точности Hailo рекомендует использовать не менее 1024 репрезентативных калибровочных изображений; встроенные специализированные наборы данных подходят только для быстрого тестирования.
Link to this sectionЗачем развертывать Ultralytics YOLO на Hailo?#
Комбинация Ultralytics YOLO с нейронным процессором (NPU) Hailo обеспечивает практический путь от обучения модели до низкопотребляющего периферийного AI-вывода. Распространенные сценарии использования включают:
- Умные камеры и видеоаналитика: Запуск обнаружения объектов в реальном времени рядом с камерой для задач безопасности, розничной торговли, дорожного движения и контроля заполняемости.
- Робототехника и автономные системы: Обнаружение людей, транспортных средств, посылок, инструментов или препятствий без зависимости от постоянного подключения к облаку.
- Промышленное компьютерное зрение: Развертывание кастомных моделей YOLO для инспекции, подсчета, мониторинга безопасности и контроля качества.
- Проекты на базе Raspberry Pi AI: Добавление ускоренного визуального вывода в системы Raspberry Pi с использованием AI Kit или AI HAT+.
- Периферийные шлюзы и AI ПК: Обработка нескольких потоков видео или данных с датчиков локально при снижении требований к пропускной способности сети и облачным вычислениям.
Локальный вывод может повысить конфиденциальность и сократить время отклика, так как изображения остаются на устройстве развертывания. Фактическая пропускная способность, задержка и энергопотребление зависят от размера модели YOLO, входного разрешения, архитектуры Hailo, хост-системы и конвейера приложения.
Link to this sectionКак работает экспорт Hailo#
Ultralytics владеет полным рабочим процессом экспорта для format="hailo":
YOLO (.pt) -> ONNX -> Hailo parse -> INT8 optimization -> HEF compileЭкспортер выполняет эти этапы автоматически:
- Экспортирует статический граф ONNX с настройками, совместимыми с компилятором.
- Выбирает выходные данные «головы» архитектуры модели.
- Генерирует директивы для нормализации, активации и постобработки.
- Создает репрезентативный калибровочный поток и квантует модель до INT8.
- Компилирует оптимизированный граф для выбранного ускорителя Hailo.
- Сохраняет HEF с метаданными Ultralytics и удаляет промежуточный файл ONNX.
Модели детекции YOLOv8 и YOLO11 используют HailoRT YOLO NMS в скомпилированном конвейере. Модели детекции YOLO26 используют свои выходы «один к одному» без NMS, поэтому экспортер выбирает другой путь вывода и квантования автоматически. Сегментация, поза и OBB в YOLOv8/YOLO11 компилируют тензоры сырой «головы», которые Ultralytics декодирует при инференсе, а классификация в YOLOv8/YOLO11/YOLO26 запускает softmax на чипе, поэтому HEF возвращает вероятности классов напрямую. Для семантической сегментации YOLO26 экспортер следует за ускорителем: Hailo-8/8L (DFC v3.x) возвращают логиты классификатора для апсэмплинга и редукции на хосте, в то время как Hailo-10/15 (DFC v5.x) компилируют многоклассовые «головы» ArgMax на чипе и возвращают компактную карту классов. Одноклассовые «головы» используют путь хост-логитов на каждой цели, поскольку для них требуется пороговое значение вместо ArgMax. Модели глубины YOLO26 компилируют плотную свертку логитов в a16 и восстанавливают метрическую карту глубины на хосте (следующие за «головой» clamp/exp и обученную лог-аффинную калибровку), поэтому квантователь сохраняет максимальный диапазон на сыром логите. Пользователям не нужно искать конечные узлы ONNX, писать скрипт модели Hailo (.alls) или создавать NMS JSON вручную.
Link to this sectionУстановка#
Установи Ultralytics и скачай wheel-файл DFC для твоего целевого оборудования из Hailo Developer Zone (требуется бесплатная регистрация):
pip install ultralytics
pip install /path/to/hailo_dataflow_compiler-*.whlДля компиляции Hailo требуется Linux x86_64. Скомпилируй модель на поддерживаемой рабочей станции, затем скопируй выходную директорию на целевое устройство. DFC не требуется для выполнения вывода.
Hailo-8 и Hailo-8L используют DFC v3.x. Hailo-10 и Hailo-15 используют DFC v5.x. Установи версию компилятора, соответствующую целевому ускорителю.
Ultralytics Platform предоставляет управляемый экспорт в Hailo, поэтому локальная учетная запись Hailo или установка DFC не требуются.
Link to this sectionЭкспорт модели Hailo HEF#
Используй format="hailo" и выбери целевой ускоритель с помощью name:
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
output = model.export(format="hailo", name="hailo8l")
print(output) # yolo11n_hailo_model/Эквивалентная команда CLI:
yolo export model=yolo11n.pt format=hailo name=hailo8lЭкспорт в Hailo возможен только в формате INT8. Ultralytics автоматически загружает специализированный калибровочный набор данных, если параметр data не указан. Для пользовательских моделей используй репрезентативные изображения для обучения или валидации:
Ultralytics принудительно устанавливает уровень оптимизации DFC 2 и настраивает тонкую настройку (fine-tuning) на использование фактического размера калибровочного набора данных. Hailo рекомендует не менее 1024 разнообразных изображений; встроенные облегченные наборы данных компилируются на уровне 2, но могут не отражать специфику твоей рабочей доменной области. Для промышленного экспорта HEF передавай репрезентативный набор данных через data="path/to/dataset.yaml".
model.export(format="hailo", name="hailo8l", data="path/to/dataset.yaml")Компиляция использует фиксированную форму входных данных. Установи imgsz в соответствии с разрешением, используемым на устройстве:
model.export(format="hailo", name="hailo8l", imgsz=640)Link to this sectionПоддерживаемые модели и оборудование#
Экосистема Hailo охватывает широкий спектр задач компьютерного зрения, но экспортер Ultralytics format="hailo" в настоящее время валидирует стандартные «головы» детекции, сегментации, позы, OBB, классификации, семантической сегментации и оценки глубины YOLO. В таблице задач описаны доступные пути экспортера; аппаратная валидация указана отдельно ниже.
| Задача Ultralytics | Прямой экспорт Hailo | Поддерживаемые семейства моделей | Примечания |
|---|---|---|---|
| Обнаружение объектов | ✅ | YOLOv8, YOLO11, YOLO26 | Стандартные головы Detect Ultralytics, включая кастомные модели |
| Сегментация экземпляров | ✅ | YOLOv8, YOLO11 | «Сырые» тензоры «головы», декодируемые Ultralytics при инференсе; YOLO26-seg в настоящее время не поддерживается |
| Классификация изображений | ✅ | YOLOv8, YOLO11, YOLO26 | Softmax выполняется на чипе; HEF возвращает вероятности классов напрямую |
| Оценка позы | ✅ | YOLOv8, YOLO11 | «Сырые» тензоры головы декодируются Ultralytics при инференсе; YOLO26-pose в настоящее время не поддерживается |
| Ориентированное обнаружение объектов | ✅ | YOLOv8, YOLO11 | «Сырые» тензоры головы декодируются Ultralytics при инференсе; YOLO26-OBB в настоящее время не поддерживается |
| Семантическая сегментация | ✅ | YOLO26 | Hailo-8/8L и одноклассовые головы возвращают логиты; Hailo-10/15 формируют многоклассовые карты |
| Оценка глубины | ✅ | YOLO26 | Плотный логит скомпилирован в a16; Ultralytics восстанавливает метрическую карту глубины при инференсе |
Специализированные семейства для детекции, такие как YOLOv10, YOLO-World, YOLOE и RT-DETR, также ❌ не поддерживаются. Ultralytics отклоняет эти задачи и семейства моделей перед компиляцией, вместо того чтобы создавать невалидный HEF.
| Семейство моделей | Hailo-8 / Hailo-8L | Hailo-10 / Hailo-15 | Выходные данные |
|---|---|---|---|
| Детекция в YOLOv8 / YOLO11 | ✅ | ✅ | HEF с HailoRT YOLO NMS |
| Детекция в YOLO26 | ✅ | ✅ | Выходы детекционной головы без NMS для поддерживаемых сред выполнения |
| YOLOv8-seg / YOLO11-seg | ✅ | ✅ | «Сырые» тензоры сегментации, декодируемые Ultralytics при инференсе |
| YOLOv8-pose / YOLO11-pose | Проверено на Hailo-8L | Не проверено | «Сырые» тензоры позы, декодируются Ultralytics при инференсе |
| YOLOv8-obb / YOLO11-obb | Проверено на Hailo-8L | Не проверено | «Сырые» тензоры OBB, декодируются Ultralytics при инференсе |
| YOLOv8-cls / YOLO11-cls / YOLO26-cls | Проверено на Hailo-8L | Не проверено | Softmax на чипе; HEF возвращает вероятности классов |
| YOLO26-sem | Проверено на Hailo-8L | Не проверено | Логиты или сформированная многоклассовая карта на Hailo-10/15 |
| YOLO26-depth | Проверено на Hailo-8L | Не проверено | Плотный логит; метрическая карта глубины декодируется Ultralytics |
Поза, OBB, классификация, семантическая сегментация YOLO26 и оценка глубины YOLO26 (путь Hailo-8/8L) прошли валидацию на Hailo-8L с HailoRT 4.23 и DFC 3.33. Экспортер принимает другие перечисленные цели, но эти новые пути задач требуют валидации с соответствующим компилятором и устройством перед использованием в продакшене.
Выбери одно из этих значений name:
name | Целевой ускоритель |
|---|---|
hailo8 | Hailo-8 |
hailo8l | Hailo-8L |
hailo10h | Hailo-10H |
hailo15h | Hailo-15H |
hailo15l | Hailo-15L |
hailo8l — значение по умолчанию. Установи версию DFC, соответствующую выбранной цели.
Link to this sectionПоколения оборудования и SDK Hailo#
Семейства ускорителей Hailo используют разные поколения компиляторов. Сгенерированный HEF должен соответствовать целевому оборудованию, поэтому выбирай name для устройства, которое будет выполнять вывод, а не для машины, выполняющей экспорт.
| Семейство оборудования | Поколение DFC | Типичные примеры развертывания |
|---|---|---|
| Hailo-8 / Hailo-8L | DFC v3.x | Модули ускорителей, Raspberry Pi AI Kit/HAT+ |
| Hailo-10H | DFC v5.x | Новые развертывания периферийного AI и Raspberry Pi |
| Hailo-15H / Hailo-15L | DFC v5.x | Умные камеры и встраиваемые системы зрения |
Компилятор работает на Linux x86_64, а полученный HEF выполняется на устройстве Hailo через HailoRT. Это разделение позволяет компилировать модель на рабочей станции или в Ultralytics Platform и развертывать небольшой артефакт среды выполнения на периферийном хосте ARM или x86.
Link to this sectionПримечания о совместимости#
Компиляция Hailo специфична для оборудования и использует фиксированную форму входных данных. Учитывай эти ограничения:
- Выбранное
nameдолжно соответствовать ускорителю развертывания. - Калибровочные изображения должны отражать освещение, точки обзора, объекты и фон, ожидаемые в реальной эксплуатации.
- HEF, скомпилированный с определенным
imgsz, не становится динамически масштабируемым во время выполнения. - Количество кастомных классов поддерживается, так как Ultralytics генерирует конфигурацию постобработки из метаданных модели.
- Поддерживаются модели детекции со стандартными «головами» детекции Ultralytics
Detect, модели сегментации, позы и OBB для YOLOv8/YOLO11, модели классификации для YOLOv8/YOLO11/YOLO26, а также модели семантической сегментации и оценки глубины для YOLO26; экспорт инстансной сегментации, позы и ориентированного ограничивающего прямоугольника YOLO26, а также YOLO-World, YOLOE, YOLOv10 и RT-DETR в настоящее время не поддерживается. - Артефакты Hailo-8/8L и Hailo-10/15 компилируются разными поколениями DFC и не являются взаимозаменяемыми.
Link to this sectionКалибровка и квантование INT8#
Экспорт Hailo HEF использует квантование INT8 для эффективного отображения сети YOLO на ускорителе. Калибровочный набор данных оценивает диапазоны активации; он не переобучает модель и не требует меток во время компиляции.
Если параметр data опущен, Ultralytics использует легковесный набор данных калибровки для конкретной задачи, такой как COCO128 для детекции, cityscapes8 для семантической сегментации или depth8 для оценки глубины. «Голова» плотной глубины особенно чувствительна к домену калибровки: калибровка модели глубины с помощью несвязанных изображений детекции сглаживает предсказанную карту, а более крупные наборы из того же домена улучшают точность. Для пользовательской модели компьютерного зрения укажите в data путь к ее YAML-файлу набора данных, чтобы компилятор мог использовать репрезентативные изображения из реального домена развертывания:
model.export(format="hailo", name="hailo8l", data="my_dataset.yaml")fraction выбирает часть набора данных, используемую для калибровки. Большее количество изображений помогает только тогда, когда они представляют область развертывания; изображения вне этой области могут снизить точность квантования и увеличить время оптимизации. Если INT8 HEF теряет в точности по сравнению с исходной моделью PyTorch, сначала улучши данные калибровки, прежде чем менять настройки модели или среды выполнения.
Link to this sectionОжидаемая точность по семействам моделей#
При измерении на Hailo-8L с внутридоменной калибровкой (COCO128, 128 изображений) экспорт INT8 HEF сохраняет следующую долю своего PyTorch mAP50 при том же протоколе оценки:
| Модель | Сохранение mAP50 | Примечания |
|---|---|---|
| YOLOv8n | ~100% | DFL-голова с NMS на чипе |
| YOLO11n | ~96% | Блоки внимания (attention) в бэкбоне более чувствительны к INT8 |
| YOLO26n | ~93% | Сквозная (end-to-end) голова плюс блоки внимания; смотри примечание о доверии |
Уровень сохранения сравнивает обе модели при одном и том же пороге доверия (confidence threshold). HEF-файлы YOLOv8 и YOLO11 встраивают значение conf (по умолчанию 0.25) во время экспорта в NMS на чипе, поэтому проверка относительно PyTorch-бейзлайна с его стандартным низким порогом охватывает большую часть кривой точности-полноты (precision-recall curve) и преувеличивает разрыв от квантования.
Помимо детекции, пути экспорта для сегментации, оценки поз, OBB и классификации были проверены на том же Hailo-8L (DFC 3.33, HailoRT 4.23). Каждый INT8 HEF сравнивался с его чекпоинтом PyTorch на той же валидационной выборке с использованием внутридоменной калибровки:
| Задача | Метрика (валидационная выборка) | YOLOv8n | YOLO11n |
|---|---|---|---|
| Сегментация экземпляров | Сохранение mask mAP50 (COCO128-seg) | 98.0% | 93.6% |
| Поза | Сохранение box mAP50 (COCO8-pose) | 98.1% | 90.8% |
| Ориентированный ограничивающий прямоугольник | Сохранение mAP50 (DOTA128) | ~100% | 96.9% |
| Классификация | Сохранение top-1 (валидация ImageNet) | 92.6% | 95.4% |
Сегментация, оценка поз и OBB были откалиброваны с использованием стандартного внутридоменного набора для каждой задачи (COCO128-seg, COCO8-pose, DOTA128); классификация была откалибрована с использованием ImageNet100. Из этих значений по умолчанию следуют два предостережения: COCO8-pose содержит всего 8 изображений, поэтому относись к результатам для поз как к ориентировочным и передавай больший data= для продакшена, а DOTA8 обеспечивает mAP50 близкий к 100% для обеих моделей, поэтому OBB считывается на DOTA128. Классификация — это также единственная задача, где YOLO11 сохраняет больше точности, чем YOLOv8; для остальных задач бэкбон с механизмом внимания YOLO11 более чувствителен к квантованию INT8.
Из измерений устройства следуют три практических правила:
- Всегда проводи калибровку внутри домена. Тонкая настройка (fine-tuning) с изображениями вне домена эквивалентна полному отключению тонкой настройки: YOLO26n, откалиброванный на 1238 изображениях вне домена, сохраняет ту же точность (85.7%), что и модель, скомпилированная без тонкой настройки. Небольшой внутридоменный набор лучше большого внедоменного.
- Снизь
confпримерно на 0.05 для развертывания YOLO26. Квантование снижает оценки YOLO26 в среднем примерно на 0.05, поэтому порог, настроенный в PyTorch, отсекает валидные детекции на HEF. Использованиеconf=0.20на устройстве соответствует количеству детекций в PyTorch приconf=0.25, а небольшое дальнейшее снижение (примерно доconf=0.15) восстанавливает практически весь оставшийся разрыв mAP50 ценой увеличения количества детекций с низкой уверенностью. Квантование также переранжирует примерно 20% детекций — это необратимый эффект упорядочивания, который не исправляется никаким порогом, — но это перемешивание не препятствует восстановлению mAP50 при более низком пороге. - Штраф за использование внимания (attention) на Hailo-8/8L (DFC 3.33) является структурным. Блоки внимания компилируются в
matmulоперации, которые сохраняют INT8-входы активации во всех режимах, предлагаемых компилятором для них; режим с 16-битным выводом не проходит выделение памяти для этого графа, а повышение точности окружающих слоев не помогает, поскольку matmul всё равно переквантует свои входы в INT8 (защита depthwise и выходных сверток в 16-бит не изменила mAP в наших тестах). Когда приоритетом является точность и модели взаимозаменяемы, YOLO11 в данном случае квантуется лучше, чем YOLO26; новые поколения Hailo (DFC 5.x) предоставляют больше опций со смешанной точностью, и результаты могут отличаться.
Link to this sectionЭкспортированные артефакты#
Экспорт создает директорию, содержащую развертываемый HEF и метаданные Ultralytics:
yolo11n_hailo_model/
├── yolo11n.hef
├── metadata.yaml
└── nms_config.json*.hef— это скомпилированная модель, загружаемая через HailoRT.metadata.yamlсохраняет имена моделей, задачу, размер входных данных, шаг (stride) и информацию о цели Hailo.nms_config.jsonзаписывает сгенерированную конфигурацию HailoRT NMS для моделей детекции YOLOv8 и YOLO11. Детекция YOLO26 и все задачи, не связанные с детекцией (сегментация, оценка позы, OBB, классификация, семантическая сегментация), этот файл не используют.
Промежуточный граф ONNX удаляется после компиляции.
Link to this sectionВыполнение вывода на оборудовании Hailo#
Установи HailoRT на целевое устройство. Пользователи Raspberry Pi AI Kit и AI HAT+ могут следовать руководству по программному обеспечению Raspberry Pi AI:
sudo apt install hailo-all
hailortcli fw-control identifyСкопируй всю директорию экспорта на устройство, чтобы metadata.yaml оставался рядом с HEF. Ultralytics использует HailoRT для запуска predict и val напрямую из экспортированной директории:
from ultralytics import YOLO
model = YOLO("yolo11n_hailo_model")
results = model.predict("path/to/image.jpg")Для моделей детекции бэкенд автоматически конвертирует вывод HailoRT NMS для YOLOv8 и YOLO11 и декодирует выходы YOLO26 «один-к-одному». Он декодирует «сырые» тензоры сегментации, оценки позы и OBB, возвращает вероятности классификации на чипе и создает карты семантических классов посредством редукции на хосте для Hailo-8/8L и всех одноклассовых голов, либо с помощью встроенного ArgMax на чипе для многоклассовых голов Hailo-10/15. TAPPAS, GStreamer и вспомогательный инструмент Raspberry Pi picamera2.devices.Hailo остаются доступными для специфических прикладных конвейеров.
Для развертывания GStreamer передай HEF в hailonet:
gst-launch-1.0 filesrc location=video.mp4 ! decodebin ! videoconvert ! \
hailonet hef-path=yolo11n_hailo_model/yolo11n.hef ! \
hailofilter function-name=yolov8 ! hailooverlay ! autovideosinkLink to this sectionВарианты развертывания Hailo#
HEF — это единый развертываемый артефакт модели для нескольких интерфейсов среды выполнения Hailo. Выбери интерфейс, который подходит для твоего приложения:
| Вариант среды выполнения | Наилучший вариант для |
|---|---|
| Python или C/C++ API HailoRT | Кастомных приложений и прямого контроля вывода |
Raspberry Pi picamera2.devices.Hailo | Проектов на базе модуля камеры для Raspberry Pi |
| Приложения GStreamer и Hailo | Потоки видео в реальном времени и многоэтапные конвейеры |
hailortcli | Проверка устройства, инспекция HEF и бенчмаркинг |
Храни metadata.yaml вместе с HEF, если приложению нужны имена классов Ultralytics, размер входных данных, шаг или другая информация о модели. Сам HEF не заменяет логику уровня приложения для захвата видео с камеры, визуализации, отслеживания, оповещений или хранения данных.
Link to this sectionПроверь устройство Hailo и HEF#
Перед интеграцией камеры или видеоконвейера проверь среду выполнения и ускоритель независимо:
hailortcli fw-control identify
hailortcli parse-hef yolo11n_hailo_model/yolo11n.hefЗамеры производительности только на устройстве позволяют отделить инференс Hailo от декодирования видео, изменения размера изображения, отрисовки и ввода-вывода приложения. Измеряй работу всего приложения отдельно, когда оцениваешь сквозную задержку или количество кадров в секунду.
Link to this sectionHailo в сравнении с другими форматами экспорта YOLO#
Выбирай формат экспорта в зависимости от оборудования, на котором будет выполняться модель:
| Цель развертывания | Формат экспорта Ultralytics |
|---|---|
| Hailo NPU | Hailo HEF (format="hailo") |
| GPU NVIDIA | TensorRT |
| Intel CPU, GPU или NPU | OpenVINO |
| Оборудование Apple | CoreML |
| Qualcomm Snapdragon NPU | QNN |
| Rockchip NPU | RKNN |
| Raspberry Pi AI Camera | Sony IMX500 |
| Портативное кросс-платформенное использование | ONNX |
HEF — правильный выбор, когда конечное устройство содержит ускоритель Hailo. ONNX остается полезным как портативный промежуточный формат, но HailoRT выполняет именно аппаратный HEF, созданный DFC, а не исходную модель ONNX.
Link to this sectionОптимизация производительности компьютерного зрения на Hailo#
Выбор модели и конвейера часто важнее, чем флаги компилятора:
- Начни с небольшой модели YOLO и увеличивай размер только тогда, когда этого требует точность.
- Выбирай минимально фиксированный
imgsz, который по-прежнему сохраняет важные для приложения объекты. - По возможности используй калибровочные изображения с реальной камеры и среды.
- Держи сеть Hailo активной между кадрами, вместо того чтобы открывать HEF заново для каждого инференса.
- Отделяй время инференса на устройстве от предобработки, декодирования видео, пост-обработки, визуализации и сетевого ввода-вывода.
- Используй потоковый конвейер, такой как GStreamer, для постоянных видеозадач.
- Проверяй экспортированный HEF на том же ускорителе и версии HailoRT, которые используются в продакшене.
Link to this sectionАргументы экспорта#
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
name | str | hailo8l | Целевая архитектура ускорителя Hailo |
imgsz | int, list | 640 | Фиксированный размер входных данных модели |
data | str | специфичный для задачи | YAML-файл набора данных для калибровки |
fraction | float | 1.0 | Доля используемых калибровочных изображений |
quantize | int | 8 | Экспорт Hailo использует квантование INT8 |
simplify | bool | True | Упростить промежуточный граф ONNX |
conf | float | 0.25 | Порог уверенности YOLOv8/YOLO11 HailoRT NMS |
iou | float | 0.7 | Порог IoU YOLOv8/YOLO11 HailoRT NMS |
Для экспорта детекции YOLOv8 и YOLO11 получают HailoRT NMS, в то время как YOLO26 сохраняет свои выходы «один к одному» без NMS. Сегментация, поза и OBB используют сырые тензоры «головы», классификация возвращает вероятности на чипе, а семантическая сегментация возвращает сырые логиты на Hailo-8/8L и все одноклассовые «головы» или готовые карты классов для многоклассовых «голов» Hailo-10/15. Оценка глубины возвращает сырой логит глубины, который Ultralytics декодирует в метрическую карту глубины при инференсе. Не передавай end2end; явные переопределения отклоняются. Динамические формы, батчи размером больше единицы, встроенный NMS от Ultralytics, FP16 и FP32 также не поддерживаются.
Link to this sectionУстранение неполадок экспорта Hailo#
Link to this sectionОшибка импорта Hailo Dataflow Compiler#
Если при экспорте сообщается, что отсутствует hailo_sdk_client, установи wheel-файл DFC для целевого поколения оборудования в той же среде Python, где находится Ultralytics. Для Hailo-8/8L и Hailo-10/15 требуются разные поколения компиляторов.
Link to this sectionНеподдерживаемая операционная система или архитектура#
Компиляция HEF поддерживается на Linux x86_64. Выполняй экспорт через платформу Ultralytics или используй совместимую рабочую станцию, если твой локальный компьютер работает на macOS, Windows, Raspberry Pi или другой ARM-системе.
Link to this sectionЭкспорт занимает много времени#
Оптимизация DFC — самый ресурсоемкий этап. Время компиляции растет вместе с размером модели, разрешением входа и данными калибровки. Поддерживаемый GPU может ускорить оптимизацию, в то время как компиляция только на CPU может быть значительно медленнее.
Link to this sectionПадение точности квантованной модели#
Используй калибровочные изображения, которые похожи на производственные входные данные и включают важные объекты, масштабы, условия освещения и фоны. Сравни исходную модель PyTorch и экспортированный HEF на одном и том же валидационном наборе перед развертыванием. Умеренный разрыв, зависящий от семейства моделей, сохраняется даже при хорошей калибровке; смотри Ожидаемая точность по семействам моделей для измеренных бейзлайнов.
Link to this sectionHEF не загружается на устройстве#
Подтверди, что name соответствует физической архитектуре Hailo и что драйвер устройства, прошивка и пакеты HailoRT взаимно совместимы. Осмотри артефакт с помощью hailortcli parse-hef и проверь ускоритель с помощью hailortcli fw-control identify.
Link to this sectionРазбор вывода выглядит некорректным#
Держи metadata.yaml рядом с HEF, чтобы Ultralytics мог выбрать подходящий путь постобработки для YOLOv8, YOLO11 или YOLO26. Пользовательские приложения на базе HailoRT должны аналогичным образом сопоставлять постобработку с семейством экспортированной модели.
Link to this sectionFAQ#
Link to this sectionМогу ли я скомпилировать HEF на Raspberry Pi?#
Нет. Запускай DFC на поддерживаемой системе Linux x86_64 и развертывай полученный HEF на Raspberry Pi.
Link to this sectionНужен ли мне NVIDIA GPU?#
Поддерживаемый GPU значительно сокращает время оптимизации DFC. Компиляция на CPU возможна, но может занять существенно больше времени.
Link to this sectionКакие модели YOLO поддерживают экспорт Hailo?#
Прямой экспорт поддерживает модели детекции со стандартной «головой» детекции YOLOv8, YOLO11 или YOLO26, модели сегментации, позы и OBB для YOLOv8/YOLO11, а также модели классификации для YOLOv8/YOLO11/YOLO26. Сюда входят обученные на заказ модели, созданные на основе этих стандартных архитектур. Модели семантической сегментации и оценки глубины YOLO26 также поддерживаются. Инстансная сегментация, поза и OBB для YOLO26, а также YOLOv10, YOLO-World, YOLOE и RT-DETR отклоняются, а не приводят к созданию невалидированного HEF.
Link to this sectionМогу ли я экспортировать дообученную модель YOLO?#
Да. Используй ту же команду format="hailo" с пользовательскими весами .pt и передай YAML-файл обучающего набора данных через data для репрезентативной калибровки INT8. Имена классов и их количество считываются из метаданных модели.
Link to this sectionПоддерживает ли экспорт Hailo динамические размеры изображений?#
Нет. DFC компилирует фиксированную форму входа в HEF. Выбирай imgsz во время экспорта так, чтобы он соответствовал разрешению, используемому в конвейере развертывания.
Link to this sectionПочему YOLO26 выдает другие результаты Hailo?#
YOLO26 использует голову детекции «один-к-одному» без NMS. Ultralytics компилирует эти выходные тензоры напрямую, вместо того чтобы прикреплять HailoRT NMS в стиле YOLOv8, используемый для YOLOv8 и YOLO11.
Link to this sectionВ чем разница между DFC и HailoRT?#
Hailo Dataflow Compiler преобразует и квантует модель в специфичный для оборудования HEF на сборочной машине с Linux x86_64. HailoRT загружает и запускает этот HEF на целевом устройстве.
Link to this sectionЧто мне развертывать: файл ONNX или HEF?#
Развертывай скомпилированный HEF в среду выполнения Hailo. ONNX — это промежуточное представление, используемое при экспорте, и оно удаляется после успешной компиляции.
Link to this sectionГде я могу взять Hailo DFC?#
Скачай wheel-пакет компилятора для твоего поколения оборудования в Hailo Developer Zone. Компилятор требуется только для создания HEF; HailoRT запускает его на целевом ускорителе.
Link to this sectionРезюме#
Экспорт Ultralytics в Hailo предоставляет прямой путь от обученной модели YOLO к развертываемому HEF:
- Загрузи модель детекции или классификации YOLOv8, YOLO11 или YOLO26, модель сегментации, позы или OBB YOLOv8/YOLO11, либо модель семантической сегментации или оценки глубины YOLO26.
- Экспортируй с помощью
format="hailo"и выбери целевую архитектуру. - Откалибруй и скомпилируй локально с помощью соответствующего DFC или используй управляемый экспорт в платформе Ultralytics.
- Скопируй HEF и
metadata.yamlна edge-устройство на базе Hailo. - Запусти инференс с использованием HailoRT, Raspberry Pi Picamera2 или видеоконвейера GStreamer.
Для других целей развертывания компьютерного зрения см. Режим экспорта, Режим бенчмарка и руководство по интеграциям. Смежные руководства по аппаратному обеспечению включают ONNX, OpenVINO, TensorRT, NCNN, RKNN, Sony IMX500 и Qualcomm QNN.