Um Guia sobre a Exportação do Modelo YOLO11 para TFLite para Implantação

A implementação de modelos de visão computacional em dispositivos de borda ou dispositivos embarcados requer um formato que possa garantir um desempenho perfeito.
O formato de exportação TensorFlow Lite ou TFLite permite otimizar seus modelos Ultralytics YOLO11 para tarefas como detecção de objetos e classificação de imagens em aplicações baseadas em dispositivos de borda. Neste guia, vamos percorrer os passos para converter seus modelos para o formato TFLite, facilitando o bom desempenho de seus modelos em vários dispositivos de borda.
Por que você deve exportar para TFLite?
Introduzido pela Google em maio de 2017 como parte de sua framework TensorFlow, o TensorFlow Lite, ou TFLite para abreviar, é uma framework de deep learning de código aberto projetada para inferência no dispositivo, também conhecida como computação de ponta. Ele oferece aos desenvolvedores as ferramentas necessárias para executar seus modelos treinados em dispositivos móveis, embarcados e IoT, bem como em computadores tradicionais.
O TensorFlow Lite é compatível com uma ampla gama de plataformas, incluindo Linux embarcado, Android, iOS e microcontroladores (MCUs). Exportar seu modelo para TFLite torna seus aplicativos mais rápidos, confiáveis e capazes de serem executados offline.
Principais Características dos Modelos TFLite
Os modelos TFLite oferecem uma ampla gama de recursos principais que permitem o machine learning no dispositivo, ajudando os desenvolvedores a executar seus modelos em dispositivos móveis, embarcados e de borda:
Otimização no Dispositivo: O TFLite otimiza para ML no dispositivo, reduzindo a latência ao processar dados localmente, aprimorando a privacidade ao não transmitir dados pessoais e minimizando o tamanho do modelo para economizar espaço.
Suporte a Múltiplas Plataformas: O TFLite oferece extensa compatibilidade de plataforma, suportando Android, iOS, Linux embarcado e microcontroladores.
Suporte a Diversos Idiomas: O TFLite é compatível com várias linguagens de programação, incluindo Java, Swift, Objective-C, C++ e Python.
Alto Desempenho: Alcança desempenho superior através de aceleração de hardware e otimização de modelo.
Opções de Implementação em TFLite
Antes de analisarmos o código para exportar modelos YOLO11 para o formato TFLite, vamos entender como os modelos TFLite são normalmente usados.
O TFLite oferece várias opções de implantação no dispositivo para modelos de machine learning, incluindo:
- Deploying with Android and iOS: Ambos os aplicativos Android e iOS com TFLite podem analisar feeds de câmeras e sensores baseados na borda para detectar 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 em plataformas Android e iOS usando o TensorFlow Lite.

Implementando com Linux Embarcado: Se executar inferências em um Raspberry Pi usando o Guia Ultralytics não atender aos requisitos de velocidade para seu caso de uso, você pode 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.
Deploying with Microcontrollers: Os modelos TFLite também podem ser implantados em microcontroladores e outros dispositivos com apenas alguns kilobytes de memória. O runtime principal cabe em apenas 16 KB em um Arm Cortex M3 e pode executar muitos modelos básicos. Ele não requer suporte do sistema operacional, nenhuma biblioteca C ou C++ padrão ou alocação dinâmica de memória.
Exportar para TFLite: Convertendo Seu Modelo YOLO11
Você pode melhorar a eficiência da execução do modelo no dispositivo e otimizar o desempenho convertendo seus modelos para o formato TFLite.
Instalação
Para instalar os pacotes necessários, execute:
Instalação
# Install the required package for YOLO11
pip install ultralytics
Para obter instruções detalhadas e melhores práticas relacionadas ao processo de instalação, consulte nosso guia de instalação do Ultralytics. Ao instalar os pacotes necessários para o YOLO11, se você encontrar alguma dificuldade, consulte nosso guia de problemas comuns para obter soluções e dicas.
Utilização
Todos os modelos Ultralytics YOLO11 são projetados para suportar a exportação, facilitando a integração em seu fluxo de trabalho de implantação preferido. Você pode visualizar a lista completa de formatos de exportação e opções de configuração suportados para escolher a melhor configuração para sua aplicação.
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'
Argumentos de Exportação
| Argumento | Tipo | Padrão | Descrição |
|---|---|---|---|
format | str | 'tflite' | Formato de destino para o modelo exportado, definindo a compatibilidade com vários ambientes de implementação. |
imgsz | int ou tuple | 640 | Tamanho de imagem desejado para a entrada do modelo. Pode ser um inteiro para imagens quadradas ou uma tupla (height, width) para dimensões específicas. |
half | bool | False | Ativa a quantização FP16 (meia precisão), reduzindo o tamanho do modelo e potencialmente acelerando a inferência em hardware suportado. |
int8 | bool | False | Ativa a quantização INT8, comprimindo ainda mais o modelo e acelerando a inferência com perda mínima de precisão, principalmente para dispositivos de borda. |
nms | bool | False | Adiciona Supressão Não Máxima (NMS), essencial para um pós-processamento de detecção preciso e eficiente. |
batch | int | 1 | Especifica o tamanho do lote de inferência do modelo de exportação ou o número máximo de imagens que o modelo exportado processará simultaneamente em predict modo. |
data | str | 'coco8.yaml' | Caminho para o conjunto de dados arquivo de configuração (padrão: coco8.yaml), essencial para a quantização. |
fraction | float | 1.0 | Especifica a fração do conjunto de dados a ser usada para a calibração da quantização INT8. Permite calibrar em um subconjunto do conjunto de dados completo, útil para experimentos ou quando os recursos são limitados. Se não for especificado com INT8 habilitado, o conjunto de dados completo será usado. |
device | str | None | Especifica o dispositivo para exportar: CPU (device=cpu), MPS para Apple silicon (device=mps). |
Para mais detalhes sobre o processo de exportação, visite a página de documentação da Ultralytics sobre exportação.
Implementando Modelos YOLO11 TFLite Exportados
Após exportar com sucesso seus modelos Ultralytics YOLO11 para o formato TFLite, você já pode implantá-los. O primeiro passo principal e recomendado para executar um modelo TFLite é utilizar o YOLO("model.tflite") método, conforme descrito no trecho de código de uso anterior. No entanto, para obter instruções detalhadas sobre como implantar seus modelos TFLite em várias outras configurações, consulte os seguintes recursos:
Android: Um guia de início rápido para integrar o TensorFlow Lite em aplicativos Android, fornecendo passos fáceis de seguir para configurar e executar modelos de aprendizado de máquina.
iOS: Consulte este guia detalhado para desenvolvedores sobre como integrar e implementar modelos TensorFlow Lite em aplicativos iOS, oferecendo instruções e recursos passo a passo.
Exemplos Completos: Esta página fornece uma visão geral de vários exemplos do TensorFlow Lite, mostrando aplicações práticas e tutoriais projetados para ajudar os desenvolvedores a implementar o TensorFlow Lite em seus projetos de aprendizado de máquina em dispositivos móveis e de borda.
Resumo
Neste guia, focamos em como exportar para o formato TFLite. Ao converter seus modelos Ultralytics YOLO11 para o formato de modelo TFLite, você pode melhorar a eficiência e a velocidade dos modelos YOLO11, tornando-os mais eficazes e adequados para ambientes de computação de borda.
Para mais detalhes sobre a utilização, visite a documentação oficial do TFLite.
Além disso, se você estiver curioso sobre outras integrações do Ultralytics YOLO11, certifique-se de verificar nossa página de guia de integração. Você encontrará muitas informações e insights úteis esperando por você lá.
FAQ
Como exporto um modelo YOLO11 para o formato TFLite?
Para exportar um modelo YOLO11 para o formato TFLite, você pode usar a biblioteca Ultralytics. Primeiro, instale o pacote necessário usando:
pip install ultralytics
Em seguida, use o seguinte trecho de código para exportar seu 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 usuários de CLI, você pode conseguir isso com:
yolo export model=yolo11n.pt format=tflite # creates 'yolo11n_float32.tflite'
Para mais detalhes, visite o guia de exportação da Ultralytics.
Quais são os benefícios de usar o TensorFlow Lite para a implementação de modelos YOLO11?
TensorFlow Lite (TFLite) é um framework de aprendizado profundo de código aberto projetado para inferência no dispositivo, tornando-o ideal para implantar modelos YOLO11 em dispositivos móveis, embarcados e IoT. Os principais benefícios incluem:
- Otimização no dispositivo: Minimize a latência e melhore a privacidade processando os dados localmente.
- Compatibilidade de plataforma: Suporta Android, iOS, Linux embarcado e MCU.
- Desempenho: Utiliza aceleração de hardware para otimizar a velocidade e a eficiência do modelo.
Para saber mais, confira o guia TFLite.
É possível executar modelos YOLO11 TFLite no Raspberry Pi?
Sim, você pode executar modelos YOLO11 TFLite no Raspberry Pi para melhorar as velocidades de inferência. Primeiro, exporte seu modelo para o formato TFLite, conforme explicado acima. Em seguida, use uma ferramenta como o TensorFlow Lite Interpreter para executar o modelo no seu Raspberry Pi.
Para mais otimizações, pode considerar usar o Coral Edge TPU. Para obter instruções detalhadas, consulte o nosso guia de implementação do Raspberry Pi e o guia de integração do Edge TPU.
Posso usar modelos TFLite em microcontroladores para previsões YOLO11?
Sim, o TFLite oferece suporte à implantação em microcontroladores com recursos limitados. O runtime principal do TFLite requer apenas 16 KB de memória em um Arm Cortex M3 e pode executar modelos YOLO11 básicos. Isso o torna adequado para implantação em dispositivos com potência computacional e memória mínimas.
Para começar, visite o guia TFLite Micro para Microcontroladores.
Quais plataformas são compatíveis com modelos YOLO11 exportados em TFLite?
O TensorFlow Lite oferece ampla compatibilidade de plataforma, permitindo que você implemente modelos YOLO11 em uma vasta gama de dispositivos, incluindo:
- Android e iOS: Suporte nativo através das bibliotecas TFLite Android e iOS.
- Linux Embarcado: Ideal para computadores de placa única, como o Raspberry Pi.
- Microcontroladores: Adequado para MCUs com recursos limitados.
Para obter mais informações sobre as opções de implementação, consulte nosso guia de implementação detalhado.
Como resolvo problemas comuns durante a exportação do modelo YOLO11 para TFLite?
Se você encontrar erros ao exportar modelos YOLO11 para TFLite, as soluções comuns incluem:
- Verificar a compatibilidade do pacote: Certifique-se de que está usando versões compatíveis do Ultralytics e do TensorFlow. Consulte nosso guia de instalação.
- Suporte ao modelo: Verifique se o modelo YOLO11 específico oferece suporte à exportação TFLite verificando a página de documentação de exportação da Ultralytics.
- Problemas de quantização: Ao usar a quantização INT8, certifique-se de que o caminho do seu conjunto de dados esteja especificado corretamente no
dataparâmetro.
Para obter dicas adicionais de solução de problemas, visite nosso guia de Problemas Comuns.