Ultralytics YOLO27:

Aprenda a exportar para o formato TFLite Edge TPU a partir de um modelo YOLO26#

Implementar modelos de visão computacional em dispositivos com poder computacional limitado, como sistemas móveis ou incorporados, pode ser complicado. Usar 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 e, ao mesmo tempo, proporcionar um desempenho rápido para redes neuronais.

A funcionalidade de exportação para o formato TFLite Edge TPU permite otimizar os teus modelos Ultralytics YOLO26 para inferência de alta velocidade e baixo consumo de energia. Neste guia, vamos explicar como converter os teus modelos para o formato TFLite Edge TPU, facilitando o bom desempenho dos teus modelos em vários dispositivos móveis e incorporados.

Por que razão deves exportar para TFLite Edge TPU?#

Exportar modelos para TensorFlow Edge TPU torna as tarefas de aprendizagem automática rápidas e eficientes. Esta tecnologia é adequada para aplicações com limitações de energia, recursos computacionais e conectividade. O Edge TPU é um acelerador de hardware da Google. Acelera modelos TensorFlow Lite em dispositivos periféricos. A imagem abaixo mostra um exemplo do processo envolvido.

TensorFlow Lite Edge TPU compilation workflow

O Edge TPU funciona com modelos quantizados. A quantização torna os modelos mais pequenos e rápidos sem perder muita precisão. É ideal para os recursos limitados da computação periférica, permitindo que as aplicações respondam rapidamente ao reduzir a latência e permitir o processamento rápido de dados localmente, sem depender da nuvem. O processamento local também mantém os dados dos utilizadores privados e seguros, uma vez que não são enviados para um servidor remoto.

Principais funcionalidades do TFLite Edge TPU#

Eis as principais funcionalidades que fazem do TFLite Edge TPU uma excelente escolha de formato de modelo para programadores:

  • Desempenho otimizado em dispositivos periféricos: O TFLite Edge TPU alcança um desempenho de alta velocidade em redes neuronais através de quantização, otimização de modelos, aceleração de hardware e otimização do compilador. A sua arquitetura minimalista contribui para o seu tamanho reduzido e eficiência de custos.

  • Alto débito computacional: O TFLite Edge TPU combina aceleração de hardware especializada e execução eficiente em tempo de execução para alcançar um alto débito computacional. É adequado para implementar modelos de aprendizagem automática com requisitos de desempenho rigorosos em dispositivos periféricos.

  • Cálculos matriciais eficientes: O TensorFlow Edge TPU está otimizado para operações matriciais, essenciais para os cálculos de redes neuronais. Esta eficiência é fundamental nos modelos de aprendizagem automática, especialmente nos que exigem numerosas e complexas multiplicações e transformações de matrizes.

Opções de implementação com TFLite Edge TPU#

Antes de explicarmos como exportar modelos YOLO26 para o formato TFLite Edge TPU, vamos compreender onde os modelos TFLite Edge TPU são normalmente utilizados.

O TFLite Edge TPU oferece várias opções de implementação para modelos de aprendizagem automática, incluindo:

  • Implementação no dispositivo: Os modelos TensorFlow Edge TPU podem ser implementados diretamente em dispositivos móveis e incorporados. A implementaçã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 transferindo-o a pedido.

  • Implementação híbrida: Uma abordagem híbrida combina a implementação no dispositivo e na nuvem, oferecendo uma solução versátil e escalável para implementar modelos de aprendizagem automática. As vantagens incluem o processamento no dispositivo para respostas rápidas e a computação em nuvem para cálculos mais complexos.

Tarefas suportadas#

A exportação para Edge TPU é compatível com seis das sete tarefas da Ultralytics. A segmentação semântica está disponível apenas com YOLO26, a única família que inclui esse cabeçalho. A estimativa de profundidade não é compatível porque o seu modelo INT8 emite um operador EXP v2 que o compilador do Edge TPU não consegue analisar.

TarefaYOLOv8YOLO11YOLO26
Detetar
Segmentar
Semântica
Profundidade
Classificar
Pose
OBB

O compilador do Edge TPU mapeia as operações compatíveis para o acelerador e deixa as restantes na CPU, pelo que a compatibilidade com uma tarefa não significa que todas as operações sejam executadas na TPU.

Exportar modelos YOLO26 para TFLite Edge TPU#

Podes ampliar a compatibilidade dos modelos e a flexibilidade de implementação convertendo modelos YOLO26 para TensorFlow Edge TPU.

Instalação#

Para instalar o pacote necessário, executa:

Instalação
# Install the required package for YOLO26
pip install ultralytics

Para obter instruções detalhadas e boas práticas relacionadas com o processo de instalação, consulte o nosso guia de instalação do Ultralytics. Ao instalar os pacotes necessários para YOLO26, se encontrar alguma dificuldade, consulte o 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 imediatamente, facilitando a sua integração no teu fluxo de trabalho de implementação preferido. Podes consultar a lista completa de formatos de exportação e opções de configuração compatíveis para escolher a melhor configuração para a tua aplicação.

O formato TFLite Edge TPU é compatível com os modos Exportar, Prever e Validar. A inferência e a validação são executadas no hardware Coral Edge TPU. Exporta o teu modelo e, em seguida, carrega o modelo exportado para executar a inferência ou validar a sua precisão.

Exportaçã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'
Previsão
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")
Validar
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#

ArgumentoTipoPredefiniçãoDescrição
formatstr'edgetpu'Formato de destino do modelo exportado, que define a compatibilidade com vários ambientes de implementação.
imgszint ou tuple640Tamanho de imagem pretendido para a entrada do modelo. Pode ser um número inteiro para imagens quadradas ou um tuplo (height, width) para dimensões específicas.
quantizeint ou str8/autoPrecisão da quantização. 8 (INT8) é obrigatório e ativado automaticamente para o Edge TPU, comprimindo o modelo e acelerando a inferência com uma perda mínima de precisão em dispositivos periféricos. Substitui os sinalizadores obsoletos half/int8.
opsetintNoneEspecifica a versão do opset ONNX para o grafo ONNX intermédio. Se não for definida, utiliza a versão mais recente suportada.
datastrNoneCaminho para o YAML do dataset, essencial para a quantização; a classificação, por sua vez, aceita um diretório de dataset ou o nome de um dataset integrado. Se for omitido com quantize=8, a Ultralytics seleciona o dataset de calibração predefinido para a tarefa do modelo.
fractionfloat, int ou list1.0Subconjunto de calibração como proporção, contagem de imagens ou proporções/contagens de [train, val, test]. Listas de dois itens deixam test completo, enquanto 0 o ignora.
devicestrNoneEspecifica o dispositivo para a exportação: CPU (device=cpu).
Dica

Certifica-te de usar uma máquina Linux x86 ao exportar para Edge TPU.

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

Implementar modelos YOLO26 TFLite Edge TPU exportados#

Depois de exportares com sucesso os teus modelos Ultralytics YOLO26 para o formato TFLite Edge TPU, podes agora implementá-los. O primeiro passo principal e recomendado para executar um modelo TFLite Edge TPU é utilizar o método YOLO("model_edgetpu.tflite"), conforme descrito no fragmento de código de utilização anterior.

No entanto, para obteres instruções detalhadas sobre a implementação dos teus modelos TFLite Edge TPU, consulta os seguintes recursos:

Resumo#

Neste guia, aprendemos a exportar modelos Ultralytics YOLO26 para o formato TFLite Edge TPU. Seguindo os passos mencionados acima, podes aumentar a velocidade e reduzir o consumo de energia das tuas aplicações de visão computacional.

Para mais detalhes sobre a utilização, visita o site oficial do Coral Edge TPU.

Além disso, para obteres mais informações sobre outras integrações do Ultralytics YOLO26, visita a nossa página do guia de integrações. Aí encontrarás recursos e informações úteis.

Perguntas frequentes#

  • Para exportares um modelo YOLO26 para o formato TFLite Edge TPU, podes seguir estes passos:

    Utilizaçã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'
    
    # 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 obteres todos os detalhes 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árias vantagens:

    • Desempenho otimizado: Alcança um desempenho de alta velocidade em redes neuronais com um consumo mínimo de energia.
    • Latência reduzida: Processamento rápido de dados localmente, sem depender da nuvem.
    • Privacidade reforçada: O processamento local mantém os dados dos utilizadores privados e seguros.

    Isto torna-o ideal para aplicações de computação periférica, nas quais os dispositivos têm energia e recursos computacionais limitados. Sabe mais sobre por que razão deves exportar.

  • Sim, os modelos TensorFlow Lite Edge TPU podem ser implementados diretamente em dispositivos móveis e incorporados. Esta abordagem de implementação permite que os modelos sejam executados diretamente no hardware, proporcionando uma inferência mais rápida e eficiente. Para obteres exemplos de integração, consulta o nosso guia sobre a implementação do Coral Edge TPU no Raspberry Pi.

  • Os casos de utilização comuns dos modelos TFLite Edge TPU incluem:

    • Câmaras inteligentes: Melhorar a análise de imagens e vídeos em tempo real.
    • Dispositivos IoT: Permitir casas inteligentes e automatização industrial.
    • Cuidados de saúde: Acelerar a imagiologia médica e o diagnóstico.
    • Retalho: Melhorar a gestão de inventário e a análise do comportamento dos clientes.

    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 durante a exportação ou implementação de modelos TFLite Edge TPU, consulta o nosso guia de problemas comuns para obteres sugestões de resolução. Este guia aborda problemas e soluções comuns para te ajudar a garantir um funcionamento sem problemas. Para obteres suporte adicional, visita o nosso Centro de ajuda.

Comentários