Экспорт в формат модели TF.js из формата модели YOLO26
Развертывание моделей машинного обучения непосредственно в браузере или на Node.js может быть сложной задачей. Вам нужно убедиться, что формат вашей модели оптимизирован для более высокой производительности, чтобы модель можно было использовать для запуска интерактивных приложений локально на устройстве пользователя. Формат модели TensorFlow.js, или TF.js, разработан для минимального энергопотребления при обеспечении высокой производительности.
Функция «экспорт в формат модели TF.js» позволяет оптимизировать ваши модели Ultralytics YOLO26 для высокоскоростного и локального инференса обнаружения объектов. В этом руководстве мы покажем вам, как преобразовать ваши модели в формат TF.js, что упростит их эффективную работу в различных локальных браузерах и приложениях Node.js.
Зачем экспортировать в TF.js?
Экспорт ваших моделей машинного обучения в TensorFlow.js, разработанный командой TensorFlow как часть более широкой экосистемы TensorFlow, предлагает многочисленные преимущества для развертывания приложений машинного обучения. Это помогает повысить конфиденциальность и безопасность пользователей, сохраняя конфиденциальные данные на устройстве. На изображении ниже показана архитектура TensorFlow.js и то, как модели машинного обучения преобразуются и развертываются как в веб-браузерах, так и в Node.js.

Запуск моделей локально также снижает задержку и обеспечивает более быструю реакцию пользователя. TensorFlow.js также поставляется с автономными возможностями, позволяя пользователям использовать ваше приложение даже без подключения к Интернету. TF.js разработан для эффективного выполнения сложных моделей на устройствах с ограниченными ресурсами, поскольку он разработан для масштабируемости с поддержкой ускорения GPU.
Ключевые особенности TF.js
Вот ключевые особенности, которые делают TF.js мощным инструментом для разработчиков:
Кроссплатформенная поддержка: TensorFlow.js можно использовать как в браузерах, так и в средах Node.js, что обеспечивает гибкость развертывания на различных платформах. Это позволяет разработчикам легче создавать и развертывать приложения.
Поддержка нескольких бэкендов: TensorFlow.js поддерживает различные бэкенды для вычислений, включая CPU, WebGL для ускорения GPU, WebAssembly (WASM) для скорости выполнения, близкой к нативной, и WebGPU для расширенных возможностей машинного обучения на основе браузера.
Автономные возможности: С TensorFlow.js модели могут работать в браузере без необходимости подключения к Интернету, что позволяет разрабатывать приложения, которые функционируют в автономном режиме.
Варианты развертывания с TensorFlow.js
Прежде чем мы углубимся в процесс экспорта моделей YOLO26 в формат TF.js, давайте рассмотрим некоторые типичные сценарии развертывания, где используется этот формат.
TF.js предоставляет ряд опций для развертывания ваших моделей машинного обучения:
ML-приложения в браузере: Вы можете создавать веб-приложения, которые запускают модели машинного обучения непосредственно в браузере. Отпадает необходимость в серверных вычислениях и снижается нагрузка на сервер.
Приложения Node.js: TensorFlow.js также поддерживает развертывание в средах Node.js, что позволяет разрабатывать серверные приложения машинного обучения. Это особенно полезно для приложений, требующих вычислительной мощности сервера или доступа к серверным данным.
Расширения Chrome: Интересным сценарием развертывания является создание расширений Chrome с использованием TensorFlow.js. Например, вы можете разработать расширение, которое позволяет пользователям щелкать правой кнопкой мыши по изображению на любой веб-странице, чтобы classify его с помощью предварительно обученной модели машинного обучения. TensorFlow.js может быть интегрирован в повседневный просмотр веб-страниц для предоставления мгновенных аналитических данных или дополнений на основе машинного обучения.
Экспорт моделей YOLO26 в TensorFlow.js
Вы можете расширить совместимость моделей и гибкость развертывания, преобразуя модели YOLO26 в TF.js.
Установка
Чтобы установить необходимый пакет, выполните:
Установка
# Install the required package for YOLO26
pip install ultralytics
Для получения подробных инструкций и рекомендаций по процессу установки ознакомьтесь с нашим руководством по установке Ultralytics. Если при установке необходимых пакетов для YOLO26 вы столкнетесь с трудностями, обратитесь к нашему руководству по распространенным проблемам для поиска решений и советов.
Использование
Все модели Ultralytics YOLO26 изначально поддерживают экспорт, что упрощает их интеграцию в предпочитаемый вами рабочий процесс развертывания. Вы можете просмотреть полный список поддерживаемых форматов экспорта и параметров конфигурации, чтобы выбрать наилучшую настройку для вашего приложения.
Использование
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF.js format
model.export(format="tfjs") # creates '/yolo26n_web_model'
# Load the exported TF.js model
tfjs_model = YOLO("./yolo26n_web_model")
# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO26n PyTorch model to TF.js format
yolo export model=yolo26n.pt format=tfjs # creates '/yolo26n_web_model'
# Run inference with the exported model
yolo predict model='./yolo26n_web_model' source='https://ultralytics.com/images/bus.jpg'
Аргументы экспорта
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
format | str | 'tfjs' | Целевой формат для экспортируемой модели, определяющий совместимость с различными средами развертывания. |
imgsz | int или tuple | 640 | Желаемый размер изображения для ввода модели. Может быть целым числом для квадратных изображений или кортежем (height, width) для конкретных размеров. |
half | bool | False | Включает квантование FP16 (полуточной точности), уменьшая размер модели и потенциально ускоряя вывод на поддерживаемом оборудовании. |
int8 | bool | False | Активирует квантование INT8, дополнительно сжимая модель и ускоряя вывод с минимальной потерей точности, в основном для периферийных устройств. |
nms | bool | False | Добавляет Non-Maximum Suppression (NMS) (Немаксимальное подавление), необходимый для точной и эффективной постобработки обнаружения. |
batch | int | 1 | Указывает размер пакета для модели экспорта или максимальное количество изображений, которые экспортируемая модель будет обрабатывать одновременно в режиме predict режиме. |
device | str | None | Указывает устройство для экспорта: CPU (device=cpu), MPS для Apple silicon (device=mps). |
Для получения более подробной информации о процессе экспорта посетите страницу документации Ultralytics по экспорту.
Развертывание экспортированных моделей YOLO26 TensorFlow.js
Теперь, когда вы экспортировали свою модель YOLO26 в формат TF.js, следующим шагом является ее развертывание. Основной и рекомендуемый первый шаг для запуска модели TF.js — это использование YOLO("./yolo26n_web_model") метод, как было показано ранее во фрагменте кода.
Однако для получения подробных инструкций по развертыванию ваших моделей TF.js ознакомьтесь со следующими ресурсами:
Расширение Chrome: Здесь представлена документация для разработчиков о том, как развертывать ваши модели TF.js в расширении Chrome.
Запуск TensorFlow.js в Node.js: Сообщение в блоге TensorFlow о запуске TensorFlow.js непосредственно в Node.js.
Развертывание TensorFlow.js - Node Project на облачной платформе: Публикация в блоге TensorFlow о развертывании модели TensorFlow.js на облачной платформе.
Обзор
В этом руководстве мы узнали, как экспортировать модели Ultralytics YOLO26 в формат TensorFlow.js. Экспортируя в TF.js, вы получаете гибкость для оптимизации, развертывания и масштабирования ваших моделей YOLO26 на широком спектре платформ.
Для получения более подробной информации об использовании посетите официальную документацию TensorFlow.js.
Для получения дополнительной информации об интеграции Ultralytics YOLO26 с другими платформами и фреймворками не забудьте ознакомиться с нашей страницей руководства по интеграции. Она содержит множество полезных ресурсов, которые помогут вам максимально эффективно использовать YOLO26 в ваших проектах.
Часто задаваемые вопросы
Как экспортировать модели Ultralytics YOLO26 в формат TensorFlow.js?
Экспорт моделей Ultralytics YOLO26 в формат TensorFlow.js (TF.js) прост. Вы можете выполнить следующие шаги:
Использование
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF.js format
model.export(format="tfjs") # creates '/yolo26n_web_model'
# Load the exported TF.js model
tfjs_model = YOLO("./yolo26n_web_model")
# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO26n PyTorch model to TF.js format
yolo export model=yolo26n.pt format=tfjs # creates '/yolo26n_web_model'
# Run inference with the exported model
yolo predict model='./yolo26n_web_model' source='https://ultralytics.com/images/bus.jpg'
Для получения более подробной информации о поддерживаемых опциях экспорта посетите страницу документации Ultralytics, посвященную вариантам развертывания.
Почему мне следует экспортировать мои модели YOLO26 в TensorFlow.js?
Экспорт моделей YOLO26 в TensorFlow.js предлагает несколько преимуществ, в том числе:
- Локальное выполнение: Модели могут запускаться непосредственно в браузере или Node.js, снижая задержку и улучшая взаимодействие с пользователем.
- Кроссплатформенная поддержка: TF.js поддерживает несколько сред, что обеспечивает гибкость развертывания.
- Автономные возможности: Позволяет приложениям функционировать без подключения к Интернету, обеспечивая надежность и конфиденциальность.
- Ускорение GPU: Использует WebGL для ускорения GPU, оптимизируя производительность на устройствах с ограниченными ресурсами.
Для получения исчерпывающего обзора ознакомьтесь с нашей интеграцией с TensorFlow.js.
Какую пользу TensorFlow.js приносит приложениям машинного обучения на основе браузера?
TensorFlow.js специально разработан для эффективного выполнения ML-моделей в браузерах и средах Node.js. Вот как это помогает браузерным приложениям:
- Снижает задержку: Запускает модели машинного обучения локально, обеспечивая немедленные результаты без использования серверных вычислений.
- Повышает конфиденциальность: Хранит конфиденциальные данные на устройстве пользователя, сводя к минимуму риски безопасности.
- Обеспечение автономной работы: Модели могут функционировать без подключения к интернету, гарантируя стабильную функциональность.
- Поддерживает несколько бэкендов: Предлагает гибкость с бэкендами, такими как CPU, WebGL, WebAssembly (WASM) и WebGPU, для различных вычислительных потребностей.
Хотите узнать больше о TF.js? Ознакомьтесь с официальным руководством TensorFlow.js.
Каковы ключевые особенности TensorFlow.js для развертывания моделей YOLO26?
Ключевые особенности TensorFlow.js включают:
- Кроссплатформенная поддержка: TF.js можно использовать как в веб-браузерах, так и в Node.js, что обеспечивает широкую гибкость развертывания.
- Несколько бэкендов: Поддержка CPU, WebGL для ускорения GPU, WebAssembly (WASM) и WebGPU для расширенных операций.
- Автономные возможности: Модели могут работать непосредственно в браузере без подключения к Интернету, что делает их идеальными для разработки адаптивных веб-приложений.
Сценарии развертывания и более подробную информацию можно найти в разделе Варианты развертывания с TensorFlow.js.
Могу ли я развернуть модель YOLO26 в серверных приложениях Node.js с использованием TensorFlow.js?
Да, TensorFlow.js позволяет развертывать модели YOLO26 в средах Node.js. Это позволяет создавать серверные приложения машинного обучения, которые используют вычислительную мощность сервера и доступ к серверным данным. Типичные варианты использования включают обработку данных в реальном времени и конвейеры машинного обучения на бэкенд-серверах.
Чтобы начать работу с развертыванием Node.js, обратитесь к руководству Запуск TensorFlow.js в Node.js от TensorFlow.