Link to this sectionЭкспорт в формат модели TF.js из формата модели YOLO26#
Развертывание машинного обучения моделей непосредственно в браузере или на 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 разработаны для поддержки экспорта «из коробки», что упрощает их интеграцию в твой предпочитаемый рабочий процесс развертывания. Ты можешь посмотреть полный список поддерживаемых форматов экспорта и параметров конфигурации, чтобы выбрать лучшую настройку для своего приложения.
Формат TF.js в Ultralytics предназначен только для экспорта — функции Predict и Validate локально недоступны. Развертывай экспортированную модель в браузере или приложении Node.js с помощью рантайма TensorFlow.js.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF.js format
model.export(format="tfjs") # creates '/yolo26n_web_model'Ultralytics не предоставляет локальный бэкенд вывода TF.js, поэтому yolo predict и yolo val не могут загрузить _web_model. Вместо этого запускай экспортированную модель с помощью рантайма TensorFlow.js в своем веб-приложении или приложении Node.js.
Link to this sectionАргументы экспорта#
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
format | str | 'tfjs' | Целевой формат для экспортированной модели, определяющий совместимость с различными средами развертывания. |
imgsz | int или tuple | 640 | Желаемый размер изображения для входных данных модели. Может быть целым числом для квадратных изображений или кортежем (height, width) для указания конкретных размеров. |
half | bool | False | Включает квантование FP16 (половинной точности), уменьшая размер модели и потенциально ускоряя вывод на поддерживаемом оборудовании. |
int8 | bool | False | Активирует квантование INT8, дополнительно сжимая модель и ускоряя вывод с минимальной потерей accuracy, в основном для периферийных устройств (edge devices). |
nms | bool | False | Добавляет алгоритм подавления немаксимумов (NMS), необходимый для точной и эффективной постобработки результатов детектирования. |
batch | int | 1 | Указывает размер батча для инференса модели при экспорте или максимальное количество изображений, которое экспортированная модель будет обрабатывать одновременно в режиме 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 в формат TF.js, следующим шагом будет её развертывание. Ultralytics не предоставляет локальный бэкенд вывода TF.js, поэтому экспортированная _web_model предназначена для запуска непосредственно с рантаймом TensorFlow.js в браузере или приложении Node.js.
Для получения подробных инструкций по развертыванию твоих моделей TF.js ознакомься со следующими ресурсами:
-
Расширение Chrome: Вот документация для разработчиков о том, как развернуть твои модели TF.js в расширении Chrome.
-
Запуск TensorFlow.js в Node.js: Запись в блоге TensorFlow о запуске TensorFlow.js непосредственно в Node.js.
-
Развертывание TensorFlow.js - проект Node на облачной платформе: Запись в блоге 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="tfjs") # creates '/yolo26n_web_model'
# Deploy the exported '_web_model' with the TensorFlow.js runtime in a browser or Node.js app.
# Ultralytics does not provide a local TF.js inference backend.Для получения подробной информации о поддерживаемых вариантах экспорта посети страницу документации 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.