Guia de exportação do modelo YOLO11 para o TFLite para implantação
A implementação de modelos de visão computacional em dispositivos de ponta ou dispositivos incorporados requer um formato que possa garantir um desempenho sem falhas.
O formato de exportação TensorFlow Lite ou TFLite permite-lhe otimizar os seus Ultralytics YOLO11 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 seus modelos para o formato TFLite, facilitando o desempenho dos seus modelos em vários dispositivos de ponta.
Por que razão deve exportar para o TFLite?
Introduzido pela Google em maio de 2017 como parte da sua estrutura TensorFlow , o 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 ampla gama de plataformas, incluindo Linux incorporado, Android, iOS, e MCU. Exportar o seu modelo para o TFLite torna as suas aplicações mais rápidas, mais fiáveis e capazes de funcionar offline.
Principais caraterí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 periféricos:
-
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.
-
Suporte a diversas 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 implantação no TFLite
Antes de analisarmos o código para exportar modelos YOLO11 para o formato TFLite, vamos entender como os modelos TFLite são normalmente utilizados.
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 iOS nativas 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.
-
Implementação com Linux incorporado: Se a execução de inferências em um Raspberry Pi usando o GuiaUltralytics não atender aos requisitos de velocidade para 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 com 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, nem de bibliotecas C ou C++ normais, nem de atribuição dinâmica de memória.
Exportar para o TFLite: Convertendo seu modelo YOLO11
É possível melhorar a eficiência da execução do modelo no dispositivo e otimizar o desempenho convertendo-os para o formato TFLite.
Instalação
Para instalar os pacotes necessários, execute:
Para obter instruções detalhadas e melhores práticas relacionadas com o processo de instalação, consulte o nosso guia de instalaçãoUltralytics . Ao instalar os pacotes necessários para YOLO11, se encontrar alguma dificuldade, consulte o nosso guia de Problemas comuns para obter soluções e dicas.
Utilização
Antes de se debruçar sobre as instruções de utilização, é importante notar que, embora todos os modelos deUltralytics YOLO11 estejam disponíveis para exportação, pode certificar-se de que o modelo selecionado suporta a funcionalidade de exportação aqui.
Utilização
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TFLite format
model.export(format="tflite") # creates 'yolo11n_float32.tflite'
# Load the exported TFLite model
tflite_model = YOLO("yolo11n_float32.tflite")
# Run inference
results = tflite_model("https://ultralytics.com/images/bus.jpg")
Para mais informações sobre o processo de exportação, visite a página de documentaçãoUltralytics sobre exportação.
Implantação de modelos exportados do YOLO11 TFLite
Depois de exportar com sucesso seus modelos Ultralytics YOLO11 para o formato TFLite, agora é possível implantá-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, consulte os seguintes recursos:
-
Android: Um guia de início rápido para integrar o TensorFlow Lite em Android aplicações, fornecendo passos fáceis de seguir para configurar e executar modelos de aprendizagem automática.
-
iOS: Consulte este guia detalhado para programadores sobre a integração e implementação de modelos TensorFlow Lite em aplicações iOS , que oferece 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 converter seus modelos Ultralytics YOLO11 para o formato de modelo TFLite, é possível melhorar a eficiência e a velocidade dos modelos YOLO11 , tornando-os mais eficazes e adequados para ambientes de computação de ponta.
Para mais informações sobre a utilização, consulte a documentação oficial do TFLite.
Além disso, se estiver curioso sobre outras integrações do Ultralytics YOLO11 , não deixe de consultar a nossa página de guia de integração. Encontrará toneladas de informações úteis e ideias à sua espera.
FAQ
Como é que exporto um modelo YOLO11 para o formato TFLite?
Para exportar um modelo YOLO11 para o formato TFLite, pode utilizar a biblioteca Ultralytics . Primeiro, instale o pacote necessário usando:
Em seguida, utilize o seguinte fragmento de código para exportar o seu modelo:
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TFLite format
model.export(format="tflite") # creates 'yolo11n_float32.tflite'
Para os utilizadores de CLI , isto pode ser conseguido com:
Para mais pormenores, consulte o guia de exportaçãoUltralytics .
Quais são as vantagens de utilizar o TensorFlow Lite para aimplementação do modelo YOLO11 ?
TensorFlow Lite (TFLite) é uma estrutura de aprendizagem profunda de código aberto concebida para inferência no dispositivo, tornando-a ideal para a implementação de modelos YOLO11 em dispositivos móveis, incorporados e IoT. Os principais benefícios incluem:
- Otimização no dispositivo: Minimizar a latência e aumentar a privacidade processando os dados localmente.
- Compatibilidade de plataformas: Suporta Android, iOS, Linux incorporado e MCU.
- Desempenho: Utiliza a aceleração de hardware para otimizar a velocidade e a eficiência do modelo.
Para saber mais, consulte o guia TFLite.
É possível executar os modelos YOLO11 TFLite no Raspberry Pi?
Sim, é possível executar YOLO11 modelos TFLite no Raspberry Pi para melhorar a velocidade de inferência. Primeiro, exporte seu modelo para o formato TFLite, conforme explicado aqui. Em seguida, use uma ferramenta como TensorFlow Lite Interpreter para executar o modelo no seu Raspberry Pi.
Para mais optimizações, pode considerar a utilização do Coral Edge TPU. Para obter etapas detalhadas, consulte o nosso guia de implantação do Raspberry Pi.
Posso utilizar modelos TFLite em microcontroladores para YOLO11 previsões?
Sim, o TFLite suporta a implementação em microcontroladores com recursos limitados. O tempo de execução do núcleo do TFLite requer apenas 16 KB de memória num Arm Cortex M3 e pode executar modelos YOLO11 básicos. Isto torna-o adequado para ser implementado em dispositivos com potência computacional e memória mínimas.
Para começar, visite o guia TFLite Micro para microcontroladores.
Que plataformas são compatíveis com os modelos YOLO11 exportados pelo TFLite?
TensorFlow Lite oferece compatibilidade extensiva de plataformas, permitindo-lhe implementar modelos YOLO11 numa vasta gama de dispositivos, incluindo:
- Android e iOS: Suporte nativo através das bibliotecas TFLite Android e iOS .
- Linux incorporado: Ideal para computadores de placa única, como o Raspberry Pi.
- Microcontroladores: Adequado para MCUs com recursos limitados.
Para mais informações sobre as opções de implementação, consulte o nosso guia de implementação detalhado.
Como é que resolvo problemas comuns durante a exportação do modelo YOLO11 para o TFLite?
Se encontrar erros ao exportar modelos YOLO11 para o TFLite, as soluções comuns incluem:
- Verificar a compatibilidade dos pacotes: Certifique-se de que está a utilizar versões compatíveis de Ultralytics e TensorFlow. Consulte o nosso guia de instalação.
- Suporte do modelo: Verifique se o modelo específico de YOLO11 suporta a exportação TFLite, selecionando aqui.
Para obter mais sugestões de resolução de problemas, visite o nosso guia de Problemas comuns.