Salta para o conteúdo

Um guia sobre YOLOv8 Exportação de modelos para o TFLite para implantação

Logótipo TFLite

A implementação de modelos de visão computacional em dispositivos de ponta ou dispositivos incorporados requer um formato que possa garantir um desempenho perfeito.

O formato de exportação TensorFlow Lite ou TFLite permite-te otimizar os teus Ultralytics YOLOv8 modelos para tarefas como deteção de objetos e classificação de imagens em aplicativos baseados em dispositivos de borda. Neste guia, vamos percorrer os passos para converter os teus modelos para o formato TFLite, facilitando o desempenho dos teus modelos em vários dispositivos de ponta.

Porque deves exportar para o TFLite?

Introduzida pela Google em maio de 2017 como parte da sua estrutura TensorFlow , a TensorFlow Lite, ou TFLite, é uma estrutura de aprendizagem profunda de código aberto concebida para inferência no dispositivo, também conhecida como computação de ponta. Dá aos programadores as ferramentas necessárias para executar os seus modelos treinados em dispositivos móveis, incorporados e IoT, bem como em computadores tradicionais.

TensorFlow Lite é compatível com uma vasta gama de plataformas, incluindo Linux incorporado, Android, iOS e MCU. Exportar o teu modelo para o TFLite torna as tuas aplicações mais rápidas, mais fiáveis e capazes de funcionar offline.

Principais características dos modelos TFLite

Os modelos TFLite oferecem uma vasta gama de funcionalidades essenciais que permitem a aprendizagem automática no dispositivo, ajudando os programadores a executar os seus modelos em dispositivos móveis, incorporados e de ponta:

  • Otimização no dispositivo: O TFLite optimiza o 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 poupar espaço.

  • Suporte a várias plataformas: O TFLite oferece ampla compatibilidade de plataformas, suportando Android, iOS, Linux incorporado e microcontroladores.

  • Suporta várias linguagens: O TFLite é compatível com várias linguagens de programação, incluindo Java, Swift, Objective-C, C++ e Python.

  • Alto desempenho: Obtém um desempenho superior através da aceleração de hardware e da otimização de modelos.

Opções de implementação no TFLite

Antes de vermos o código para exportar modelos YOLOv8 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:

  • Implantação com Android e iOS: Os aplicativos Android e iOS com TFLite podem analisar feeds de câmera e sensores baseados em borda para detetar 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 nas plataformas Android e iOS usando TensorFlow Lite.

Arquitetura

  • Implementa com Linux incorporado: Se a execução de inferências em um Raspberry Pi usando o GuiaUltralytics não atender aos requisitos de velocidade do seu caso de uso, é possível 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 .

  • Implantação em microcontroladores: Os modelos TFLite também podem ser implantados em microcontroladores e outros dispositivos com apenas alguns kilobytes de memória. O núcleo do tempo de execução cabe em apenas 16 KB num Arm Cortex M3 e pode executar muitos modelos básicos. Não necessita de suporte do sistema operativo, de quaisquer bibliotecas C ou C++ padrão, nem de atribuição dinâmica de memória.

Exportar para o TFLite: Converter o teu modelo YOLOv8

Podes melhorar a eficiência da execução de modelos no dispositivo e otimizar o desempenho convertendo-os para o formato TFLite.

Instalação

Para instalar os pacotes necessários, 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 format
model.export(format='tflite') # creates 'yolov8n_float32.tflite'

# Load the exported TFLite model
tflite_model = YOLO('yolov8n_float32.tflite')

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

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

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

Implantação de modelos exportados do YOLOv8 TFLite

Depois de exportar com sucesso os teus modelos Ultralytics YOLOv8 para o formato TFLite, podes agora implementá-los. A primeira etapa principal e recomendada para executar um modelo TFLite é utilizar o método YOLO("model.tflite"), conforme descrito no trecho de código de uso anterior. No entanto, para obter instruções detalhadas sobre a implantação de seus modelos TFLite em várias outras configurações, dá uma olhada nos seguintes recursos:

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

  • iOS: Consulta este guia detalhado para programadores sobre a integração e implementação de modelos TensorFlow Lite em aplicações iOS, com instruções e recursos passo a passo.

  • Exemplos de ponta a ponta: Esta página fornece uma visão geral de vários exemplos do TensorFlow Lite, apresentando aplicações práticas e tutoriais concebidos para ajudar os programadores a implementar o TensorFlow Lite nos seus projectos de aprendizagem automática em dispositivos móveis e periféricos.

Resumo

Neste guia, concentramo-nos em como exportar para o formato TFLite. Ao converteres os teus modelos Ultralytics YOLOv8 para o formato de modelo TFLite, podes melhorar a eficiência e a velocidade dos modelos YOLOv8 , tornando-os mais eficazes e adequados para ambientes de computação periférica.

Para mais informações sobre a utilização, visita a documentação oficial do TFLite.

Além disso, se tiveres curiosidade sobre outras integrações de Ultralytics YOLOv8 , consulta a nossa página de guia de integração. Encontrarás toneladas de informações úteis e de conhecimentos à tua espera.



Criado em 2024-03-01, Atualizado em 2024-03-03
Autores: glenn-jocher (1), abirami-vina (1)

Comentários