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

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

Логотип TFLite

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

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

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

Представленный Google в мае 2017 года как часть своего фреймворка TensorFlow , TensorFlow Lite, или сокращенно TFLite, - это фреймворк глубокого обучения с открытым исходным кодом, предназначенный для выводов на устройствах, также известных как edge computing. Он предоставляет разработчикам необходимые инструменты для выполнения обученных моделей на мобильных, встраиваемых и IoT-устройствах, а также на традиционных компьютерах.

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

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

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

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

  • Поддержка множества платформ: TFLite предлагает широкую совместимость с платформами, поддерживая Android, iOS, встроенный Linux и микроконтроллеры.

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

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

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

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

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

  • Развертывание с помощью Android и iOS: Приложения для Android и iOS с TFLite могут анализировать данные с камер и датчиков, расположенных по краям, чтобы обнаруживать и идентифицировать объекты. TFLite также предлагает нативные библиотеки для iOS, написанные на Swift и Objective-C. На схеме архитектуры ниже показан процесс развертывания обученной модели на платформах Android и iOS с помощью 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: Краткое руководство по интеграции TensorFlow Lite в Android-приложения, содержащее простые и понятные шаги по настройке и запуску моделей машинного обучения.

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

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

Резюме

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

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

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



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

Комментарии