Salta para o conteúdo

Aprende a exportar para o formato TFLite Edge TPU a partir do modelo YOLOv8

A implementação de modelos de visão computacional em dispositivos com poder computacional limitado, como sistemas móveis ou incorporados, pode ser complicada. A utilização de um formato de modelo optimizado 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 proporcionar um desempenho rápido para redes neurais.

A função de exportação para o formato TFLite Edge TPU permite-te otimizar os teus Ultralytics YOLOv8 modelos para inferências de alta velocidade e baixo consumo de energia. Neste guia, vamos orientá-lo na conversão de seus modelos para o formato TFLite Edge TPU , facilitando o desempenho de seus modelos em vários dispositivos móveis e incorporados.

Porque deves exportar para o TFLite Edge TPU?

A exportação de modelos para TensorFlow Edge TPU torna as tarefas de aprendizagem automática rápidas e eficientes. Esta tecnologia é adequada para aplicações com potência, recursos de computação e conetividade limitados. O Edge TPU é um acelerador de hardware da Google. Acelera os modelos TensorFlow Lite em dispositivos periféricos. A imagem abaixo mostra um exemplo do processo envolvido.

TFLite Edge TPU

O Edge TPU trabalha com modelos quantizados. A quantização torna os modelos mais pequenos e mais rápidos sem perder muita precisão. É ideal para os recursos limitados da computação de ponta, permitindo que as aplicações respondam rapidamente, reduzindo a latência e permitindo o 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 características do TFLite Edge TPU

Apresentamos aqui as principais características que fazem do TFLite Edge TPU uma excelente escolha de formato de modelo para os programadores:

  • Desempenho otimizado em dispositivos Edge: O TFLite Edge TPU alcança desempenho de rede neural de alta velocidade por meio de quantização, otimização de modelo, aceleração de hardware e otimização de compilador. A sua arquitetura minimalista contribui para o seu tamanho mais pequeno e para a sua eficiência em termos de custos.

  • Alto rendimento computacional: O TFLite Edge TPU combina aceleração de hardware especializada e execução eficiente em tempo de execução para obter alta taxa de transferência computacional. É adequado para a implantação de modelos de aprendizado de máquina com requisitos rigorosos de desempenho em dispositivos de borda.

  • Computação eficiente de matrizes: O TensorFlow Edge TPU está optimizado para operações de matriz, que são cruciais para os cálculos de redes neurais. Essa eficiência é fundamental em modelos de aprendizado de máquina, particularmente aqueles que exigem numerosas e complexas multiplicações e transformações de matrizes.

Opções de implantação com o TFLite Edge TPU

Antes de falarmos sobre como exportar modelos do YOLOv8 para o formato TFLite Edge TPU , vamos entender onde os modelos do TFLite Edge TPU são normalmente usados.

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

  • Implementação no dispositivo: TensorFlow Os modelos 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 conetividade com a nuvem.

  • Computação de ponta com TPUs na nuvem TensorFlow : Em cenários em que os dispositivos de borda têm capacidades de processamento limitadas, as TPUs de borda TensorFlow podem descarregar tarefas de inferência para servidores de nuvem equipados com TPUs.

  • Implantação híbrida: Uma abordagem híbrida combina a implementação no dispositivo e na nuvem e oferece uma solução versátil e escalável para a implementação de 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.

Exportando YOLOv8 Models para o TFLite Edge TPU

Podes expandir a compatibilidade de modelos e a flexibilidade de implementação convertendo os modelos YOLOv8 para TensorFlow Edge TPU.

Instalação

Para instalar o pacote necessário, executa:

Instalação

# Install the required package for YOLOv8
pip install ultralytics

Para obter instruções detalhadas e melhores práticas relacionadas com o processo de instalação, consulta o nosso guia de instalaçãoUltralytics . Durante a instalação dos pacotes necessários para YOLOv8, se tiveres alguma dificuldade, consulta o nosso guia de Problemas comuns para obteres soluções e sugestões.

Utilização

Antes de seguir as instruções de utilização, é importante notar que, embora todos os modelosUltralytics YOLOv8 estejam disponíveis para exportação, podes garantir que o modelo que seleccionaste suporta a funcionalidade de exportação aqui.

Utilização

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO('yolov8n.pt')

# Export the model to TFLite Edge TPU format
model.export(format='edgetpu')  # creates 'yolov8n_full_integer_quant_edgetpu.tflite’

# Load the exported TFLite Edge TPU model
edgetpu_model = YOLO('yolov8n_full_integer_quant_edgetpu.tflite')

# Run inference
results = edgetpu_model('https://ultralytics.com/images/bus.jpg')
# Export a YOLOv8n PyTorch model to TFLite Edge TPU format
yolo export model=yolov8n.pt format=edgetpu  # creates 'yolov8n_full_integer_quant_edgetpu.tflite'

# Run inference with the exported model
yolo predict model=yolov8n_full_integer_quant_edgetpu.tflite source='https://ultralytics.com/images/bus.jpg'

Para obter mais detalhes sobre as opções de exportação suportadas, visita a página de documentaçãoUltralytics sobre opções de implementação.

Implementação de modelos exportados YOLOv8 TFLite Edge TPU

Depois de exportar com sucesso seus modelos Ultralytics YOLOv8 para o formato TPU do TFLite Edge, agora é possível implantá-los. O primeiro passo primário e recomendado para executar um modelo do TFLite Edge TPU é usar o método YOLO("model_edgetpu.tflite"), conforme descrito no trecho de código de uso anterior.

No entanto, para obter instruções detalhadas sobre a implantação dos modelos TFLite Edge TPU , dá uma olhada nos seguintes recursos:

Resumo

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

Para mais informações sobre a utilização, visita o sítio Web oficial do Edge TPU .

Além disso, para obter mais informações sobre outras integrações de Ultralytics YOLOv8 , visita a nossa página de guia de integração. Aí, descobrirás recursos e informações valiosos.



Criado em 2024-03-13, Atualizado em 2024-04-02
Autores: Burhan-Q (1), abirami-vina (1)

Comentários