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-05-18
Autores: glenn-jocher (1), Burhan-Q (1), abirami-vina (1)

Coment√°rios