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 exportar para o TFLite?
Introduzido pela Google em maio de 2017 como parte da sua estrutura TensorFlow , 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
Pode melhorar a eficiência da execução do modelo no dispositivo e otimizar o desempenho convertendo os seus modelos 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")
Argumentos de exportação
Argumento | Tipo | Predefinição | Descrição |
---|---|---|---|
format |
str |
'tflite' |
Formato de destino para o modelo exportado, definindo a compatibilidade com vários ambientes de implantação. |
imgsz |
int ou tuple |
640 |
Tamanho de imagem pretendido para a entrada do modelo. Pode ser um número inteiro para imagens quadradas ou uma tupla (height, width) para dimensões específicas. |
half |
bool |
False |
Permite a quantização FP16 (meia-precisão), reduzindo o tamanho do modelo e potencialmente acelerando a inferência no hardware suportado. |
int8 |
bool |
False |
Ativa a quantização INT8, comprimindo ainda mais o modelo e acelerando a inferência com uma perda mínima de precisão, principalmente para dispositivos de borda. |
nms |
bool |
False |
Adiciona Supressão Não Máxima (NMS), essencial para um pós-processamento de deteção preciso e eficiente. |
batch |
int |
1 |
Especifica o tamanho da inferência em lote do modelo de exportação ou o número máximo de imagens que o modelo exportado irá processar em simultâneo em predict modo. |
data |
str |
'coco8.yaml' |
Caminho para o conjunto de dados ficheiro de configuração (predefinição: coco8.yaml ), essencial para a quantização. |
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 êxito os seus modelos Ultralytics YOLO11 para o formato TFLite, pode agora implementá-los. A primeira etapa principal e recomendada para executar um modelo TFLite é utilizar a função 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 os seus modelos Ultralytics YOLO11 para o formato de modelo TFLite, pode melhorar a eficiência e a velocidade dos modelos YOLO11 , tornando-os mais eficazes e adequados para ambientes de computação periférica.
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 a implementaçã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 modelos YOLO11 TFLite no Raspberry Pi para melhorar a velocidade de inferência. Primeiro, exporte seu modelo para o formato TFLite, conforme explicado acima. Em seguida, use uma ferramenta como o 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 nosso guia de implantação do Raspberry Pi e o guia de integração do Edge TPU .
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.
- Problemas de quantização: Ao utilizar a quantização INT8, certifique-se de que o caminho do conjunto de dados está corretamente especificado no
data
parâmetro.
Para obter mais sugestões de resolução de problemas, visite o nosso guia de Problemas comuns.