Como Exportar para NCNN do YOLO11 para Implantação Suave
A implementação de modelos de visão computacional em dispositivos com poder computacional limitado, como sistemas móveis ou embarcados, pode ser complicado. Você precisa garantir que usa um formato otimizado para um desempenho ideal. Isso garante que mesmo dispositivos com poder de processamento limitado possam lidar bem com tarefas avançadas de visão computacional.
O recurso de exportação para o formato NCNN permite otimizar seus modelos Ultralytics YOLO11 para aplicações leves baseadas em dispositivos. Neste guia, vamos orientá-lo sobre como converter seus modelos para o formato NCNN, facilitando o bom desempenho de seus modelos em vários dispositivos móveis e embarcados.
Por que você deve exportar para NCNN?
A estrutura NCNN, desenvolvida pela Tencent, é uma estrutura de computação de inferência de rede neural de alto desempenho otimizada especificamente para plataformas móveis, incluindo telefones celulares, dispositivos embarcados e dispositivos IoT. O NCNN é compatível com uma ampla gama de plataformas, incluindo Linux, Android, iOS e macOS.
O NCNN é conhecido por sua velocidade de processamento rápido em CPUs móveis e permite a implantação rápida de modelos de aprendizado profundo em plataformas móveis. Isso facilita a criação de aplicativos inteligentes, colocando o poder da IA ao seu alcance.
Principais funcionalidades dos modelos NCNN
Os modelos NCNN oferecem uma vasta gama de funcionalidades chave que permitem a aprendizagem automática no dispositivo, ajudando os desenvolvedores a executar os seus modelos em dispositivos móveis, incorporados e periféricos:
-
Eficiente e de Alto Desempenho: Os modelos NCNN são feitos para serem eficientes e leves, otimizados para serem executados em dispositivos móveis e embarcados, como o Raspberry Pi, com recursos limitados. Eles também podem atingir alto desempenho com alta precisão em várias tarefas baseadas em visão computacional.
-
Quantização: Os modelos NCNN geralmente suportam a quantização, que é uma técnica que reduz a precisão dos pesos e ativações do modelo. Isso leva a melhorias adicionais no desempenho e reduz a ocupação de memória.
-
Compatibilidade: Os modelos NCNN são compatíveis com frameworks populares de deep learning como TensorFlow, Caffe e ONNX. Essa compatibilidade permite que os desenvolvedores usem modelos e fluxos de trabalho existentes facilmente.
-
Fácil de Usar: Os modelos NCNN são projetados para fácil integração em diversas aplicações, graças à sua compatibilidade com frameworks populares de deep learning. Além disso, o NCNN oferece ferramentas amigáveis para converter modelos entre diferentes formatos, garantindo uma interoperabilidade suave em todo o cenário de desenvolvimento.
Opções de Implementação com NCNN
Antes de analisarmos o código para exportar modelos YOLO11 para o formato NCNN, vamos entender como os modelos NCNN são normalmente usados.
Os modelos NCNN, projetados para eficiência e desempenho, são compatíveis com uma variedade de plataformas de implementação:
-
Implementação Móvel: Especificamente otimizado para Android e iOS, permitindo uma integração perfeita em aplicações móveis para uma inferência eficiente no dispositivo.
-
Sistemas Embarcados e Dispositivos IoT: Se você achar que executar a inferência em um Raspberry Pi com o Guia Ultralytics não é rápido o suficiente, mudar para um modelo exportado NCNN pode ajudar a acelerar as coisas. O NCNN é ótimo para dispositivos como Raspberry Pi e NVIDIA Jetson, especialmente em situações em que você precisa de processamento rápido diretamente no dispositivo.
-
Implantação em Desktop e Servidor: Capaz de ser implantado em ambientes de desktop e servidor em Linux, Windows e macOS, suportando desenvolvimento, treinamento e avaliação com maiores capacidades computacionais.
Exportar para NCNN: Convertendo Seu Modelo YOLO11
Você pode expandir a compatibilidade do modelo e a flexibilidade de implantação convertendo modelos YOLO11 para o formato NCNN.
Instalação
Para instalar os pacotes necessários, execute:
Instalação
# Install the required package for YOLO11
pip install ultralytics
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
Todos os modelos Ultralytics YOLO11 são projetados para suportar a exportação, facilitando a integração em seu fluxo de trabalho de implantação preferido. Você pode visualizar a lista completa de formatos de exportação e opções de configuração suportados para escolher a melhor configuração para sua aplicação.
Utilização
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to NCNN format
model.export(format="ncnn") # creates '/yolo11n_ncnn_model'
# Load the exported NCNN model
ncnn_model = YOLO("./yolo11n_ncnn_model")
# Run inference
results = ncnn_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to NCNN format
yolo export model=yolo11n.pt format=ncnn # creates '/yolo11n_ncnn_model'
# Run inference with the exported model
yolo predict model='./yolo11n_ncnn_model' source='https://ultralytics.com/images/bus.jpg'
Argumentos de Exportação
Argumento | Tipo | Predefinição | Descrição |
---|---|---|---|
format |
str |
'ncnn' |
Formato de destino para o modelo exportado, definindo a compatibilidade com vários ambientes de implementaçã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. |
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. |
device |
str |
None |
Especifica o dispositivo para exportação: GPU (device=0 ), CPU (device=cpu ), MPS para silício Apple (device=mps ). |
Para mais informações sobre o processo de exportação, visite a página de documentaçãoUltralytics sobre exportação.
Implantação de Modelos NCNN YOLO11 Exportados
Após exportar com sucesso seus modelos Ultralytics YOLO11 para o formato NCNN, você já pode implementá-los. O primeiro passo principal e recomendado para executar um modelo NCNN é utilizar o método YOLO("yolo11n_ncnn_model/"), conforme descrito no trecho de código de uso anterior. No entanto, para obter instruções detalhadas sobre como implementar seus modelos NCNN em várias outras configurações, consulte os seguintes recursos:
-
Android: Este blog explica como usar modelos NCNN para realizar tarefas como detecção de objetos por meio de aplicativos Android.
-
macOS: Entenda como usar modelos NCNN para realizar tarefas através do macOS.
-
Linux: Explore esta página para aprender como implantar modelos NCNN em dispositivos com recursos limitados, como Raspberry Pi e outros dispositivos semelhantes.
-
Windows x64 usando VS2017: Explore este blog para aprender como implantar modelos NCNN no Windows x64 usando o Visual Studio Community 2017.
Resumo
Neste guia, abordamos a exportação de modelos Ultralytics YOLO11 para o formato NCNN. Esta etapa de conversão é crucial para melhorar a eficiência e a velocidade dos modelos YOLO11, tornando-os mais eficazes e adequados para ambientes de computação com recursos limitados.
Para obter instruções detalhadas sobre o uso, consulte a documentação oficial do NCNN.
Além disso, se você estiver interessado em explorar outras opções de integração para o Ultralytics YOLO11, visite nossa página do guia de integração para obter mais informações e insights.
FAQ
Como exportar modelos Ultralytics YOLO11 para o formato NCNN?
Para exportar o seu modelo Ultralytics YOLO11 para o formato NCNN, siga estes passos:
-
Python: Utilize o
export
função da classe YOLO.from ultralytics import YOLO # Load the YOLO11 model model = YOLO("yolo11n.pt") # Export to NCNN format model.export(format="ncnn") # creates '/yolo11n_ncnn_model'
-
CLI: Utilize o
yolo
comando com oexport
argumento.yolo export model=yolo11n.pt format=ncnn # creates '/yolo11n_ncnn_model'
Para opções de exportação detalhadas, consulte a página Exportar na documentação.
Quais são as vantagens de exportar modelos YOLO11 para NCNN?
Exportar seus modelos Ultralytics YOLO11 para NCNN oferece vários benefícios:
- Eficiência: Os modelos NCNN são otimizados para dispositivos móveis e embarcados, garantindo alto desempenho mesmo com recursos computacionais limitados.
- Quantização: O NCNN suporta técnicas como a quantização que melhoram a velocidade do modelo e reduzem o uso de memória.
- Ampla Compatibilidade: Você pode implementar modelos NCNN em múltiplas plataformas, incluindo Android, iOS, Linux e macOS.
Para mais detalhes, consulte a seção Exportar para NCNN na documentação.
Por que devo usar o NCNN para meus aplicativos móveis de IA?
O NCNN, desenvolvido pela Tencent, é especificamente otimizado para plataformas móveis. As principais razões para usar o NCNN incluem:
- Alto Desempenho: Projetado para processamento eficiente e rápido em CPUs de dispositivos móveis.
- Multiplataforma: Compatível com frameworks populares como TensorFlow e ONNX, facilitando a conversão e implementação de modelos em diferentes plataformas.
- Suporte da Comunidade: O suporte ativo da comunidade garante melhorias e atualizações contínuas.
Para entender mais, visite a visão geral do NCNN na documentação.
Quais plataformas são suportadas para a implementação de modelos NCNN model deployment?
O NCNN é versátil e suporta várias plataformas:
- Mobile: Android, iOS.
- Sistemas Embarcados e Dispositivos IoT: Dispositivos como Raspberry Pi e NVIDIA Jetson.
- Desktop e Servidores: Linux, Windows e macOS.
Se executar modelos num Raspberry Pi não for suficientemente rápido, converter para o formato NCNN pode acelerar as coisas, conforme detalhado no nosso Guia do Raspberry Pi.
Como posso implantar modelos Ultralytics YOLO11 NCNN no Android?
Para implementar os seus modelos YOLO11 no Android:
- Construir para Android: Siga o guia NCNN Build for Android.
- Integre com Seu Aplicativo: Use o NCNN Android SDK para integrar o modelo exportado em seu aplicativo para uma inferência eficiente no dispositivo.
Para obter instruções passo a passo, consulte nosso guia sobre Implantação de Modelos YOLO11 NCNN.
Para mais guias avançados e casos de uso, visite a página de documentação da Ultralytics.