Yolo Vision Shenzhen
Shenzhen
Junte-se agora

Implantar modelos YOLO do Ultralytics usando a integração do ExecuTorch

Abirami Vina

Leitura de 5 minutos

4 de novembro de 2025

Explore como exportar modelos Ultralytics YOLO como o Ultralytics YOLO11 para o formato ExecuTorch para uma implementação eficiente e nativa do PyTorch em dispositivos móveis e de ponta.

Certas aplicações de visão por computador, como a inspeção automatizada da qualidade, drones autónomos ou sistemas de segurança inteligentes, têm um melhor desempenho quando os modelos Ultralytics YOLO, como o Ultralytics YOLO11, funcionam perto do sensor que capta as imagens. Por outras palavras, estes modelos precisam de processar os dados diretamente no local 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 do YOLO11 diretamente no dispositivo permite uma inferência instantânea e no dispositivo.

Para tornar a execução dos modelos YOLO 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 YOLO11 com o tempo de execução leve do ExecuTorch e o pipeline de exportação PyTorch, os utilizadores podem implementar modelos que funcionam eficientemente em hardware de ponta, preservando a precisão e o desempenho da inferência baseada em 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 modelos YOLO do Ultralytics com o ExecuTorch. Vamos começar!

O que é o ExecuTorch?

Normalmente, quando treina um modelo no PyTorch, este é executado em servidores potentes ou 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. Estende as capacidades do PyTorch para além da nuvem, permitindo que os modelos de IA sejam executados diretamente em dispositivos locais.

Trazendo a inferência do PyTorch para a borda

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 XNNPACK como backend predefinido para uma inferência eficiente da Unidade Central de Processamento (CPU) 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 do 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.

Fig. 1. Um olhar sobre o funcionamento do ExecuTorch(Fonte)

Uma camada unificada para hardware de ponta

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 o 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.

Principais caraterísticas do ExecuTorch

Antes de vermos como exportar os modelos YOLO do 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:

  • Suporte à quantização: O ExecuTorch suporta quantização de modelos, uma técnica que converte valores de alta precisão em valores de baixa precisão para reduzir o tamanho do modelo e acelerar a inferência. Isso ajuda os modelos a serem executados mais rapidamente e a usar menos memória em dispositivos de borda, mantendo praticamente o mesmo nível de precisão.
  • Uso eficiente da memória: Uma das maiores vantagens do ExecuTorch é a forma como ele lida com a memória. Em vez de confiar na alocação dinâmica de memória, que pode introduzir latência e sobrecarga de energia, o ExecuTorch usa o planejamento de memória AOT (Ahead-of-Time). Durante a exportação, ele analisa o gráfico do modelo e calcula previamente a quantidade de memória necessária para cada operação. Isso permite que o tempo de execução execute modelos usando um plano de memória estático, garantindo um desempenho previsível e evitando lentidão ou falhas em dispositivos com capacidade limitada de RAM ou processamento.
  • Metadados de modelo incorporados: Ao exportar utilizando a integração suportada pelo Ultralytics, cada modelo inclui um ficheiro YAML que contém metadados importantes, como o tamanho da imagem de entrada, os nomes das classes e os parâmetros de configuração. Esse arquivo adicional simplifica a integração do modelo em vários aplicativos e garante um comportamento consistente em diferentes plataformas de borda.

Como exportar modelos Ultralytics YOLO para o formato ExecuTorch

Agora que temos uma melhor compreensão do que o ExecuTorch oferece, vamos ver como exportar os modelos YOLO do Ultralytics para o formato do ExecuTorch.

Passo 1: Instale o pacote Python Ultralytics

Para começar, terá de instalar o pacote Ultralytics 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 o Ultralytics YOLO11.

Se tiver problemas durante a instalação ou ao exportar o seu modelo, a documentação oficial do 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.

Passo 2: Exportando Ultralytics YOLO11

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")

Etapa 3: Execução de inferências após a exportação do modelo

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("https://ultralytics.com/images/bus.jpg", save=True)

Depois de executar o código, encontrará a imagem de saída com os objectos detectados guardada na pasta "runs/detect/predict". 

Fig. 2. Deteção de objectos utilizando um modelo YOLO11 exportado no formato ExecuTorch.

Benefícios da utilização da integração do ExecuTorch

Ao explorar as diferentes opções de exportação suportadas pelo Ultralytics, pode 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:

  • Opções de implantação flexíveis: Os modelos ExecuTorch podem ser implementados em aplicações móveis, sistemas incorporados, dispositivos IoT (Internet das Coisas) e hardware de IA de ponta especializado. Esta flexibilidade permite que os programadores criem soluções de IA escaláveis que funcionam de forma consistente em diversas plataformas e ambientes.
  • Desempenho comprovado em benchmarks: Os testes em dispositivos como o Raspberry Pi 5 mostram que os modelos YOLO11 exportados para o formato ExecuTorch funcionam cerca de 2x mais depressa do que os seus homólogos PyTorch, com uma precisão quase idêntica.
  • APIs de integração flexíveis: O ExecuTorch fornece APIs C++, Kotlin e Objective-C para iOS, Android e Linux incorporado, permitindo que os programadores integrem modelos YOLO diretamente em aplicações nativas.
  • Suporte à aceleração de hardware: O ExecuTorch suporta vários backends de aceleração de hardware, incluindo Vulkan e Metal para GPUs móveis, com integração opcional para OpenCL e outras APIs específicas do fornecedor. Ele também pode aproveitar aceleradores dedicados, como NPUs e DSPs, para obter acelerações substanciais em relação à inferência somente da CPU.

Aplicações reais do YOLO11 e da exportação ExecuTorch

Recentemente, a Ultralytics foi reconhecida como uma história de sucesso do PyTorch 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.

Da nuvem para a periferia: Como o ExecuTorch e o YOLO11 dão vida à IA de visão

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.

Fig. 3. Um exemplo de utilização do YOLO11 para analisar uma linha de montagem de fabrico.(Fonte)

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 detetar 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 modelos YOLO do Ultralytics podem ser aplicados:

  • Cidades inteligentes: Ao executar os modelos YOLO11 localmente com o ExecuTorch, as cidades podem tomar decisões mais rápidas e baseadas em dados, desde a deteção de engarrafamentos até à identificação de perigos, melhorando a mobilidade e a segurança em geral.
  • Retalho e armazenamento: Com a inferência no dispositivo, os retalhistas podem automatizar a monitorização das prateleiras, acompanhar o inventário e inspecionar as embalagens de forma rápida e segura, sem depender de ligações à nuvem.
  • Robótica e drones: Os modelos YOLO11 optimizados para as extremidades permitem que os robôs e os drones reconheçam objectos, naveguem em ambientes e tomem decisões em tempo real, mesmo sem acesso à Internet.

Fig. 4. Deteção e contagem de carros no trânsito utilizando o YOLO11(Fonte)

Principais conclusões

A exportação dos 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, o 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.

Vamos construir o futuro
da IA juntos!

Comece sua jornada com o futuro do aprendizado de máquina

Comece gratuitamente
Link copiado para a área de transferência