Um guia sobre a exportação de modelos YOLO26 para TFLite para implantação

TensorFlow Lite edge deployment framework

Implantar modelos de visão computacional em dispositivos de borda (edge) ou dispositivos embarcados requer um formato que possa garantir um desempenho contínuo.

O formato de exportação TensorFlow Lite ou TFLite permite que você otimize seus modelos Ultralytics YOLO26 para tarefas como detecção de objetos e classificação de imagens em aplicações baseadas em dispositivos de borda. Neste guia, percorreremos as etapas para converter seus modelos para o formato TFLite, tornando mais fácil para seus modelos terem um bom desempenho em vários dispositivos de borda.

Por que você deveria exportar para TFLite?

Introduzido pelo Google em maio de 2017 como parte de seu framework TensorFlow, o TensorFlow Lite, ou TFLite para abreviar, é um framework de deep learning de código aberto projetado para inferência no dispositivo, também conhecido como edge computing. 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 suas aplicações mais rápidas, mais confiáveis e capazes de rodar offline.

Principais características dos modelos TFLite

Os modelos TFLite oferecem uma ampla gama de recursos importantes que permitem o aprendizado de máquina 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, aumentando 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 ampla 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 implantação no TFLite

Antes de analisarmos o código para exportar modelos YOLO26 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 aprendizado de máquina, incluindo:

  • Implantando com Android e iOS: Tanto aplicações Android quanto iOS com TFLite podem analisar feeds de câmera e sensores baseados em borda para detectar e identificar objetos. O TFLite também oferece bibliotecas nativas para iOS 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 TensorFlow Lite.

TensorFlow Lite deployment architecture for mobile

  • Implementando com Linux embarcado: Se a execução de inferências em um Raspberry Pi usando o Guia da Ultralytics não atender aos requisitos de velocidade para o 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.

  • Implantando com microcontroladores: 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 a sistema operacional, bibliotecas padrão de C ou C++ ou alocação dinâmica de memória.

Exportar para TFLite: Convertendo seu modelo YOLO26

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 YOLO26
pip install ultralytics

Para instruções detalhadas e práticas recomendadas relacionadas ao processo de instalação, consulte nosso guia de instalação da Ultralytics. Ao instalar os pacotes necessários para o YOLO26, se você encontrar alguma dificuldade, consulte nosso guia de problemas comuns para obter soluções e dicas.

Utilização

Todos os modelos Ultralytics YOLO26 foram concebidos para suportar a exportação imediata, facilitando a sua integração no teu fluxo de trabalho de implementação preferido. Podes ver a lista completa de formatos de exportação suportados e opções de configuração para escolheres a melhor configuração para a tua aplicação.

Utilização
  from ultralytics import YOLO

  # Load the YOLO26 model
  model = YOLO("yolo26n.pt")

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

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

  # Run inference
  results = tflite_model("https://ultralytics.com/images/bus.jpg")

Argumentos de Exportação

ArgumentoTipoPredefiniçãoDescrição
formatstr'tflite'Formato de destino para o modelo exportado, definindo a compatibilidade com vários ambientes de implantação.
imgszint ou tuple640Desired image size for the model input. Can be an integer for square images or a tuple (height, width) for specific dimensions.
halfboolFalseAtiva a quantização FP16 (precisão simples), reduzindo o tamanho do modelo e potencialmente acelerando a inferência em hardware suportado.
int8boolFalseAtiva 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.
nmsboolFalseAdiciona Supressão Não Máxima (NMS), essencial para o pós-processamento de detecção preciso e eficiente.
batchint1Especifica o tamanho da inferência em lote do modelo de exportação ou o número máximo de imagens que o modelo exportado processará simultaneamente no modo predict.
datastr'coco8.yaml'Caminho para o arquivo de configuração do dataset (padrão: coco8.yaml), essencial para a quantização.
fractionfloat1.0Especifica a fração do dataset a ser usada para calibração de quantização INT8. Permite calibrar em um subconjunto do dataset completo, útil para experimentos ou quando os recursos são limitados. Se não for especificado com INT8 ativado, o dataset completo será usado.
devicestrNoneEspecifica o dispositivo para exportação: 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.

Implantando modelos TFLite YOLO26 exportados

Após exportar com sucesso seus modelos Ultralytics YOLO26 para o formato TFLite, você pode agora implantá-los. O primeiro passo principal e recomendado para executar um modelo TFLite é usar o método YOLO("model.tflite"), conforme descrito no código de uso anterior. No entanto, para instruções detalhadas sobre como implantar seus modelos TFLite em vários outros cenários, dê uma olhada nos seguintes recursos:

  • Android: Um guia de início rápido para integrar o TensorFlow Lite em aplicações Android, fornecendo etapas fáceis de seguir para configurar e executar modelos de aprendizado de máquina.

  • iOS: Confira este guia detalhado para desenvolvedores sobre como integrar e implantar modelos TensorFlow Lite em aplicações iOS, oferecendo instruções passo a passo e recursos.

  • Exemplos de ponta a ponta: 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 YOLO26 para o formato de modelo TFLite, você pode melhorar a eficiência e a velocidade dos modelos YOLO26, tornando-os mais eficazes e adequados para ambientes de edge computing.

Para mais detalhes sobre o uso, visite a documentação oficial do TFLite.

Além disso, se você estiver curioso sobre outras integrações do Ultralytics YOLO26, confira nossa página de guia de integração. Você encontrará muitas informações úteis e insights por lá.

FAQ

Como exporto um modelo YOLO26 para o formato TFLite?

Para exportar um modelo YOLO26 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 YOLO26 model
model = YOLO("yolo26n.pt")

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

Para usuários de CLI, você pode conseguir isso com:

yolo export model=yolo26n.pt format=tflite # creates 'yolo26n_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 implantação de modelos YOLO26?

O TensorFlow Lite (TFLite) é um framework de deep learning de código aberto projetado para inferência no dispositivo, tornando-o ideal para implantar modelos YOLO26 em dispositivos móveis, embarcados e IoT. Os principais benefícios incluem:

  • Otimização no dispositivo: Minimize a latência e aumente a privacidade processando 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 do TFLite.

É possível rodar modelos TFLite YOLO26 no Raspberry Pi?

Sim, você pode rodar modelos TFLite YOLO26 no Raspberry Pi para melhorar a velocidade 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 otimizações adicionais, você pode considerar usar o Coral Edge TPU. Para etapas detalhadas, consulte nosso guia de implantação para Raspberry Pi e o guia de integração do Edge TPU.

Posso usar modelos TFLite em microcontroladores para previsões com YOLO26?

Sim, o TFLite suporta a 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 YOLO26 básicos. Isso o torna adequado para implantação em dispositivos com o mínimo de poder computacional e memória.

Para começar, visite o guia TFLite Micro para Microcontroladores.

Quais plataformas são compatíveis com modelos YOLO26 exportados para TFLite?

O TensorFlow Lite oferece ampla compatibilidade de plataforma, permitindo que você implante modelos YOLO26 em uma ampla gama de dispositivos, incluindo:

  • Android e iOS: Suporte nativo por meio de bibliotecas TFLite para Android e iOS.
  • Linux embarcado: Ideal para computadores de placa única, como o Raspberry Pi.
  • Microcontroladores: Adequado para MCUs com recursos limitados.

Para mais informações sobre opções de implantação, veja nosso guia de implantação detalhado.

Como soluciono problemas comuns durante a exportação de modelos YOLO26 para TFLite?

Se você encontrar erros ao exportar modelos YOLO26 para TFLite, as soluções comuns incluem:

  • Verifique a compatibilidade do pacote: Certifique-se de que está usando versões compatíveis do Ultralytics e TensorFlow. Consulte nosso guia de instalação.
  • Suporte ao modelo: Verifique se o modelo YOLO26 específico suporta exportação para TFLite verificando a página de documentação de exportação da Ultralytics.
  • Problemas de quantização: Ao usar quantização INT8, certifique-se de que o caminho do seu conjunto de dados esteja especificado corretamente no parâmetro data.

Para dicas adicionais de solução de problemas, visite nosso guia de problemas comuns.

Comentários