Перейти к содержанию

Экспорт в формат модели TF.js из формата модели YOLO11 .

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

Функция "экспорт в формат модели TF.js" позволяет оптимизировать ваши Ultralytics YOLO11 модели для высокоскоростного и локального вывода об обнаружении объектов. В этом руководстве мы расскажем вам о том, как конвертировать ваши модели в формат TF.js, чтобы облегчить работу моделей в различных локальных браузерах и приложениях Node.js.

Почему вы должны экспортировать в TF.js?

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

TFАрхитектура .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

Прежде чем мы погрузимся в процесс экспорта моделей YOLO11 в формат TF.js, давайте рассмотрим несколько типичных сценариев развертывания, в которых используется этот формат.

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

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

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

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

Экспорт моделей YOLO11 в TensorFlow.js

Вы можете расширить совместимость моделей и гибкость развертывания, конвертируя модели YOLO11 в TF.js.

Установка

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

Установка

# Install the required package for YOLO11
pip install ultralytics

Для получения подробных инструкций и лучших практик, связанных с процессом установки, ознакомьтесь с нашим руководством по установкеUltralytics . При установке необходимых пакетов для YOLO11, если вы столкнетесь с какими-либо трудностями, обратитесь к нашему руководству по общим проблемам, чтобы найти решения и советы.

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

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

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

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 , посвященной вариантам развертывания.

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

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

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

Резюме

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

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

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

ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ

Как экспортировать модели Ultralytics YOLO11 в формат TensorFlow.js?

Экспорт моделей Ultralytics YOLO11 в формат TensorFlow.js (TF.js) очень прост. Вы можете выполнить следующие шаги:

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

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 , посвященной вариантам развертывания.

Почему я должен экспортировать свои модели YOLO11 в TensorFlow.js?

Экспорт моделей YOLO11 в TensorFlow.js имеет ряд преимуществ, в том числе:

  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.

Каковы ключевые особенности TensorFlow.js для развертывания моделей YOLO11 ?

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

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

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

Можно ли развернуть модель YOLO11 в серверных приложениях Node.js с помощью TensorFlow.js?

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

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

📅 Создано 8 месяцев назад ✏️ Обновлено 2 месяца назад

Комментарии