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

Экспорт в формат модели 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 в своих проектах.



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

Комментарии