Ultralytics YOLO27: Запишись в список ожидания.

Экспорт моделей YOLO в LiteRT для развёртывания на периферийных устройствах и в вебе#

LiteRT edge deployment framework

LiteRT (сокращение от Lite Runtime) — высокопроизводительная среда выполнения Google для ИИ непосредственно на устройстве. Это новое поколение TensorFlow Lite (TFLite), использующее новый вариант названия, и оно работает с тем же форматом модели .tflite. С LiteRT одну экспортированную модель Ultralytics YOLO можно развернуть на мобильных и встраиваемых устройствах, периферийных устройствах и в браузере — возможности, для которых раньше требовались отдельные форматы экспорта tflite и tfjs, теперь объединены в одном решении.



Смотри: Как экспортировать Ultralytics YOLO26 в Google LiteRT | Развертывание ИИ для компьютерного зрения на Android и iOS | Мобильный ИИ 📱🚀

Формат экспорта LiteRT оптимизирует модели для таких задач, как обнаружение объектов, сегментация, оценка позы и классификация, обеспечивая быструю автономную работу на широком спектре устройств.

Запусти YOLO на Android с LiteRT уже сегодня с помощью официального плагина Flutter

Официальный плагин Ultralytics YOLO для Flutter сразу запускает экспорты LiteRT .tflite на Android. Он поддерживает инференс с камеры в реальном времени, предсказания для одного изображения, ускорение на GPU и автоматическое скачивание моделей для всех семи задач YOLO26, включая глубину. Для устройств Apple используй экспорт CoreML, а для NPU Qualcomm Snapdragon — интеграцию Qualcomm QNN.

Официальные размеры входных данных для мобильных устройств

Экспортируй модели классификации с размером imgsz=224. Экспортируй модели detect, segment, semantic, depth, pose и OBB с размером imgsz=640. Этот стандарт 224/640 используется в официальных мобильных ресурсах LiteRT, CoreML и QNN.

Запусти YOLO в вебе с LiteRT.js уже сегодня с помощью официального npm-пакета @ultralytics/yolo

Официальный npm-пакет Ultralytics YOLO запускает экспорты LiteRT .tflite прямо в браузере с помощью LiteRT.js — сервер и Python не нужны. Поддерживаются инференс с веб-камеры в реальном времени, предсказания для одного изображения и ускорение WebGPU (с автоматическим переходом на CPU/WASM) для шести задач YOLO26 (detect, segment, semantic, classify, pose, OBB). На WebGPU скорость часто примерно в ~2 раза выше, чем у ONNX Runtime Web.

npm i @ultralytics/yolo @litertjs/core

Зачем экспортировать в LiteRT?#

LiteRT — это среда с открытым исходным кодом, предназначенная для инференса непосредственно на устройстве, также известного как периферийные вычисления. Она предоставляет разработчикам инструменты для запуска обученных моделей на мобильных и встраиваемых устройствах, устройствах IoT и обычных компьютерах, а с помощью LiteRT.js — непосредственно в веб-браузерах и Node.js.

Один формат модели — для всех целевых платформ:

  • Мобильные и встраиваемые устройства: Android, iOS, встроенный Linux и микроконтроллеры (MCU).
  • Периферийные ускорители: Совместимо с Coral Edge TPU для дополнительного ускорения.
  • Браузер и Node.js: LiteRT.js запускает ту же модель .tflite в вебе с ускорением WebGPU/WASM, поэтому отдельный экспорт TensorFlow.js не нужен.

Основные возможности моделей LiteRT#

  • Оптимизация на устройстве: снижает задержку за счёт локальной обработки данных, повышает конфиденциальность, не передавая персональные данные, и уменьшает размер модели, экономя место.
  • Поддержка нескольких платформ: работает на Android, iOS, встроенном Linux, микроконтроллерах и современных веб-браузерах.
  • Аппаратное ускорение: использует XNNPACK на CPU и ускорение на GPU через OpenCL, Metal и WebGPU. По умолчанию делегат GPU работает в FP16 для дополнительного ускорения.
  • Квантование: поддерживаются FP32, статический INT8 (quantize=8, веса int8 + активации int8), статический INT16-activation (quantize="w8a16", веса int8 + активации int16 для большей точности) и динамический INT8 (quantize="w8a32", веса int8 + активации FP32, калибровочные данные не нужны), чтобы сжимать модели и ускорять инференс с минимальной потерей точности.
  • Поддержка разных языков: совместим с Java/Kotlin, Swift, Objective-C, C++, Python и JavaScript.

Измеренная производительность#

Оборудование: Xiaomi 17 с 12 ГБ памяти LPDDR5X и Android 17 / API 37. В его 3-нм Snapdragon 8 Elite Gen 5 (SM8850) установлены 8-ядерный CPU Qualcomm Oryon (2 Prime-ядра с частотой до 4.6 ГГц и 6 производительных ядер с частотой до 3.62 ГГц), GPU Adreno и NPU Hexagon.

МодельЗадачаразмер
(пиксели)
CPU
w8a32 LiteRT
(мс)
GPU
w8a32 LiteRT
(мс)
NPU
LiteRT FP32
(мс)
YOLO26nОбнаружение64036.9
1.9 / 32.6 / 2.3
10.6
1.8 / 6.2 / 2.6
10.1
3.5 / 4.0 / 2.5
YOLO26n-segСегментация64050.5
1.9 / 42.9 / 5.8
18.0
1.9 / 9.5 / 6.6
19.2
3.6 / 5.9 / 9.7
YOLO26n-semСемантическая64045.7
1.9 / 35.7 / 8.2
30.6
1.9 / 20.5 / 8.3
25.8
3.6 / 11.0 / 11.3
YOLO26n-depthГлубина64066.8
2.2 / 55.0 / 9.7
21.9
2.1 / 10.1 / 9.8
24.8
4.3 / 6.0 / 14.5
YOLO26n-clsКлассификация2243.6
0.3 / 3.3 / 0.0
2.0
0.4 / 1.4 / 0.2
1.5
0.6 / 0.7 / 0.3
YOLO26n-poseПоза64039.9
2.0 / 36.5 / 1.4
10.0
1.8 / 6.7 / 1.4
11.5
3.5 / 4.2 / 3.8
YOLO26n-obbOBB64036.3
2.0 / 33.2 / 1.2
10.1
2.6 / 5.9 / 1.6
8.2
3.5 / 3.7 / 0.9
  • Значения скорости — это задержки при пакетном инференсе одного изображения: среднее значение по 15 запускам после 3 прогревочных запусков на bus.jpg, измеренное с помощью плагина Ultralytics для Flutter 0.7.1 и официальных ресурсов v0.7.0 (экспортировано в Ultralytics 8.4.188). Порядок CPU/GPU чередовался для разных задач в одном последовательном прогоне. В нативных логах подтверждено, что для каждой строки CPU использовались LiteRT CPU/XNNPACK, а для каждой строки GPU весь граф выполнялся через LiteRT OpenCL (LITERT_CL).
  • Экспорт в LiteRT напрямую трассирует модель PyTorch, создавая NCHW .tflite с входом типа float — делегат GPU компилирует весь граф (здесь все семь задач выполняются на GPU Adreno), а w8a32 не требует калибровочных данных. Сверяй формы тензоров и имена сигнатур, а не полагайся на устаревшую раскладку NHWC из onnx2tf или на имена выходов Identity; упаковывай данные RGB непосредственно в планарный формат CHW или транспонируй их перед инференсом. Экспорт для семантической сегментации возвращает логиты NCHW и требует вычисления argmax по классам на стороне хоста. Официальные Android-ресурсы размещены в релизе yolo-flutter-app v0.7.0, а подробная запись результатов бенчмарка приведена в документе о производительности Flutter.
  • Столбец NPU показывает результаты собственного пути NPU в LiteRT: экспорт FP32 (yolo export format=litert, без quantize), скомпилированный на устройстве средами выполнения litert-npu-runtime-qualcomm и -mediatek версии 2.3.0; измерения проведены с прототипной сборкой плагина Flutter для NPU (пока не выпущена). При первой загрузке выполняется компиляция (около 0.3 с для n, до 6 с для x). Ресурсы w8a32 не компилируются полностью на этих NPU. LiteRT сообщает о компиляции для NPU, даже если незаметно выполняет граф на GPU, поэтому каждую строку NPU сверяли со временем GPU; строки с переходом на другой процессор обозначены символом —.
  • Соответствующие результаты для NPU Hexagon Snapdragon с официальными ресурсами QNN приведены в разделе интеграция Qualcomm QNN.
  • Сравни результаты для CPU и ускорителя Apple в разделе интеграции CoreML.

В следующих сериях тестов на устройствах используются те же официальные ресурсы v0.7.0.

Google Pixel 10#

Оборудование: Google Pixel 10 с 12 ГБ памяти и Android 17 / API 37. В его 3-нм Google Tensor G5 установлены 8-ядерный CPU (1 Prime-ядро с частотой до 3.78 ГГц, 5 производительных ядер с частотой до 3.05 ГГц и 2 энергоэффективных ядра с частотой до 2.25 ГГц), GPU PowerVR D-Series и TPU Google. Тактовые частоты ядер и название драйвера GPU считаны с устройства для тестирования, поскольку Google не публикует их в спецификациях по ссылкам.

МодельЗадачаразмер
(пиксели)
CPU
w8a32 LiteRT
(мс)
GPU
w8a32 LiteRT
(мс)
YOLO26nОбнаружение64036.6
1.5 / 33.5 / 1.6
36.5
3.5 / 28.4 / 4.6
YOLO26n-segСегментация64053.1
1.5 / 45.8 / 5.7
51.5
1.6 / 40.1 / 9.9
YOLO26n-semСемантическая64057.2
1.5 / 47.7 / 8.0
75.9
1.8 / 63.4 / 10.8
YOLO26n-depthГлубина64075.0
1.6 / 65.1 / 8.3
50.1
1.7 / 33.5 / 14.9
YOLO26n-clsКлассификация2246.1
0.3 / 5.5 / 0.3
12.1
0.9 / 11.0 / 0.1
YOLO26n-poseПоза64035.2
1.5 / 31.9 / 1.8
38.2
3.5 / 29.3 / 5.4
YOLO26n-obbOBB64032.7
1.5 / 29.3 / 1.9
38.8
3.8 / 29.6 / 5.4

Тестирование: среднее значение по 15 вызовам predict() после 3 прогревочных запусков на bus.jpg с использованием ultralytics_yolo 0.7.1 и официальных ресурсов v0.7.0. Порядок CPU/GPU чередуется для разных задач в одном последовательном прогоне. В нативных логах подтверждено, что для каждой строки CPU использовались LiteRT CPU/XNNPACK, а для каждой строки GPU весь граф выполнялся через LiteRT OpenCL (LITERT_CL). Для Tensor NPU нет строки LiteRT: сервис EdgeTPU от Google отклоняет приложения, которых нет в списке разрешённых, после чего LiteRT запускает модель на GPU.

Samsung Galaxy S26#

Оборудование: Samsung Galaxy S26 (SM-S942B) с 12 ГБ памяти и Android 17 / API 37. В его 2-нм Exynos 2600 установлены 10-ядерный CPU Armv9.3 (1 ядро C1-Ultra с частотой до 3.8 ГГц, 3 производительных ядра C1-Pro с частотой до 3.26 ГГц и 6 энергоэффективных ядер C1-Pro с частотой до 2.76 ГГц), GPU Xclipse 960 и NPU Samsung.

МодельЗадачаразмер
(пиксели)
CPU
w8a32 LiteRT
(мс)
GPU
w8a32 LiteRT
(мс)
NPU
LiteRT w8a32 AOT
(мс)
YOLO26nОбнаружение64030.2
1.3 / 27.3 / 1.6
15.9
1.4 / 11.5 / 2.9
12.2
1.3 / 8.6 / 2.2
YOLO26n-segСегментация64045.6
1.3 / 39.1 / 5.2
30.5
1.3 / 23.6 / 5.6
17.0
1.4 / 9.7 / 5.8
YOLO26n-semСемантическая64038.1
1.3 / 28.6 / 8.2
26.1
1.3 / 16.8 / 7.9
28.3
1.7 / 15.1 / 11.5
YOLO26n-depthГлубина64063.5
1.4 / 53.6 / 8.4
37.3
1.4 / 24.6 / 11.3
28.4
2.1 / 12.9 / 13.4
YOLO26n-clsКлассификация2243.8
0.2 / 3.4 / 0.2
2.8
0.2 / 2.6 / 0.0
6.1
0.5 / 5.2 / 0.4
YOLO26n-poseПоза64031.1
1.3 / 28.4 / 1.4
18.4
1.6 / 13.0 / 3.8
13.5
1.8 / 9.5 / 2.2
YOLO26n-obbOBB64027.9
1.3 / 25.7 / 0.9
15.3
1.9 / 11.4 / 2.1
11.4
1.7 / 8.3 / 1.4

Тестирование: среднее значение по 15 вызовам predict() после 3 прогревочных запусков на bus.jpg с использованием ultralytics_yolo 0.7.1 и официальных ресурсов v0.7.0. Порядок CPU/GPU чередуется для разных задач в одном последовательном прогоне. В нативных логах подтверждено, что для каждой строки CPU использовались LiteRT CPU/XNNPACK, а для каждой строки GPU весь граф выполнялся через LiteRT OpenCL (LITERT_CL). В столбце NPU указаны результаты для ресурсов w8a32, заранее скомпилированных для Exynos 2600 (E9965) с помощью плагина компилятора Samsung для LiteRT. В LiteRT 2.3 нет встроенного компилятора Samsung для устройств, а Google пока не выпускает среду выполнения для NPU Samsung, поэтому в этих строках использовалась библиотека диспетчеризации, собранная из исходного кода LiteRT 2.3.

Xiaomi 17T Pro#

Оборудование: Xiaomi 17T Pro (2602EPTC0G) с 12 ГБ памяти LPDDR5X и Android 16 / API 36. В его 3-нм MediaTek Dimensity 9500 (MT6993) установлены 8-ядерный CPU Armv9.3 (1 ядро C1-Ultra с частотой до 4,21 ГГц, 3 ядра C1-Premium с частотой до 3,5 ГГц и 4 ядра C1-Pro с частотой до 2,7 ГГц), GPU Mali-G1 Ultra MC12 и NPU MediaTek 990.

МодельЗадачаразмер
(пиксели)
CPU
w8a32 LiteRT
(мс)
GPU
w8a32 LiteRT
(мс)
NPU
LiteRT FP32
(мс)
YOLO26nОбнаружение64031.4
1.5 / 28.0 / 1.9
25.6
1.4 / 22.2 / 2.0
11.0
1.3 / 7.8 / 1.8
YOLO26n-segСегментация64077.8
2.6 / 65.3 / 9.9
47.4
2.6 / 33.6 / 11.3
36.5
2.6 / 23.4 / 10.4
YOLO26n-semСемантическая64081.3
2.6 / 62.2 / 16.5
79.3
2.6 / 59.5 / 17.1
87.6
2.6 / 68.3 / 16.7
YOLO26n-depthГлубина640111.3
3.4 / 91.1 / 16.8
55.3
2.8 / 36.3 / 16.1
—
YOLO26n-clsКлассификация2246.3
0.5 / 5.4 / 0.4
8.1
0.5 / 7.5 / 0.1
3.2
0.5 / 2.2 / 0.5
YOLO26n-poseПоза64053.9
2.6 / 49.5 / 1.8
32.8
2.7 / 26.7 / 3.4
16.2
2.9 / 11.1 / 2.3
YOLO26n-obbOBB64049.5
2.7 / 44.4 / 2.4
29.4
2.8 / 22.7 / 3.9
—

Бенчмарк: среднее значение по 15 вызовам predict() после 3 прогревочных запусков на bus.jpg с использованием ultralytics_yolo 0.7.1 и официальных ресурсов v0.7.0. Порядок CPU/GPU чередуется между задачами в одном последовательном цикле. В нативных логах подтверждено, что для всех строк CPU использовались LiteRT CPU/XNNPACK, а для всех строк GPU полный вычислительный граф обрабатывался LiteRT OpenCL (LITERT_CL). Для Depth и OBB результаты NPU отсутствуют: компилятор MediaTek NPU не поддерживает экспоненциальные и тригонометрические операции в этих моделях, поэтому LiteRT запускает эти графы на GPU.

Поддерживаемые задачи#

Экспорт LiteRT поддерживает все семь задач Ultralytics. Семантическая сегментация и оценка глубины доступны только для YOLO26 — единственного семейства, в котором предусмотрены такие выходные слои.

Экспорт в LiteRT: преобразование модели YOLO#

Преобразуй модели в формат LiteRT, чтобы повысить эффективность выполнения на устройстве и расширить возможности развёртывания.

Установка#

Чтобы установить необходимый пакет, выполни команду:

Установка
# Install the required package for YOLO
pip install ultralytics

Подробные инструкции и рекомендации смотри в нашем руководстве по установке Ultralytics. Если возникнут трудности, обратись к нашему руководству по распространённым проблемам.

Поддержка платформ

Экспорт LiteRT сейчас поддерживается в Linux x86_64 и macOS. Сама экспортированная модель .tflite работает на всех платформах, поддерживаемых LiteRT (мобильных, встраиваемых, периферийных и в браузере).

Использование#

Все модели Ultralytics YOLO поддерживают экспорт без дополнительной настройки. Формат LiteRT поддерживает режимы Экспорт, Предсказание и Валидация, поэтому ты можешь экспортировать модель, а затем загрузить её для запуска инференса или локальной проверки точности.

Экспорт
from ultralytics import YOLO

# Загрузи модель YOLO26
model = YOLO("yolo26n.pt")

# Экспортировать модель в формат LiteRT
model.export(format="litert", imgsz=640)  # создаёт 'yolo26n.tflite'; для классификации используй imgsz=224
Экспорт с квантованием
from ultralytics import YOLO

model = YOLO("yolo26n.pt")

# Динамический INT8: веса int8, активации FP32 — калибровочные данные не нужны
model.export(format="litert", quantize="w8a32", imgsz=640)  # создаёт 'yolo26n_w8a32.tflite'

# Статический INT8: веса int8 + активации int8 — нужны калибровочные данные
model.export(format="litert", quantize=8, data="coco8.yaml", imgsz=640)  # создаёт 'yolo26n_int8.tflite'

# Статический w8a16: веса int8 + активации int16 (более высокая точность) — нужны калибровочные данные
model.export(format="litert", quantize="w8a16", data="coco8.yaml", imgsz=640)  # создаёт 'yolo26n_w8a16.tflite'
Предсказание
from ultralytics import YOLO

# Загрузить экспортированную модель LiteRT
model = YOLO("yolo26n.tflite")

# Выполнить инференс
results = model("https://ultralytics.com/images/bus.jpg")
Проверка
from ultralytics import YOLO

# Загрузить экспортированную модель LiteRT
model = YOLO("yolo26n.tflite")

# Проверить точность на наборе данных COCO8
metrics = model.val(data="coco8.yaml")

Аргументы экспорта#

АргументТипПо умолчаниюОписание
formatstr'litert'Целевой формат экспортируемой модели, определяющий совместимость с различными средами развертывания.
imgszint или tuple640Заданный размер изображения на входе модели. Можно указать целое число для квадратных изображений или кортеж (height, width) для конкретных размеров.
quantizeint или strNoneТочность квантования: 8 (статический INT8, веса int8 + активации int8; требуются калибровочные data/fraction), 'w8a16' (статический режим, веса int8 + активации int16; требуются калибровочные data/fraction), 'w8a32' (динамический INT8, веса int8 + активации FP32; калибровка не нужна) или 32/не задано (FP32). FP16 не экспортируется отдельно (см. примечание ниже). Заменяет устаревшие флаги half/int8.
batchint1Задаёт размер пакета изображений для инференса экспортированной модели или максимальное количество изображений, которые экспортированная модель будет обрабатывать одновременно в режиме predict.
datastrNoneYAML-файл датасета, используемый для калибровки INT8; для классификации вместо него укажи каталог датасета или название встроенного датасета. Если параметр не задан вместе с quantize=8 или 'w8a16', Ultralytics выбирает датасет калибровки по умолчанию для этой задачи модели.
fractionfloat, int или list1.0Подмножество для калибровки, заданное как доля, количество изображений или [train, val, test] отношения/количества. Если список содержит два элемента, test остаётся без изменений, а 0 пропускает его.
devicestrNoneЗадаёт устройство для экспорта. Экспорт LiteRT выполняется на CPU (device=cpu).
Точность FP16

В отличие от прежнего экспорта tflite, LiteRT не требует отдельного экспорта FP16. Модель .tflite с FP32 работает в режиме половинной точности во время выполнения, если используется делегат GPU (WebGPU, OpenCL, Metal) — это официальный подход LiteRT к инференсу FP16.

Подробнее о процессе экспорта смотри на странице документации Ultralytics об экспорте.

Инференс на CPU и NPU Intel#

Экспортированные модели .tflite работают на оборудовании Intel через плагин LiteRT Intel OpenVINO. Укажи device=intel:cpu или device=intel:npu, и при первом использовании Ultralytics установит ai-edge-litert>=2.3.0 и ai-edge-litert-sdk-intel. Для работы NPU требуется процессор Intel Core Ultra с установленным драйвером Intel NPU.

Предсказание
from ultralytics import YOLO

model = YOLO("yolo26n.tflite")
results = model("https://ultralytics.com/images/bus.jpg", device="intel:npu")  # или "intel:cpu"

Оборудование: Intel Core Ultra X7 358H (Panther Lake) и Intel AI Boost NPU 5010, Fedora Linux, драйвер NPU 1.38.0, ai-edge-litert 2.3.0.

МодельЗадачаразмер
(пиксели)
CPU
w8a32 LiteRT
(мс)
CPU
w8a32 Intel
(мс)
NPU
w8a32 Intel
(мс)
YOLO26nОбнаружение64017.5
0.8 / 16.1 / 0.6
22.6
1.2 / 20.6 / 0.8
4.8
1.0 / 3.3 / 0.4
YOLO26n-segСегментация64024.2
0.9 / 22.1 / 1.3
32.6
1.0 / 30.1 / 1.5
6.2
0.8 / 4.2 / 1.2
YOLO26n-semСемантическая64025.2
1.0 / 14.2 / 10.0
33.1
1.1 / 21.9 / 10.2
16.5
1.0 / 5.5 / 10.0
YOLO26n-depthГлубина64031.7
0.9 / 30.2 / 0.5
76.6
0.9 / 75.2 / 0.5
9.1
1.0 / 7.5 / 0.5
YOLO26n-clsКлассификация2244.6
2.8 / 1.7 / 0.0
7.3
3.3 / 3.9 / 0.0
4.1
3.2 / 0.9 / 0.0
YOLO26n-poseПоза64020.3
0.8 / 19.0 / 0.5
28.6
1.1 / 26.8 / 0.8
6.3
0.8 / 4.9 / 0.5
YOLO26n-obbOBB64017.2
0.8 / 16.1 / 0.3
22.1
1.2 / 20.5 / 0.4
4.6
0.9 / 3.4 / 0.3

Бенчмарк: среднее значение для 15 вызовов predict() после 3 прогревочных вызовов на bus.jpg с использованием ultralytics 8.4.174 и ai-edge-litert 2.3.0 для экспорта w8a32. В каждой ячейке указано общее время, а ниже — разбивка на предобработку / инференс / постобработку.

Развёртывание экспортированных моделей YOLO LiteRT#

После экспорта модели Ultralytics YOLO в LiteRT ты можешь развёртывать её на разных платформах. Быстрее всего проверить её локально с помощью метода YOLO("yolo26n.tflite"), описанного выше. Чтобы развернуть модель в других средах, смотри следующие материалы:

Мобильные и встраиваемые устройства#

  • Android: краткое руководство по интеграции LiteRT в приложения Android.
  • iOS: руководство по интеграции и развёртыванию моделей LiteRT в приложениях iOS.
  • Встраиваемый Linux и Raspberry Pi: запускай модели LiteRT на одноплатных компьютерах, при желании ускоряя их с помощью Coral Edge TPU.
  • Микроконтроллеры: развёртывай модели на MCU с объёмом памяти всего в несколько килобайт — основная среда выполнения занимает около 16 КБ на Arm Cortex-M3.

Браузер и Node.js (LiteRT.js)#

  • Обзор LiteRT.js: запускай ту же модель .tflite прямо в браузере с ускорением WebGPU/WASM, избавляясь от вычислений на сервере и оставляя данные на устройстве пользователя.
  • Примеры полного цикла: практические примеры и руководства по внедрению LiteRT на мобильных устройствах, периферийных устройствах и в веб-приложениях.

Итоги#

В этом руководстве мы рассмотрели экспорт моделей Ultralytics YOLO в формат LiteRT. Объединив развёртывание на мобильных и периферийных устройствах (ранее TFLite) и в браузере (ранее TF.js) в одну модель .tflite, LiteRT делает модели YOLO быстрее, компактнее и совместимыми практически со всеми целевыми устройствами.

Подробнее смотри в официальной документации LiteRT.

Если тебе интересны и другие интеграции Ultralytics YOLO, загляни на нашу страницу руководств по интеграции — там много полезных материалов.

Часто задаваемые вопросы#

  • Используй библиотеку Ultralytics, чтобы экспортировать модель YOLO в LiteRT (.tflite). Сначала установи пакет:

    pip install ultralytics

    Затем экспортируй модель:

    from ultralytics import YOLO
    
    # Загрузи модель YOLO26
    model = YOLO("yolo26n.pt")
    
    # Экспортировать модель в формат LiteRT
    model.export(format="litert", imgsz=640)  # используй imgsz=224 для классификации

    Для пользователей CLI:

    yolo export model=yolo26n.pt format=litert imgsz=640 # use imgsz=224 for classification

    Подробнее смотри в руководстве Ultralytics по экспорту.

  • LiteRT — это новое название TensorFlow Lite: тот же формат модели .tflite, та же линейка сред выполнения, новое название от Google. В Ultralytics единый формат экспорта litert теперь охватывает оба сценария, для которых раньше требовались два отдельных формата:

    • Старый формат tflite → развёртывание на мобильных и встраиваемых устройствах и на периферии.
    • Старый формат tfjs → развёртывание в браузере и Node.js, теперь поддерживаемое LiteRT.js, который использует тот же файл .tflite.

    Если у тебя уже есть файл .tflite, ты можешь загрузить его напрямую с помощью YOLO("model.tflite"); он будет выполняться через бэкенд LiteRT.

  • Да. Экспортируй модель в формат LiteRT, а затем запусти её на Raspberry Pi, чтобы ускорить инференс. Для дополнительной оптимизации попробуй Coral Edge TPU. Подробные инструкции смотри в нашем руководстве по развёртыванию на Raspberry Pi.

  • Да. LiteRT.js запускает ту же экспортированную модель .tflite прямо в веб-браузере или приложении Node.js с ускорением WebGPU/WASM. Это заменяет прежний процесс работы с TensorFlow.js: отдельный экспорт для браузера не нужен — просто разверни модель LiteRT с помощью среды выполнения LiteRT.js.

  • Да — во время выполнения. Модель LiteRT в формате FP32 автоматически работает в FP16 при запуске на GPU delegate (WebGPU, OpenCL или Metal) — это официальный подход LiteRT. Поэтому отдельный экспорт FP16 не нужен; для дополнительного сжатия используй квантование INT8 с quantize=8.

  • Если при экспорте моделей YOLO в LiteRT возникают ошибки, попробуй следующие распространённые решения:

    • Проверь платформу: экспорт в LiteRT поддерживается в Linux x86_64 и macOS. Убедись, что твоя среда соответствует этим требованиям.
    • Проверь совместимость пакетов: убедись, что используешь совместимую версию Ultralytics. Инструкции смотри в нашем руководстве по установке.
    • Проблемы с квантованием: при квантовании INT8 убедись, что путь к набору данных правильно указан в параметре data.

    Дополнительные советы по устранению неполадок смотри в нашем руководстве по распространённым проблемам.

Комментарии