Salta para o conteúdo

A Guide on YOLO11 Model Export to TFLite for Deployment

Logótipo 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.

Porque deves exportar para o TFLite?

Introduzido pela Google em maio de 2017 como parte da sua estrutura TensorFlow , o TensorFlow Lite, ou TFLite, é uma estrutura de aprendizagem profunda de código aberto concebida para inferência no dispositivo, também conhecida como computação de ponta. Dá aos programadores as ferramentas necessárias para executar os seus modelos treinados em dispositivos móveis, incorporados e IoT, bem como em computadores tradicionais.

TensorFlow Lite é compatível com uma vasta gama de plataformas, incluindo Linux incorporado, Android, iOS, e MCU. Exportar o teu modelo para o TFLite torna as tuas aplicações mais rápidas, mais fiáveis e capazes de funcionar offline.

Principais características dos modelos TFLite

Os modelos TFLite oferecem uma vasta gama de funcionalidades essenciais que permitem a aprendizagem automática no dispositivo, ajudando os programadores a executar os seus modelos em dispositivos móveis, incorporados e de ponta:

  • Otimização no dispositivo: O TFLite optimiza o ML no dispositivo, reduzindo a latência ao processar dados localmente, aumentando a privacidade ao não transmitir dados pessoais e minimizando o tamanho do modelo para poupar espaço.

  • Suporte a várias plataformas: O TFLite oferece ampla compatibilidade de plataformas, suportando Android, iOS, Linux incorporado e microcontroladores.

  • Suporta várias linguagens: O TFLite é compatível com várias linguagens de programação, incluindo Java, Swift, Objective-C, C++ e Python.

  • Alto desempenho: Obtém um desempenho superior através da aceleração de hardware e da otimização de modelos.

Opções de implementação no TFLite

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

O TFLite oferece várias opções de implantação no dispositivo para modelos de aprendizado de máquina, incluindo:

  • Implantação com Android e iOS: Os aplicativos Android e iOS com TFLite podem analisar feeds de câmera e sensores baseados em borda para detetar e identificar objetos. O TFLite também oferece bibliotecas iOS nativas escritas em Swift e Objective-C. O diagrama de arquitetura abaixo mostra o processo de implantação de um modelo treinado nas plataformas Android e iOS usando TensorFlow Lite.

Arquitetura

  • Implementa com Linux incorporado: Se a execução de inferências em um Raspberry Pi usando o GuiaUltralytics não atender aos requisitos de velocidade do seu caso de uso, é possível usar um modelo TFLite exportado para acelerar os tempos de inferência. Além disso, é possível melhorar ainda mais o desempenho utilizando um dispositivo Coral Edge TPU .

  • Implantação em microcontroladores: Os modelos TFLite também podem ser implantados em microcontroladores e outros dispositivos com apenas alguns kilobytes de memória. O núcleo do tempo de execução cabe em apenas 16 KB num Arm Cortex M3 e pode executar muitos modelos básicos. Não necessita de suporte do sistema operativo, de quaisquer bibliotecas C ou C++ padrão, nem de atribuição dinâmica de memória.

Export to TFLite: Converting Your YOLO11 Model

Podes melhorar a eficiência da execução de modelos no dispositivo e otimizar o desempenho convertendo-os para o formato TFLite.

Instalação

Para instalar os pacotes necessários, executa:

Instalação

# 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.

Utilização

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.

Utilização

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'

Para obter mais detalhes sobre o processo de exportação, visita a página de documentaçãoUltralytics sobre exportação.

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: Consulta este guia detalhado para programadores sobre a integração e implementação de modelos TensorFlow Lite em aplicações iOS , que oferece instruções e recursos passo a passo.

  • Exemplos de ponta a ponta: Esta página fornece uma visão geral de vários exemplos do TensorFlow Lite, apresentando aplicações práticas e tutoriais concebidos para ajudar os programadores a implementar o TensorFlow Lite nos seus projectos de aprendizagem automática em dispositivos móveis e periféricos.

Resumo

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.

Para mais informações sobre a utilização, consulta a documentação oficial do 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.

FAQ

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

Em seguida, utiliza o seguinte fragmento de código para exportar o teu modelo:

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'

Para os utilizadores de CLI , podes conseguir isto com:

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

Para mais informações, consulta o guia de exportaçãoUltralytics .

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:

  • Otimização no dispositivo: Minimiza a latência e melhora a privacidade processando os dados localmente.
  • Compatibilidade de plataformas: Suporta Android, iOS, Linux incorporado e MCU.
  • Desempenho: Utiliza a aceleração de hardware para otimizar a velocidade e a eficiência do modelo.

Para saberes mais, consulta o guia 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.

Para mais optimizações, podes considerar a utilização do Coral Edge TPU. Para obter etapas detalhadas, consulte nosso guia de implantação do 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.

Para começar, visita o guia TFLite Micro para microcontroladores.

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 e iOS: Suporte nativo através das bibliotecas TFLite Android e iOS .
  • Linux incorporado: Ideal para computadores de placa única, como o Raspberry Pi.
  • Microcontroladores: Adequado para MCUs com recursos limitados.

Para mais informações sobre as opções de implementação, consulta o nosso guia de implementação detalhado.

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:

  • Verifica a compatibilidade dos pacotes: Certifica-te de que estás a utilizar versões compatíveis de Ultralytics e TensorFlow. Consulta o nosso guia de instalação.
  • Model support: Verify that the specific YOLO11 model supports TFLite export by checking here.

Para obteres mais sugestões de resolução de problemas, visita o nosso guia de Problemas comuns.

📅 Created 7 months ago ✏️ Updated 22 days ago

Comentários