Перейти к содержимому

Export to TF.js Model Format From a YOLO11 Model Format

Deploying machine learning models directly in the browser or on Node.js can be tricky. You'll need to make sure your model format is optimized for faster performance so that the model can be used to run interactive applications locally on the user's device. The TensorFlow.js, or TF.js, model format is designed to use minimal power while delivering fast performance.

The 'export to TF.js model format' feature allows you to optimize your Ultralytics YOLO11 models for high-speed and locally-run object detection inference. In this guide, we'll walk you through converting your models to the TF.js format, making it easier for your models to perform well on various local browsers and Node.js applications.

Почему тебе стоит экспортировать в TF.js?

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

TFАрхитектура .js

Running models locally also reduces latency and provides a more responsive user experience. TensorFlow.js also comes with offline capabilities, allowing users to use your application even without an internet connection. TF.js is designed for efficient execution of complex models on devices with limited resources as it is engineered for scalability, with GPU acceleration support.

Ключевые особенности TF.js

Вот ключевые особенности, которые делают TF.js мощным инструментом для разработчиков:

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

  • Поддержка множества бэкендов: TensorFlow.js поддерживает различные бэкенды для вычислений, включая CPU, WebGL для GPU ускорения, WebAssembly (WASM) для почти нативной скорости выполнения, а также WebGPU для расширенных возможностей машинного обучения в браузере.

  • Оффлайн-возможности: С помощью TensorFlow.js модели могут запускаться в браузере без необходимости подключения к интернету, что позволяет разрабатывать приложения, функционирующие в автономном режиме.

Варианты развертывания с помощью TensorFlow.js

Before we dive into the process of exporting YOLO11 models to the TF.js format, let's explore some typical deployment scenarios where this format is used.

TF.js предоставляет ряд возможностей для развертывания твоих моделей машинного обучения:

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

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

  • Расширения Chrome: Интересным сценарием внедрения является создание расширений для Chrome с помощью TensorFlow.js. Например, ты можешь разработать расширение, которое позволит пользователям щелкнуть правой кнопкой мыши на изображении на любой веб-странице, чтобы классифицировать его с помощью предварительно обученной ML-модели. TensorFlow Расширения .js можно интегрировать в повседневный веб-браузинг, чтобы сразу же получить информацию или дополнения, основанные на машинном обучении.

Exporting YOLO11 Models to TensorFlow.js

You can expand model compatibility and deployment flexibility by converting YOLO11 models to TF.js.

Установка

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

Установка

# Install the required package for YOLO11
pip install ultralytics

For detailed instructions and best practices related to the installation process, check our Ultralytics Installation guide. While installing the required packages for YOLO11, if you encounter any difficulties, consult our Common Issues guide for solutions and tips.

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

Before diving into the usage instructions, it's important to note that while all Ultralytics YOLO11 models are available for exporting, you can ensure that the model you select supports export functionality here.

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

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to TF.js format
model.export(format="tfjs")  # creates '/yolo11n_web_model'

# Load the exported TF.js model
tfjs_model = YOLO("./yolo11n_web_model")

# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TF.js format
yolo export model=yolo11n.pt format=tfjs  # creates '/yolo11n_web_model'

# Run inference with the exported model
yolo predict model='./yolo11n_web_model' source='https://ultralytics.com/images/bus.jpg'

Более подробно о поддерживаемых вариантах экспорта можно узнать на странице документацииUltralytics , посвященной вариантам развертывания.

Deploying Exported YOLO11 TensorFlow.js Models

Now that you have exported your YOLO11 model to the TF.js format, the next step is to deploy it. The primary and recommended first step for running a TF.js is to use the YOLO("./yolo11n_web_model") method, as previously shown in the usage code snippet.

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

Резюме

In this guide, we learned how to export Ultralytics YOLO11 models to the TensorFlow.js format. By exporting to TF.js, you gain the flexibility to optimize, deploy, and scale your YOLO11 models on a wide range of platforms.

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

For more information on integrating Ultralytics YOLO11 with other platforms and frameworks, don't forget to check out our integration guide page. It's packed with great resources to help you make the most of YOLO11 in your projects.

ВОПРОСЫ И ОТВЕТЫ

How do I export Ultralytics YOLO11 models to TensorFlow.js format?

Exporting Ultralytics YOLO11 models to TensorFlow.js (TF.js) format is straightforward. You can follow these steps:

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

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to TF.js format
model.export(format="tfjs")  # creates '/yolo11n_web_model'

# Load the exported TF.js model
tfjs_model = YOLO("./yolo11n_web_model")

# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TF.js format
yolo export model=yolo11n.pt format=tfjs  # creates '/yolo11n_web_model'

# Run inference with the exported model
yolo predict model='./yolo11n_web_model' source='https://ultralytics.com/images/bus.jpg'

Более подробно о поддерживаемых вариантах экспорта можно узнать на странице документацииUltralytics , посвященной вариантам развертывания.

Why should I export my YOLO11 models to TensorFlow.js?

Exporting YOLO11 models to TensorFlow.js offers several advantages, including:

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

Для всестороннего обзора смотри наш раздел " Интеграции с TensorFlow.js".

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

TensorFlow.js специально разработан для эффективного выполнения ML-моделей в браузерах и средах Node.js. Вот как это выгодно для браузерных приложений:

  • Уменьшает задержки: Запускай модели машинного обучения локально, получая немедленные результаты, не полагаясь на вычисления на стороне сервера.
  • Улучшает конфиденциальность: Сохраняет конфиденциальные данные на устройстве пользователя, минимизируя риски безопасности.
  • Обеспечивает автономное использование: Модели могут работать без подключения к интернету, обеспечивая постоянную функциональность.
  • Поддерживает несколько бэкендов: Предлагает гибкость с такими бэкендами, как CPU, WebGL, WebAssembly (WASM) и WebGPU, для различных вычислительных потребностей.

Хочешь узнать больше о TF.js? Загляни в официальное руководство TensorFlow.js.

What are the key features of TensorFlow.js for deploying YOLO11 models?

Ключевые особенности TensorFlow.js включают в себя:

  • Поддержка кроссплатформенности: TF.js можно использовать как в веб-браузерах, так и в Node.js, что обеспечивает широкую гибкость развертывания.
  • Несколько бэкендов: Поддерживает CPU, WebGL для ускорения GPU , WebAssembly (WASM) и WebGPU для продвинутых операций.
  • Оффлайн-возможности: Модели могут запускаться прямо в браузере без подключения к интернету, что делает его идеальным для разработки отзывчивых веб-приложений.

Сценарии развертывания и более подробную информацию ты найдешь в нашем разделе " Варианты развертывания с TensorFlow.js".

Can I deploy a YOLO11 model on server-side Node.js applications using TensorFlow.js?

Yes, TensorFlow.js allows the deployment of YOLO11 models on Node.js environments. This enables server-side machine learning applications that benefit from the processing power of a server and access to server-side data. Typical use cases include real-time data processing and machine learning pipelines on backend servers.

Чтобы начать работу с развертыванием Node.js, обратись к руководству " Запуск TensorFlow.js в Node.js " с сайта TensorFlow.

📅 Created 6 months ago ✏️ Updated 20 days ago

Комментарии