Aprende a exportar para o formato TFLite Edge TPU a partir de um modelo YOLO26#
Implantar modelos de visão computacional em dispositivos com poder computacional limitado, como sistemas móveis ou embarcados, pode ser difícil. O uso de um formato de modelo otimizado para um desempenho mais rápido simplifica o processo. O formato de modelo TensorFlow Lite Edge TPU ou TFLite Edge TPU foi concebido para utilizar o mínimo de energia enquanto oferece um desempenho rápido para redes neurais.
A funcionalidade de exportação para o formato TFLite Edge TPU permite-te otimizar os teus modelos Ultralytics YOLO26 para inferência de alta velocidade e baixo consumo de energia. Neste guia, vamos mostrar-te como converter os teus modelos para o formato TFLite Edge TPU, facilitando o bom funcionamento dos teus modelos em vários dispositivos móveis e embarcados.
Por que deves exportar para TFLite Edge TPU?#
Exportar modelos para a TensorFlow Edge TPU torna as tarefas de machine learning rápidas e eficientes. Esta tecnologia adapta-se a aplicações com energia, recursos computacionais e conectividade limitados. A Edge TPU é um acelerador de hardware da Google. Acelera os modelos TensorFlow Lite em dispositivos de borda. A imagem abaixo mostra um exemplo do processo envolvido.
A Edge TPU funciona com modelos quantizados. A quantização torna os modelos menores e mais rápidos sem perder muita precisão. É ideal para os recursos limitados da computação de borda, permitindo que as aplicações respondam rapidamente ao reduzir a latência e permitindo um processamento rápido de dados localmente, sem dependência da nuvem. O processamento local também mantém os dados do utilizador privados e seguros, uma vez que não são enviados para um servidor remoto.
Principais recursos do TFLite Edge TPU#
Aqui estão os principais recursos que tornam o TFLite Edge TPU uma ótima escolha de formato de modelo para desenvolvedores:
-
Desempenho otimizado em dispositivos de borda: O TFLite Edge TPU alcança um desempenho de rede neural de alta velocidade através de quantização, otimização de modelo, aceleração de hardware e otimização de compilador. Sua arquitetura minimalista contribui para seu tamanho reduzido e eficiência de custo.
-
Alto rendimento computacional: O TFLite Edge TPU combina aceleração de hardware especializada e execução em tempo de execução eficiente para atingir um alto rendimento computacional. É muito adequado para implantar modelos de machine learning com requisitos de desempenho rigorosos em dispositivos de borda.
-
Cálculos de Matrizes Eficientes: A TensorFlow Edge TPU está otimizada para operações matriciais, que são cruciais para cálculos de redes neurais. Esta eficiência é fundamental em modelos de machine learning, particularmente naqueles que exigem multiplicações e transformações de matrizes numerosas e complexas.
Opções de implantação com TFLite Edge TPU#
Antes de passarmos a como exportar modelos YOLO26 para o formato TFLite Edge TPU, vamos entender onde os modelos TFLite Edge TPU são geralmente usados.
O TFLite Edge TPU oferece várias opções de implantação para modelos de machine learning, incluindo:
-
Implantação no dispositivo: Modelos TensorFlow Edge TPU podem ser implantados diretamente em dispositivos móveis e embarcados. A implantação no dispositivo permite que os modelos sejam executados diretamente no hardware, eliminando a necessidade de conectividade com a nuvem, seja incorporando o modelo no pacote da aplicação ou baixando-o sob demanda.
-
Computação de borda com TPUs do TensorFlow na nuvem: Em cenários onde os dispositivos de borda têm capacidades de processamento limitadas, os TensorFlow Edge TPUs podem descarregar tarefas de inferência para servidores em nuvem equipados com TPUs.
-
Implantação Híbrida: Uma abordagem híbrida combina a implantação no dispositivo e na nuvem, oferecendo uma solução versátil e escalável para implantar modelos de machine learning. As vantagens incluem o processamento no dispositivo para respostas rápidas e computação em nuvem para cálculos mais complexos.
Tarefas Suportadas#
A exportação para a Edge TPU suporta seis das sete tarefas da Ultralytics. A segmentação semântica está disponível apenas com o YOLO26, a única família que inclui essa cabeça. A estimativa de profundidade não é suportada porque o seu modelo INT8 emite um operador EXP v2 que o compilador da Edge TPU não consegue analisar.
| Tarefa | YOLOv8 | YOLO11 | YOLO26 |
|---|---|---|---|
| Detectar | ✅ | ✅ | ✅ |
| Segmentar | ✅ | ✅ | ✅ |
| Semântica | ❌ | ❌ | ✅ |
| Profundidade | ❌ | ❌ | ❌ |
| Classificar | ✅ | ✅ | ✅ |
| Pose | ✅ | ✅ | ✅ |
| OBB | ✅ | ✅ | ✅ |
O compilador Edge TPU mapeia as operações que suporta para o acelerador e deixa o resto na CPU, pelo que o suporte de tarefas não significa que todas as operações sejam executadas na TPU.
Exportando modelos YOLO26 para TFLite Edge TPU#
Podes expandir a compatibilidade e a flexibilidade de implantação do modelo convertendo modelos YOLO26 para TensorFlow Edge TPU.
Instalação#
Para instalar o pacote necessário, execute:
# Install the required package for YOLO26
pip install ultralyticsPara instruções detalhadas e melhores práticas relacionadas com o processo de instalação, consulta o nosso guia de instalação do Ultralytics. Ao instalar os pacotes necessários para o YOLO26, se encontrares alguma dificuldade, consulta o nosso guia de problemas comuns para obter soluções e dicas.
Uso#
Todos os modelos Ultralytics YOLO26 são projetados para suportar exportação nativamente, facilitando a integração deles no teu fluxo de trabalho de implantação preferido. Podes ver a lista completa de formatos de exportação suportados e opções de configuração para escolher a melhor configuração para a tua aplicação.
O formato TFLite Edge TPU suporta os modos Export, Predict e Validate. A inferência e a validação correm no hardware Coral Edge TPU. Exporta o teu modelo, carrega depois o modelo exportado para executar a inferência ou validar a sua precisão.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TFLite Edge TPU format
model.export(format="edgetpu") # creates 'yolo26n_full_integer_quant_edgetpu.tflite'from ultralytics import YOLO
# Load the exported TFLite Edge TPU model
model = YOLO("yolo26n_full_integer_quant_edgetpu.tflite")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported TFLite Edge TPU model
model = YOLO("yolo26n_full_integer_quant_edgetpu.tflite")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")Argumentos de Exportação#
| Argumento | Tipo | Predefinição | Descrição |
|---|---|---|---|
format | str | 'edgetpu' | 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 número inteiro para imagens quadradas ou uma tupla (height, width) para dimensões específicas. |
quantize | int ou str | 8/auto | Precisão de quantização. 8 (INT8) é obrigatório e ativado automaticamente para a Edge TPU, comprimindo o modelo e acelerando a inferência com perda mínima de precisão em dispositivos de borda. Substitui as flags obsoletas half/int8. |
opset | int | None | Especifica a versão do opset ONNX para o grafo ONNX intermediário. Se não for definida, utiliza a versão mais recente suportada. |
data | str | None | Caminho para o YAML do dataset, essencial para a quantização; a classificação, por sua vez, requer um diretório de dataset ou um nome de dataset incorporado. Se omitido com quantize=8, o Ultralytics seleciona o dataset de calibração padrão para a tarefa do modelo. |
fraction | float, int ou list | 1.0 | Subconjunto de calibração como uma proporção, contagem de imagens ou proporções/contagens de [train, val, test]. Listas de dois itens deixam test cheio, enquanto 0 o pula. |
device | str | None | Especifica o dispositivo para exportação: CPU (device=cpu). |
Certifica-te de usar uma máquina Linux x86 ao exportar para o EdgeTPU.
Para mais detalhes sobre o processo de exportação, visita a página de documentação do Ultralytics sobre exportação.
Implantando modelos YOLO26 TFLite Edge TPU exportados#
Após exportar com sucesso os teus modelos Ultralytics YOLO26 para o formato TFLite Edge TPU, podes agora implantá-los. O primeiro passo principal e recomendado para executar um modelo TFLite Edge TPU é usar o método YOLO("model_edgetpu.tflite"), conforme descrito no trecho de código de uso anterior.
No entanto, para instruções detalhadas sobre como implantar os teus modelos TFLite Edge TPU, dá uma olhada nos seguintes recursos:
-
Coral Edge TPU num Raspberry Pi com Ultralytics YOLO26: Descobre como integrar as Coral Edge TPUs com o Raspberry Pi para obter capacidades melhoradas de machine learning.
-
Exemplos de Código: Acede a exemplos práticos de implantação na TensorFlow Edge TPU para iniciares os teus projetos.
-
Executar Inferência na Edge TPU com Python: Explora como usar a API Python do TensorFlow Lite para aplicações na Edge TPU, incluindo diretrizes de configuração e utilização.
Resumo#
Neste guia, aprendemos como exportar modelos Ultralytics YOLO26 para o formato TFLite Edge TPU. Ao seguires os passos mencionados acima, podes aumentar a velocidade e a potência das tuas aplicações de visão computacional.
Para mais detalhes sobre a utilização, visita o site oficial da Edge TPU.
Além disso, para mais informações sobre outras integrações do Ultralytics YOLO26, visita a nossa página do guia de integração. Lá, descobrirás recursos valiosos e conhecimentos úteis.
FAQ#
Para exportar um modelo YOLO26 para o formato TFLite Edge TPU, podes seguir estes passos:
Usofrom ultralytics import YOLO # Load a YOLO26 model model = YOLO("yolo26n.pt") # Export the model to TFLite Edge TPU format model.export(format="edgetpu") # creates 'yolo26n_full_integer_quant_edgetpu.tflite' # Load the exported TFLite Edge TPU model edgetpu_model = YOLO("yolo26n_full_integer_quant_edgetpu.tflite") # Run inference results = edgetpu_model("https://ultralytics.com/images/bus.jpg")Para detalhes completos sobre a exportação de modelos para outros formatos, consulta o nosso guia de exportação.
Exportar modelos YOLO26 para TFLite Edge TPU oferece vários benefícios:
- Desempenho Otimizado: Alcança um desempenho de rede neural de alta velocidade com consumo mínimo de energia.
- Latência Reduzida: Processamento rápido de dados local sem a necessidade de dependência da nuvem.
- Privacidade Aprimorada: O processamento local mantém os dados do usuário privados e seguros.
Isto torna-o ideal para aplicações em computação de borda, onde os dispositivos têm energia e recursos computacionais limitados. Sabe mais sobre por que deves exportar.
Sim, os modelos TensorFlow Lite Edge TPU podem ser implantados diretamente em dispositivos móveis e embarcados. Esta abordagem de implantação permite que os modelos sejam executados diretamente no hardware, oferecendo uma inferência mais rápida e eficiente. Para exemplos de integração, consulta o nosso guia sobre como implantar a Coral Edge TPU no Raspberry Pi.
Casos de uso comuns para modelos TFLite Edge TPU incluem:
- Câmaras Inteligentes: Melhorando a análise de imagem e vídeo em tempo real.
- Dispositivos IoT: Possibilitando automação residencial e industrial inteligente.
- Saúde: Acelerando imagens médicas e diagnósticos.
- Varejo: Melhorando a gestão de inventário e análise de comportamento do cliente.
Estas aplicações beneficiam do alto desempenho e do baixo consumo de energia dos modelos TFLite Edge TPU. Descobre mais sobre cenários de utilização.
Se encontrares problemas ao exportar ou implantar modelos TFLite Edge TPU, consulta o nosso guia de problemas comuns para obteres dicas de resolução de problemas. Este guia abrange problemas comuns e soluções para te ajudar a garantir um funcionamento sem problemas. Para suporte adicional, visita o nosso Centro de Ajuda.