Экспорт в формат модели 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 browser ML inference architecture

Запуск моделей локально также снижает задержку и обеспечивает более быстрый отклик приложения для пользователя. 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 предоставляет ряд вариантов для развертывания твоих моделей машинного обучения:

  • Приложения машинного обучения в браузере: Ты можешь создавать веб-приложения, которые запускают модели машинного обучения прямо в браузере. Потребность в серверных вычислениях исключается, а нагрузка на сервер снижается.

  • Приложения Node.js: TensorFlow.js также поддерживает развертывание в средах Node.js, что позволяет разрабатывать серверные приложения машинного обучения. Это особенно полезно для приложений, требующих вычислительной мощности сервера или доступа к серверным данным.

  • Расширения Chrome: Интересный сценарий развертывания — создание расширений Chrome с помощью TensorFlow.js. Например, ты можешь разработать расширение, позволяющее пользователям нажимать правой кнопкой мыши на изображение на любой веб-странице, чтобы классифицировать его с помощью предварительно обученной модели машинного обучения. 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")

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

АргументТипПо умолчаниюОписание
formatstr'tfjs'Целевой формат для экспортируемой модели, определяющий совместимость с различными средами развертывания.
imgszint или tuple640Желаемый размер изображения для входных данных модели. Может быть целым числом для квадратных изображений или кортежем (height, width) для указания конкретных размеров.
halfboolFalseВключает квантование FP16 (половинной точности), уменьшая размер модели и потенциально ускоряя логический вывод на поддерживаемом оборудовании.
int8boolFalseАктивирует квантование INT8, дополнительно сжимая модель и ускоряя логический вывод с минимальной потерей точности, в основном для периферийных устройств.
nmsboolFalseДобавляет подавление немаксимумов (NMS), необходимое для точной и эффективной постобработки обнаружений.
batchint1Указывает размер пакетного инференса для экспортированной модели или максимальное количество изображений, которые модель будет обрабатывать одновременно в режиме predict.
datastr'coco8.yaml'Путь к файлу конфигурации dataset (по умолчанию: coco8.yaml), необходимому для квантования.
fractionfloat1.0Задает долю набора данных для использования при калибровке квантования INT8. Позволяет выполнять калибровку на подмножестве полного набора данных, что полезно для экспериментов или при ограниченных ресурсах. Если не указано при включенном INT8, будет использован полный набор данных.
devicestrNoneУказывает устройство для экспорта: CPU (device=cpu), MPS для Apple silicon (device=mps).

Для получения более подробной информации о процессе экспорта посети страницу документации Ultralytics по экспорту.

Развертывание экспортированных моделей YOLO26 TensorFlow.js

Теперь, когда ты экспортировал свою модель YOLO26 в формат TF.js, следующий шаг — ее развертывание. Первый и рекомендуемый шаг для запуска модели TF.js — использование метода YOLO("./yolo26n_web_model"), как было показано ранее в фрагменте кода.

Однако для получения подробных инструкций по развертыванию твоих моделей TF.js обрати внимание на следующие ресурсы:

Резюме

В этом руководстве мы узнали, как экспортировать модели Ultralytics YOLO26 в формат TensorFlow.js. Экспортируя в TF.js, ты получаешь гибкость для оптимизации, развертывания и масштабирования моделей YOLO26 на широком спектре платформ.

Для получения подробной информации об использовании посети официальную документацию TensorFlow.js.

Чтобы узнать больше об интеграции Ultralytics YOLO26 с другими платформами и фреймворками, не забудь заглянуть на нашу страницу руководства по интеграции. Она наполнена отличными ресурсами, которые помогут тебе получить максимум от YOLO26 в твоих проектах.

Часто задаваемые вопросы (FAQ)

Как экспортировать модели 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")

Для получения дополнительной информации о поддерживаемых вариантах экспорта посети страницу документации Ultralytics о вариантах развертывания.

Зачем мне экспортировать модели YOLO26 в TensorFlow.js?

Экспорт моделей YOLO26 в TensorFlow.js дает несколько преимуществ, включая:

  1. Локальное выполнение: Модели могут работать непосредственно в браузере или Node.js, что снижает задержку и улучшает пользовательский опыт.
  2. Кроссплатформенная поддержка: TF.js поддерживает несколько сред, обеспечивая гибкость при развертывании.
  3. Автономные возможности: Позволяет приложениям функционировать без подключения к интернету, обеспечивая надежность и конфиденциальность.
  4. Ускорение на GPU: Использует WebGL для ускорения на GPU, оптимизируя производительность на устройствах с ограниченными ресурсами.

Для получения полного обзора см. наши интеграции с TensorFlow.js.

Чем полезна TensorFlow.js для браузерных приложений машинного обучения?

TensorFlow.js специально разработан для эффективного выполнения моделей машинного обучения в браузере и средах 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.

Комментарии