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

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

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

Функция "экспорт в формат модели TF.js" позволяет тебе оптимизировать твои Ultralytics YOLOv8 модели для высокоскоростного и локального вывода об обнаружении объектов. В этом руководстве мы расскажем тебе о том, как конвертировать твои модели в формат 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

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

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

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

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

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

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

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

Установка

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

Установка

# Install the required package for YOLOv8
pip install ultralytics

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

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

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

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

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

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

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

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

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

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

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

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

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

Резюме

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

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

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

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

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

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

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

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

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

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

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

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

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

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

Экспорт моделей YOLOv8 в 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 для развертывания моделей YOLOv8 ?

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

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

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

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

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

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



Создано 2024-04-03, Обновлено 2024-07-05
Авторы: glenn-jocher (6), abirami-vina (1)

Комментарии