Implantar modelosYOLO Ultralytics usando a integração do ExecuTorch
Explore como exportar modelos Ultralytics YOLO como o Ultralytics YOLO11 para o formato ExecuTorch para uma implementação eficiente e PyTorch em dispositivos móveis e de ponta.
Explore como exportar modelos Ultralytics YOLO como o Ultralytics YOLO11 para o formato ExecuTorch para uma implementação eficiente e PyTorch em dispositivos móveis e de ponta.
Certas aplicações de visão computacional, como a inspeção automatizada da qualidade, drones autónomos ou sistemas de segurança inteligentes, têm um melhor desempenho quando os modelosYOLO Ultralytics , como o Ultralytics YOLO11são executados próximos ao sensor que captura as imagens. Por outras palavras, estes modelos precisam de processar os dados diretamente onde são gerados, em câmaras, drones ou sistemas incorporados, em vez de os enviar para a nuvem.
Esta abordagem, conhecida como IA de ponta, permite que os modelos efectuem inferências diretamente no dispositivo onde os dados são captados. Ao processar a informação localmente em vez de depender de servidores remotos, os sistemas podem obter uma latência mais baixa, uma maior privacidade dos dados e uma maior fiabilidade, mesmo em ambientes com conetividade à Internet limitada ou inexistente.
Por exemplo, uma câmara de fabrico que inspecciona milhares de produtos a cada minuto, ou um drone que navega em ambientes complexos, não pode permitir-se os atrasos que advêm do processamento na nuvem. A execução YOLO11 diretamente no dispositivo permite uma inferência instantânea e no dispositivo.
Para tornar a execução dos modelosYOLO do Ultralytics no edge mais fácil e eficiente, a nova integração do ExecuTorch suportada pelo Ultralytics fornece uma forma simplificada de exportar e implementar modelos diretamente em dispositivos móveis e incorporados. O ExecuTorch faz parte do ecossistema PyTorch Edge e fornece uma solução de ponta a ponta para executar modelos de IA diretamente em hardware móvel e de ponta, incluindo telefones, wearables, placas incorporadas e microcontroladores.
Esta integração facilita a utilização de um modelo Ultralytics YOLO , como o YOLO11, desde a formação até à implementação em dispositivos de ponta. Ao combinar as capacidades de visão do YOLO11com o tempo de execução leve do ExecuTorch e o pipeline de exportação PyTorch , os utilizadores podem implementar modelos que são executados de forma eficiente em hardware de ponta, preservando a precisão e o desempenho da inferência PyTorch.
Neste artigo, veremos mais de perto como funciona a integração do ExecuTorch, por que ela é uma ótima opção para aplicativos de IA de ponta e como você pode começar a implantar modelosYOLO Ultralytics com o ExecuTorch. Vamos começar!
Normalmente, quando se treina um modelo no PyTorch, este é executado em servidores potentes ou em Unidades de Processamento Gráfico (GPUs) na nuvem. No entanto, a implantação desse mesmo modelo em um dispositivo móvel ou incorporado, como um smartphone, drone ou microcontrolador, requer uma solução especializada que possa lidar com poder de computação, memória e conetividade limitados.
É exatamente isso que o ExecuTorch traz para a mesa. O ExecuTorch é uma solução de ponta a ponta desenvolvida como parte do ecossistema PyTorch Edge que permite uma inferência eficiente no dispositivo em plataformas móveis, incorporadas e de ponta. Ele estende os recursos do PyTorchpara além da nuvem, permitindo que os modelos de IA sejam executados diretamente em dispositivos locais.
No seu núcleo, o ExecuTorch fornece um tempo de execução C++ leve que permite que os modelos PyTorch sejam executados diretamente no dispositivo. O ExecuTorch usa o formato de modelo PyTorch ExecuTorch (.pte), uma exportação otimizada projetada para carregamento mais rápido, menor espaço de memória e melhor portabilidade.
Suporta o XNNPACK como backend predefinido para uma inferência eficiente da Unidade Central de ProcessamentoCPU) e alarga a compatibilidade a uma vasta gama de backends de hardware, incluindo Core ML, Metal, Vulkan, Qualcomm, MediaTek, Arm EthosU, OpenVINO, entre outros.
Esses back-ends permitem a aceleração otimizada em dispositivos móveis, incorporados e de borda especializados. O ExecuTorch também se integra ao pipeline de exportação PyTorch , oferecendo suporte a recursos avançados, como quantização e manipulação dinâmica de formas, para melhorar o desempenho e a adaptabilidade em diferentes ambientes de implantação.
A quantização reduz o tamanho do modelo e aumenta a velocidade de inferência, convertendo valores de alta precisão (como floats de 32 bits) em valores de baixa precisão, enquanto o tratamento dinâmico de formas é usado para permitir que os modelos processem tamanhos de entrada variáveis de forma eficiente. Ambas as caraterísticas são cruciais para a execução de modelos de IA em dispositivos de ponta com recursos limitados.

Para além do seu tempo de execução, o ExecuTorch também actua como uma camada de abstração unificada para vários backends de hardware. Simplificando, ele abstrai detalhes específicos de hardware e gerencia como os modelos interagem com diferentes unidades de processamento, incluindo CPUs, GPUs e Unidades de Processamento Neural (NPUs).
Assim que um modelo é exportado, o ExecuTorch pode ser configurado para direcionar o backend mais adequado para um determinado dispositivo. Os desenvolvedores podem implantar modelos de forma eficiente em diversos hardwares sem escrever código personalizado específico para o dispositivo ou manter fluxos de trabalho de conversão separados.
Devido ao seu design modular e portátil e à integração perfeita com PyTorch , o ExecuTorch é uma óptima opção para implementar modelos de visão computacional como o Ultralytics YOLO11 em sistemas móveis e incorporados. Ele preenche a lacuna entre o treinamento do modelo e a implantação no mundo real, tornando a IA de ponta mais rápida, mais eficiente e mais fácil de implementar.
Antes de vermos como exportar os modelosYOLO Ultralytics para o formato do ExecuTorch, vamos explorar o que torna o ExecuTorch uma opção fiável para a implementação de IA no edge.
Eis um vislumbre de algumas das suas principais caraterísticas:
Agora que temos uma melhor compreensão do que o ExecuTorch oferece, vamos ver como exportar os modelosYOLO Ultralytics para o formato do ExecuTorch.
Para começar, terá de instalar o pacoteUltralytics Python utilizando o pip, que é um instalador de pacotes. Pode fazê-lo executando "pip install ultralytics" no seu terminal ou na linha de comandos.
Se estiver a trabalhar num ambiente Jupyter Notebook ou Google Colab, basta adicionar um ponto de exclamação antes do comando, como "!pip install ultralytics". Uma vez instalado, o pacote Ultralytics fornece todas as ferramentas necessárias para treinar, testar e exportar modelos de visão computacional, incluindo Ultralytics YOLO11.
Se tiver problemas durante a instalação ou ao exportar o seu modelo, a documentação oficial Ultralytics e o guia de problemas comuns contêm passos detalhados para a resolução de problemas e práticas recomendadas para o ajudar a funcionar sem problemas.
Depois de instalar o pacote Ultralytics , pode carregar uma variante do modelo YOLO11 e exportá-lo para o formato ExecuTorch. Por exemplo, pode utilizar um modelo pré-treinado como "yolo11n.pt" e exportá-lo chamando a função de exportação com o formato definido como "executorch".
Isso cria um diretório chamado "yolo11n_executorch_model", que inclui o arquivo de modelo otimizado (.pte) e um arquivo YAML de metadados separado contendo detalhes importantes, como tamanho da imagem e nomes de classe.
Aqui está o código para exportar o seu modelo:
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="executorch")
Uma vez exportado, o modelo está pronto para ser implantado em dispositivos móveis e de borda usando o tempo de execução do ExecuTorch. O ficheiro de modelo .pte exportado pode ser carregado na sua aplicação para executar a inferência em tempo real no dispositivo sem necessitar de uma ligação à nuvem.
Por exemplo, o trecho de código abaixo mostra como carregar o modelo exportado e executar a inferência. A inferência significa simplesmente usar um modelo treinado para fazer previsões em novos dados. Aqui, o modelo é testado numa imagem de um autocarro retirada de um URL público.
executorch_model = YOLO("yolo11n_executorch_model")
results = executorch_model.predict(ultralytics, save=True)
Depois de executar o código, encontrará a imagem de saída com os objectos detectados guardada na pasta "detect".

Ao explorar as diferentes opções de exportação suportadas pelo Ultralytics, poderá perguntar-se o que torna a integração do ExecuTorch única. A principal diferença é a forma como combina desempenho, simplicidade e flexibilidade, facilitando a implantação de poderosos modelos de IA diretamente em dispositivos móveis e de borda.
Eis algumas das principais vantagens da utilização da integração do ExecuTorch:
Recentemente, Ultralytics foi reconhecida como uma história de sucessoPyTorch ExecuTorch, destacando nosso suporte inicial para inferência no dispositivo e contribuições contínuas para o ecossistema PyTorch . Este reconhecimento reflecte um objetivo comum de tornar a IA de elevado desempenho mais acessível em plataformas móveis e de ponta.
Em ação, isto assemelha-se a soluções Vision AI do mundo real que funcionam eficientemente em tudo, desde smartphones a sistemas incorporados. Por exemplo, na indústria transformadora, os dispositivos de ponta desempenham um papel crucial na monitorização das linhas de produção e na deteção de defeitos em tempo real.

Em vez de enviar imagens ou dados de sensores para a nuvem para processamento, o que pode introduzir atrasos e depender da conetividade com a Internet, a integração do ExecuTorch permite que os modelos YOLO11 sejam executados diretamente no hardware local. Isto significa que as fábricas podem detect problemas de qualidade instantaneamente, reduzir o tempo de inatividade e manter a privacidade dos dados, tudo isto enquanto operam com recursos de computação limitados.
Eis alguns outros exemplos de como a integração do ExecuTorch e os modelosYOLO Ultralytics podem ser aplicados:

A exportação de modelos Ultralytics YOLO para o formato ExecuTorch facilita a implementação de modelos de visão computacional em muitos dispositivos, incluindo smartphones, tablets e sistemas incorporados, como o Raspberry Pi. Isto significa que é possível executar inferência optimizada no dispositivo sem depender de conetividade na nuvem, melhorando a velocidade, a privacidade e a fiabilidade.
Juntamente com o ExecuTorch, Ultralytics suporta uma vasta gama de integrações, incluindo TensorRT, OpenVINO, CoreML e muito mais, dando aos programadores a flexibilidade de executar os seus modelos em várias plataformas. À medida que a adoção da Vision AI cresce, estas integrações simplificam a implementação de sistemas inteligentes criados para funcionar eficientemente em condições do mundo real.
Curioso sobre IA? Consulte o nosso repositório GitHub, junte-se à nossa comunidade e explore as nossas opções de licenciamento para dar início ao seu projeto de IA de visão. Saiba mais sobre inovações como a IA no retalho e a visão computacional na logística visitando as nossas páginas de soluções.