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

Руководство по экспорту моделей YOLOv8 в TFLite для развертывания

Логотип TFLite

Развертывание моделей компьютерного зрения на граничных устройствах или встраиваемых устройствах требует формата, способного обеспечить бесперебойную работу.

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

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

Introduced by Google in May 2017 as part of their TensorFlow framework, TensorFlow Lite, or TFLite for short, is an open-source deep learning framework designed for on-device inference, also known as edge computing. It gives developers the necessary tools to execute their trained models on mobile, embedded, and IoT devices, as well as traditional computers.

TensorFlow Lite совместим с широким спектром платформ, включая встраиваемые Linux, Android, iOS, и MCU. Экспорт твоей модели в TFLite делает твои приложения быстрее, надежнее и способными работать в автономном режиме.

Ключевые особенности моделей TFLite

Модели TFLite обладают широким набором ключевых функций, которые обеспечивают машинное обучение на устройствах, помогая разработчикам запускать свои модели на мобильных, встраиваемых и граничных устройствах:

  • Оптимизация на устройстве: TFLite оптимизируется для ML на устройстве, уменьшая задержки за счет локальной обработки данных, повышая конфиденциальность за счет отсутствия передачи личных данных и минимизируя размер модели для экономии места.

  • Multiple Platform Support: TFLite offers extensive platform compatibility, supporting Android, iOS, embedded Linux, and microcontrollers.

  • Поддержка различных языков: TFLite совместим с различными языками программирования, включая Java, Swift, Objective-C, C++ и Python.

  • Высокая производительность: Достигни превосходной производительности за счет аппаратного ускорения и оптимизации моделей.

Варианты развертывания в TFLite

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

TFLite предлагает различные варианты развертывания моделей машинного обучения на устройстве, включая:

  • Deploying with Android and iOS: Both Android and iOS applications with TFLite can analyze edge-based camera feeds and sensors to detect and identify objects. TFLite also offers native iOS libraries written in Swift and Objective-C. The architecture diagram below shows the process of deploying a trained model onto Android and iOS platforms using TensorFlow Lite.

Архитектура

  • Реализация с помощью Embedded Linux: Если выполнение выводов на Raspberry Pi с помощью руководстваUltralytics не удовлетворяет требованиям по скорости для твоего случая использования, ты можешь использовать экспортированную модель TFLite, чтобы ускорить время выполнения выводов. Кроме того, можно еще больше повысить производительность, используя устройство Coral Edge TPU .

  • Развертывание с помощью микроконтроллеров: Модели TFLite также могут быть развернуты на микроконтроллерах и других устройствах, имеющих всего несколько килобайт памяти. Ядро среды выполнения умещается всего в 16 КБ на Arm Cortex M3 и может запускать множество базовых моделей. Она не требует поддержки операционной системы, каких-либо стандартных библиотек C или C++ или динамического выделения памяти.

Экспорт в TFLite: Преобразование твоей модели YOLOv8

Ты можешь повысить эффективность выполнения моделей на устройстве и оптимизировать производительность, конвертировав их в формат TFLite.

Установка

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

Установка

# 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 TFLite format
model.export(format="tflite")  # creates 'yolov8n_float32.tflite'

# Load the exported TFLite model
tflite_model = YOLO("yolov8n_float32.tflite")

# Run inference
results = tflite_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to TFLite format
yolo export model=yolov8n.pt format=tflite  # creates 'yolov8n_float32.tflite'

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

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

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

После успешного экспорта твоих моделей Ultralytics YOLOv8 в формат TFLite ты можешь приступить к их развертыванию. Основным и рекомендуемым первым шагом для запуска модели TFLite является использование метода YOLO("model.tflite"), как описано в предыдущем фрагменте кода. Однако для получения подробных инструкций по развертыванию твоих моделей TFLite в различных других условиях, взгляни на следующие ресурсы:

  • Android: A quick start guide for integrating TensorFlow Lite into Android applications, providing easy-to-follow steps for setting up and running machine learning models.

  • iOS: Check out this detailed guide for developers on integrating and deploying TensorFlow Lite models in iOS applications, offering step-by-step instructions and resources.

  • Примеры с конца до конца: На этой странице представлен обзор различных примеров TensorFlow Lite, демонстрирующих практические приложения и учебные пособия, призванные помочь разработчикам внедрить TensorFlow Lite в свои проекты машинного обучения на мобильных и граничных устройствах.

Резюме

В этом руководстве мы сосредоточились на том, как экспортировать в формат TFLite. Конвертировав свои модели Ultralytics YOLOv8 в формат моделей TFLite, ты сможешь повысить эффективность и скорость работы моделей YOLOv8, сделав их более эффективными и подходящими для сред edge computing.

Для получения дополнительной информации об использовании посетите официальную документацию TFLite.

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

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

Как экспортировать модель YOLOv8 в формат TFLite?

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

pip install ultralytics

Затем используй следующий фрагмент кода, чтобы экспортировать свою модель:

from ultralytics import YOLO

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

# Export the model to TFLite format
model.export(format="tflite")  # creates 'yolov8n_float32.tflite'

Для пользователей CLI ты можешь добиться этого с помощью:

yolo export model=yolov8n.pt format=tflite  # creates 'yolov8n_float32.tflite'

Для получения более подробной информации посетите руководство по экспортуUltralytics .

В чем преимущества использования TensorFlow Lite для развертывания модели YOLOv8 ?

TensorFlow Lite (TFLite) - это фреймворк глубокого обучения с открытым исходным кодом, предназначенный для выводов на устройстве, что делает его идеальным для развертывания моделей YOLOv8 на мобильных, встраиваемых и IoT-устройствах. Основные преимущества включают в себя:

  • Оптимизация на устройстве: Минимизируй задержки и повышай конфиденциальность, обрабатывая данные локально.
  • Platform compatibility: Supports Android, iOS, embedded Linux, and MCU.
  • Производительность: Используй аппаратное ускорение, чтобы оптимизировать скорость и эффективность модели.

Чтобы узнать больше, ознакомься с руководством по TFLite.

Можно ли запустить модели YOLOv8 TFLite на Raspberry Pi?

Да, ты можешь запускать модели YOLOv8 TFLite на Raspberry Pi, чтобы повысить скорость выводов. Сначала экспортируй свою модель в формат TFLite, как объясняется здесь. Затем используй такой инструмент, как TensorFlow Lite Interpreter, чтобы выполнить модель на твоем Raspberry Pi.

Для дальнейшей оптимизации ты можешь рассмотреть возможность использования Coral Edge TPU. За подробными шагами обращайся к нашему руководству по развертыванию Raspberry Pi.

Можно ли использовать модели TFLite на микроконтроллерах для предсказаний YOLOv8 ?

Да, TFLite поддерживает развертывание на микроконтроллерах с ограниченными ресурсами. Ядро среды выполнения TFLite требует всего 16 КБ памяти на Arm Cortex M3 и может выполнять базовые модели YOLOv8 . Это делает его подходящим для развертывания на устройствах с минимальной вычислительной мощностью и памятью.

Чтобы начать, посети руководство TFLite Micro for Microcontrollers.

Какие платформы совместимы с экспортируемыми TFLite моделями YOLOv8 ?

TensorFlow Lite обеспечивает широкую совместимость с платформами, позволяя тебе развернуть модели YOLOv8 на широком спектре устройств, включая:

  • Android and iOS: Native support through TFLite Android and iOS libraries.
  • Встраиваемый Linux: Идеально подходит для одноплатных компьютеров, таких как Raspberry Pi.
  • Микроконтроллеры: Подходит для MCU с ограниченными ресурсами.

Подробнее о вариантах развертывания читай в нашем подробном руководстве по развертыванию.

Как устранить распространенные проблемы при экспорте модели YOLOv8 в TFLite?

Если ты столкнулся с ошибками при экспорте моделей YOLOv8 в TFLite, распространенные решения включают в себя:

  • Проверь совместимость пакетов: Убедись, что ты используешь совместимые версии Ultralytics и TensorFlow. Обратись к нашему руководству по установке.
  • Поддержка модели: Убедись, что конкретная модель YOLOv8 поддерживает экспорт TFLite, поставив здесь галочку.

Дополнительные советы по устранению неполадок можно найти в нашем руководстве по общим проблемам.



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

Комментарии