Link to this sectionЭкспорт в формат модели TF.js из формата модели YOLO26#
Начиная с Ultralytics 8.4.83, формат экспорта tfjs (TensorFlow.js) был удален и заменен единым форматом Google LiteRT. LiteRT работает в браузере через LiteRT.js (с ускорением WebGPU), охватывая варианты использования в браузере и Node.js, которые ранее поддерживал TF.js, а также мобильные, встроенные и периферийные устройства, используя единую модель .tflite.
format="tfjs" по-прежнему работает, но вызывает предупреждение об устаревании и вместо этого экспортирует модель LiteRT. В дальнейшем используй format="litert"; актуальные инструкции по экспорту и развертыванию в браузере см. в руководстве по экспорту LiteRT.
Развертывание моделей машинного обучения непосредственно в браузере или на Node.js может быть непростой задачей. Тебе нужно убедиться, что формат твоей модели оптимизирован для более быстрой работы, чтобы ее можно было использовать для запуска интерактивных приложений локально на устройстве пользователя. Формат модели TensorFlow.js, или TF.js, разработан для обеспечения высокой производительности при минимальном энергопотреблении.
Функция «экспорт в формат модели TF.js» позволяет оптимизировать твои модели Ultralytics YOLO26 для высокоскоростного локального вывода детектирования объектов. В этом руководстве мы пройдем с тобой по процессу конвертации моделей в формат TF.js, что упростит их работу в различных локальных браузерах и приложениях Node.js.
Link to this sectionЗачем тебе экспортировать в TF.js?#
Экспорт твоих моделей машинного обучения в TensorFlow.js, разработанный командой TensorFlow как часть более широкой экосистемы TensorFlow, дает множество преимуществ для развертывания приложений машинного обучения. Это помогает повысить конфиденциальность и безопасность пользователей, сохраняя конфиденциальные данные на устройстве. Изображение ниже демонстрирует архитектуру TensorFlow.js и то, как модели машинного обучения конвертируются и развертываются как в веб-браузерах, так и в Node.js.
Запуск моделей локально также снижает задержку и обеспечивает более отзывчивый пользовательский опыт. TensorFlow.js также обладает автономными возможностями, позволяя пользователям использовать твое приложение даже без подключения к интернету. TF.js разработан для эффективного выполнения сложных моделей на устройствах с ограниченными ресурсами, так как он создан для масштабируемости с поддержкой ускорения GPU.
Link to this sectionКлючевые особенности TF.js#
Вот основные функции, которые делают TF.js мощным инструментом для разработчиков:
-
Кроссплатформенная поддержка: TensorFlow.js можно использовать как в браузере, так и в средах Node.js, что обеспечивает гибкость развертывания на различных платформах. Это позволяет разработчикам легче создавать и развертывать приложения.
-
Поддержка нескольких бэкендов: TensorFlow.js поддерживает различные бэкенды для вычислений, включая CPU, WebGL для ускорения GPU, WebAssembly (WASM) для скорости выполнения, близкой к нативной, и WebGPU для расширенных возможностей машинного обучения в браузере.
-
Автономные возможности: С помощью TensorFlow.js модели могут работать в браузере без необходимости подключения к интернету, что делает возможным создание приложений, функциональных в автономном режиме.
Link to this sectionВарианты развертывания с TensorFlow.js#
Прежде чем мы перейдем к процессу экспорта моделей YOLO26 в формат TF.js, давай рассмотрим некоторые типичные сценарии развертывания, где используется этот формат.
TF.js предоставляет ряд возможностей для развертывания твоих моделей машинного обучения:
-
ML-приложения в браузере: Ты можешь создавать веб-приложения, которые запускают модели машинного обучения прямо в браузере. Потребность в серверных вычислениях исключается, а нагрузка на сервер снижается.
-
Приложения Node.js: TensorFlow.js также поддерживает развертывание в средах Node.js, позволяя разрабатывать серверные приложения машинного обучения. Это особенно полезно для приложений, требующих вычислительной мощности сервера или доступа к серверным данным.
-
Расширения для Chrome: Интересный сценарий развертывания — создание расширений для Chrome с помощью TensorFlow.js. Например, ты можешь разработать расширение, которое позволяет пользователям кликать правой кнопкой мыши по изображению на любой веб-странице, чтобы классифицировать его с помощью предобученной модели ML. TensorFlow.js можно интегрировать в повседневный опыт работы с браузером, чтобы предоставлять мгновенные аналитические данные или дополнения на основе машинного обучения.
Link to this sectionЭкспорт моделей YOLO26 в TensorFlow.js#
Ты можешь расширить совместимость моделей и гибкость развертывания, конвертировав модели YOLO26 в TF.js.
Link to this sectionУстановка#
Чтобы установить необходимый пакет, выполни:
# Install the required package for YOLO26
pip install ultralyticsПодробные инструкции и лучшие практики по процессу установки ищи в нашем руководстве по установке Ultralytics. Если при установке необходимых пакетов для YOLO26 у тебя возникнут трудности, обратись к нашему руководству по распространенным проблемам за решениями и советами.
Link to this sectionИспользование#
Все модели Ultralytics YOLO26 разработаны с поддержкой экспорта «из коробки», что упрощает их интеграцию в твой рабочий процесс развертывания. Ты можешь просмотреть полный список поддерживаемых форматов экспорта и параметров конфигурации, чтобы выбрать лучшую настройку для своего приложения.
Аргумент tfjs теперь экспортирует модель LiteRT в формате .tflite, которая поддерживает режимы Export, Predict и Validate локально и работает в браузере через LiteRT.js. Ознакомься с руководством по экспорту LiteRT для текущего пути развертывания в браузере и на устройствах.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF.js format
model.export(format="litert") # creates 'yolo26n.tflite'Экспортированная модель LiteRT .tflite загружается напрямую через yolo predict и yolo val и работает в браузере через LiteRT.js. Ознакомься с руководством по экспорту LiteRT.
Link to this sectionАргументы экспорта#
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
format | str | 'tfjs' | Целевой формат для экспортированной модели, определяющий совместимость с различными средами развертывания. |
imgsz | int или tuple | 640 | Желаемый размер изображения для входных данных модели. Может быть целым числом для квадратных изображений или кортежем (height, width) для конкретных размеров. |
quantize | int или str | None | Точность квантования: 8 (статический INT8, веса int8 + активации int8; требуется калибровочные data/fraction), 'w8a16' (статический, веса int8 + активации int16; требуется калибровочные data/fraction), 'w8a32' (динамический INT8, веса int8 + активации FP32; калибровка не нужна) или 32/не задано (FP32). FP16 не экспортируется отдельно — модель FP32 автоматически запускается в FP16 на делегатах GPU. Заменяет устаревшие флаги half/int8. |
batch | int | 1 | Задает размер пакета (batch) для вывода экспортированной модели или максимальное количество изображений, которые модель будет обрабатывать одновременно в режиме predict. |
data | str | 'coco8.yaml' | Путь к файлу конфигурации dataset (по умолчанию: coco8.yaml), необходимому для квантования. |
fraction | float | 1.0 | Указывает часть датасета, которую нужно использовать для калибровки квантования INT8. Позволяет выполнять калибровку на подмножестве полного датасета, что полезно для экспериментов или при ограниченных ресурсах. Если не указано при включенном INT8, будет использован весь датасет. |
device | str | None | Указывает устройство для экспорта: CPU (device=cpu), MPS для Apple silicon (device=mps). |
Для получения дополнительной информации о процессе экспорта посети страницу документации Ultralytics по экспорту.
Link to this sectionРазвертывание экспортированных моделей YOLO26 TensorFlow.js#
Теперь, когда ты экспортировал свою модель YOLO26, следующим шагом будет ее развертывание. Экспорт создает модель LiteRT в формате .tflite, которая работает на устройстве и в браузере через LiteRT.js — ознакомься с руководством по экспорту LiteRT для текущего пути.
Для справки, устаревшие ресурсы среды выполнения TensorFlow.js приведены ниже:
-
Расширение для Chrome: Вот документация для разработчиков о том, как развернуть твои модели TF.js в расширении Chrome.
-
Запуск TensorFlow.js в Node.js: Запись в блоге TensorFlow о запуске TensorFlow.js непосредственно в Node.js.
-
Развертывание TensorFlow.js - Node Project на облачной платформе: Запись в блоге TensorFlow о развертывании модели TensorFlow.js на облачной платформе.
Link to this sectionРезюме#
В этом руководстве мы узнали, как экспортировать модели Ultralytics YOLO26 в формат TensorFlow.js. Экспортируя в TF.js, ты получаешь гибкость для оптимизации, развертывания и масштабирования своих моделей YOLO26 на широком спектре платформ.
Для получения дополнительной информации об использовании посети официальную документацию TensorFlow.js.
Для получения дополнительной информации об интеграции Ultralytics YOLO26 с другими платформами и фреймворками не забудь заглянуть на нашу страницу руководства по интеграции. Она наполнена отличными ресурсами, которые помогут тебе максимально эффективно использовать YOLO26 в своих проектах.
Link to this sectionFAQ#
Link to this sectionКак мне экспортировать модели Ultralytics YOLO26 в формат TensorFlow.js?#
Экспорт моделей Ultralytics YOLO26 в формат TensorFlow.js (TF.js) прост. Ты можешь выполнить следующие шаги:
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF.js format
model.export(format="litert") # creates 'yolo26n.tflite'
# The exported '.tflite' model runs in the browser via LiteRT.js or locally with yolo predict/val.Для получения дополнительной информации о поддерживаемых вариантах экспорта посети страницу документации Ultralytics по вариантам развертывания.
Link to this sectionЗачем мне экспортировать мои модели YOLO26 в TensorFlow.js?#
Экспорт моделей YOLO26 в TensorFlow.js дает несколько преимуществ, включая:
- Локальное выполнение: Модели могут работать непосредственно в браузере или Node.js, снижая задержку и улучшая пользовательский опыт.
- Кроссплатформенная поддержка: TF.js поддерживает несколько сред, обеспечивая гибкость при развертывании.
- Автономные возможности: Позволяет приложениям функционировать без подключения к интернету, обеспечивая надежность и конфиденциальность.
- Ускорение GPU: Использует WebGL для ускорения GPU, оптимизируя производительность на устройствах с ограниченными ресурсами.
Link to this sectionКак TensorFlow.js помогает браузерным приложениям машинного обучения?#
TensorFlow.js специально разработан для эффективного выполнения моделей ML в браузерах и средах Node.js. Вот чем он полезен для браузерных приложений:
- Снижает задержку: Запускает модели машинного обучения локально, обеспечивая мгновенные результаты без опоры на серверные вычисления.
- Повышает конфиденциальность: Сохраняет конфиденциальные данные на устройстве пользователя, минимизируя риски безопасности.
- Обеспечивает автономное использование: Модели могут работать без подключения к интернету, обеспечивая стабильную функциональность.
- Поддерживает несколько бэкендов: Предлагает гибкость с такими бэкендами, как CPU, WebGL, WebAssembly (WASM) и WebGPU для различных вычислительных нужд.
Хочешь узнать больше о TF.js? Ознакомься с официальным руководством по TensorFlow.js.
Link to this sectionКаковы ключевые особенности TensorFlow.js для развертывания моделей YOLO26?#
К ключевым особенностям TensorFlow.js относятся:
- Кроссплатформенная поддержка: TF.js можно использовать как в веб-браузерах, так и в Node.js, что обеспечивает широкую гибкость развертывания.
- Несколько бэкендов: Поддерживает CPU, WebGL для ускорения GPU, WebAssembly (WASM) и WebGPU для расширенных операций.
- Автономные возможности: Модели могут работать непосредственно в браузере без интернет-соединения, что делает его идеальным для разработки отзывчивых веб-приложений.
Для получения информации о сценариях развертывания и более подробных сведений см. наш раздел Варианты развертывания с TensorFlow.js.
Link to this sectionМогу ли я развернуть модель YOLO26 в серверных приложениях Node.js с использованием TensorFlow.js?#
Да, TensorFlow.js позволяет развертывать модели YOLO26 в средах Node.js. Это открывает возможности для серверных приложений машинного обучения, которые выигрывают от вычислительной мощности сервера и доступа к серверным данным. Типичные сценарии использования включают обработку данных в реальном времени и конвейеры машинного обучения на бэкенд-серверах.
Чтобы начать работу с развертыванием в Node.js, обратись к руководству Запуск TensorFlow.js в Node.js от TensorFlow.