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

A Guide on YOLO11 Model Export to TFLite for Deployment

Логотип TFLite

Deploying computer vision models on edge devices or embedded devices requires a format that can ensure seamless performance.

The TensorFlow Lite or TFLite export format allows you to optimize your Ultralytics YOLO11 models for tasks like object detection and image classification in edge device-based applications. In this guide, we'll walk through the steps for converting your models to the TFLite format, making it easier for your models to perform well on various edge devices.

Почему тебе стоит экспортировать в 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

Before we look at the code for exporting YOLO11 models to the TFLite format, let's understand how TFLite models are normally used.

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++ или динамического выделения памяти.

Export to TFLite: Converting Your YOLO11 Model

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

Установка

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

Установка

# Install the required package for YOLO11
pip install ultralytics

For detailed instructions and best practices related to the installation process, check our Ultralytics Installation guide. While installing the required packages for YOLO11, if you encounter any difficulties, consult our Common Issues guide for solutions and tips.

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

Before diving into the usage instructions, it's important to note that while all Ultralytics YOLO11 models are available for exporting, you can ensure that the model you select supports export functionality here.

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

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

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

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

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

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

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

Deploying Exported YOLO11 TFLite Models

After successfully exporting your Ultralytics YOLO11 models to TFLite format, you can now deploy them. The primary and recommended first step for running a TFLite model is to utilize the YOLO("model.tflite") method, as outlined in the previous usage code snippet. However, for in-depth instructions on deploying your TFLite models in various other settings, take a look at the following resources:

  • 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: Ознакомься с этим подробным руководством для разработчиков по интеграции и развертыванию моделей TensorFlow Lite в приложениях iOS , предлагающим пошаговые инструкции и ресурсы.

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

Резюме

In this guide, we focused on how to export to TFLite format. By converting your Ultralytics YOLO11 models to TFLite model format, you can improve the efficiency and speed of YOLO11 models, making them more effective and suitable for edge computing environments.

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

Also, if you're curious about other Ultralytics YOLO11 integrations, make sure to check out our integration guide page. You'll find tons of helpful info and insights waiting for you there.

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

How do I export a YOLO11 model to TFLite format?

To export a YOLO11 model to TFLite format, you can use the Ultralytics library. First, install the required package using:

pip install ultralytics

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

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

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

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

yolo export model=yolo11n.pt format=tflite  # creates 'yolo11n_float32.tflite'

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

What are the benefits of using TensorFlow Lite for YOLO11 model deployment?

TensorFlow Lite (TFLite) is an open-source deep learning framework designed for on-device inference, making it ideal for deploying YOLO11 models on mobile, embedded, and IoT devices. Key benefits include:

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

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

Is it possible to run YOLO11 TFLite models on Raspberry Pi?

Yes, you can run YOLO11 TFLite models on Raspberry Pi to improve inference speeds. First, export your model to TFLite format as explained here. Then, use a tool like TensorFlow Lite Interpreter to execute the model on your Raspberry Pi.

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

Can I use TFLite models on microcontrollers for YOLO11 predictions?

Yes, TFLite supports deployment on microcontrollers with limited resources. TFLite's core runtime requires only 16 KB of memory on an Arm Cortex M3 and can run basic YOLO11 models. This makes it suitable for deployment on devices with minimal computational power and memory.

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

What platforms are compatible with TFLite exported YOLO11 models?

TensorFlow Lite provides extensive platform compatibility, allowing you to deploy YOLO11 models on a wide range of devices, including:

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

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

How do I troubleshoot common issues during YOLO11 model export to TFLite?

If you encounter errors while exporting YOLO11 models to TFLite, common solutions include:

  • Проверь совместимость пакетов: Убедись, что ты используешь совместимые версии Ultralytics и TensorFlow. Обратись к нашему руководству по установке.
  • Model support: Verify that the specific YOLO11 model supports TFLite export by checking here.

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

📅 Created 7 months ago ✏️ Updated 20 days ago

Комментарии