Exportação Ultralytics YOLO NCNN
Implantar modelos de visão computacional em dispositivos com poder computacional limitado, como sistemas móveis ou embarcados, exige uma seleção cuidadosa de formato. Usar um formato otimizado garante que até mesmo dispositivos com recursos limitados possam lidar com tarefas avançadas de visão computacional de forma eficiente.
Exportar para o formato NCNN permite que você otimize seus modelos Ultralytics YOLO26 para aplicações leves baseadas em dispositivos. Este guia aborda como converter seus modelos para o formato NCNN para um desempenho aprimorado em dispositivos móveis e embarcados.
Por que exportar para NCNN?
O framework NCNN, desenvolvido pela Tencent, é um framework de computação de inferência de rede neural de alto desempenho, otimizado 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ápida em CPUs móveis e permite a rápida implantação de modelos de aprendizado profundo em plataformas móveis, tornando-o uma excelente escolha para criar aplicações baseadas em IA.
Principais recursos dos modelos NCNN
Os modelos NCNN oferecem vários recursos principais que permitem o aprendizado de máquina no dispositivo, ajudando os desenvolvedores a implantar modelos em dispositivos móveis, embarcados e de borda (edge):
-
Eficiente e de alto desempenho: Os modelos NCNN são leves e otimizados para dispositivos móveis e embarcados como o Raspberry Pi com recursos limitados, mantendo alta precisão em tarefas de visão computacional.
-
Quantização: O NCNN suporta quantização, uma técnica que reduz a precisão dos pesos e ativações do modelo para melhorar o desempenho e reduzir o consumo de memória.
-
Compatibilidade: Os modelos NCNN são compatíveis com frameworks populares de aprendizado profundo, incluindo TensorFlow, Caffe e ONNX, permitindo que os desenvolvedores aproveitem modelos e fluxos de trabalho existentes.
-
Facilidade de uso: O NCNN fornece ferramentas fáceis de usar para converter modelos entre formatos, garantindo uma interoperabilidade tranquila entre diferentes ambientes de desenvolvimento.
-
Aceleração de GPU Vulkan: O NCNN suporta Vulkan para inferência acelerada por GPU em vários fornecedores, incluindo AMD, Intel e outras GPUs não-NVIDIA, permitindo a implantação de alto desempenho em uma gama mais ampla de hardware.
Opções de implantação com NCNN
Os modelos NCNN são compatíveis com uma variedade de plataformas de implantação:
-
Implantação móvel: Otimizado para Android e iOS, permitindo integração perfeita em aplicações móveis para inferência eficiente no dispositivo.
-
Sistemas embarcados e dispositivos IoT: Ideal para dispositivos com recursos limitados como Raspberry Pi e NVIDIA Jetson. Se a inferência padrão em um Raspberry Pi com o Guia da Ultralytics for insuficiente, o NCNN pode fornecer melhorias de desempenho significativas.
-
Implantação em desktop e servidor: Suporta implantação em Linux, Windows e macOS para fluxos de trabalho de desenvolvimento, treinamento e avaliação.
Aceleração de GPU Vulkan
O NCNN suporta aceleração de GPU através do Vulkan, permitindo inferência de alto desempenho em uma ampla gama de GPUs, incluindo AMD, Intel e outras placas gráficas não-NVIDIA. Isso é particularmente útil para:
- Suporte de GPU entre fornecedores: Ao contrário do CUDA, que é limitado a GPUs NVIDIA, o Vulkan funciona em vários fornecedores de GPU.
- Sistemas multi-GPU: Selecione um dispositivo Vulkan específico em sistemas com múltiplas GPUs usando
device="vulkan:0",device="vulkan:1", etc. - Implantações de borda (edge) e desktop: Aproveite a aceleração de GPU em dispositivos onde o CUDA não está disponível.
Para usar a aceleração Vulkan, especifique o dispositivo Vulkan ao executar a inferência:
from ultralytics import YOLO
# Load the exported NCNN model
ncnn_model = YOLO("./yolo26n_ncnn_model")
# Run inference with Vulkan GPU acceleration (first Vulkan device)
results = ncnn_model("https://ultralytics.com/images/bus.jpg", device="vulkan:0")
# Use second Vulkan device in multi-GPU systems
results = ncnn_model("https://ultralytics.com/images/bus.jpg", device="vulkan:1")Certifique-se de ter os drivers Vulkan instalados para sua GPU. A maioria dos drivers de GPU modernos inclui suporte a Vulkan por padrão. Você pode verificar a disponibilidade do Vulkan usando ferramentas como vulkaninfo no Linux ou o Vulkan SDK no Windows.
Exportar para NCNN: Convertendo seu modelo YOLO26
Você pode expandir a compatibilidade do modelo e a flexibilidade de implantação convertendo modelos YOLO26 para o formato NCNN.
Instalação
Para instalar os pacotes necessários, execute:
# Install the required package for YOLO26
pip install ultralyticsPara instruções detalhadas e práticas recomendadas, consulte o Guia de instalação da Ultralytics. Se encontrar dificuldades, consulte nosso Guia de problemas comuns para soluções.
Utilização
Todos os modelos Ultralytics YOLO26 foram concebidos para suportar a exportação imediata, facilitando a sua integração no teu fluxo de trabalho de implementação preferido. Podes ver a lista completa de formatos de exportação suportados e opções de configuração para escolheres a melhor configuração para a tua aplicação.
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to NCNN format
model.export(format="ncnn") # creates '/yolo26n_ncnn_model'
# Load the exported NCNN model
ncnn_model = YOLO("./yolo26n_ncnn_model")
# Run inference
results = ncnn_model("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 implantação. |
imgsz | int ou tuple | 640 | Desired image size for the model input. Can be an integer for square images or a tuple (height, width) for specific dimensions. |
half | bool | False | Ativa a quantização FP16 (precisão simples), reduzindo o tamanho do modelo e potencialmente acelerando a inferência em 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 processará simultaneamente no modo predict. |
device | str | None | Especifica o dispositivo para exportação: GPU (device=0), CPU (device=cpu), MPS para silício Apple (device=mps). |
Para mais detalhes sobre o processo de exportação, visite a página de documentação da Ultralytics sobre exportação.
Implantando modelos YOLO26 NCNN exportados
Após exportar seus modelos Ultralytics YOLO26 para o formato NCNN, você pode implantá-los usando o método YOLO("yolo26n_ncnn_model/"), como mostrado no exemplo de uso acima. Para instruções de implantação específicas da plataforma, veja os seguintes recursos:
-
Android: Compile e integre modelos NCNN para detecção de objetos em aplicações Android.
-
macOS: Implante modelos NCNN em sistemas macOS.
-
Linux: Implante modelos NCNN em dispositivos Linux, incluindo Raspberry Pi e sistemas embarcados similares.
-
Windows x64: Implante modelos NCNN no Windows x64 usando o Visual Studio.
Resumo
Este guia cobriu a exportação de modelos Ultralytics YOLO26 para o formato NCNN para maior eficiência e velocidade em dispositivos com recursos limitados.
Para obter mais detalhes, consulte a documentação oficial do NCNN. Para outras opções de exportação, visite nossa página de guia de integração.
FAQ
Como exporto modelos Ultralytics YOLO26 para o formato NCNN?
Para exportar seu modelo Ultralytics YOLO26 para o formato NCNN:
-
Python: Use o método
exportda classe YOLO.from ultralytics import YOLO # Load the YOLO26 model model = YOLO("yolo26n.pt") # Export to NCNN format model.export(format="ncnn") # creates '/yolo26n_ncnn_model' -
CLI: Use o comando
yolo export.yolo export model=yolo26n.pt format=ncnn # creates '/yolo26n_ncnn_model'
Para opções detalhadas de exportação, consulte a documentação de Exportação.
Quais são as vantagens de exportar modelos YOLO26 para NCNN?
Exportar seus modelos Ultralytics YOLO26 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 quantização que melhoram a velocidade do modelo e reduzem o uso de memória.
- Ampla compatibilidade: Você pode implantar modelos NCNN em várias plataformas, incluindo Android, iOS, Linux e macOS.
- Aceleração de GPU Vulkan: Aproveite a aceleração de GPU em AMD, Intel e outras GPUs não-NVIDIA via Vulkan para uma inferência mais rápida.
Para mais detalhes, consulte a seção Por que exportar para NCNN?.
Por que devo usar NCNN para minhas aplicações de IA móvel?
O NCNN, desenvolvido pela Tencent, é otimizado especificamente para plataformas móveis. Os principais motivos para usar o NCNN incluem:
- Alto desempenho: Projetado para processamento eficiente e rápido em CPUs móveis.
- Multiplataforma: Compatível com frameworks populares como TensorFlow e ONNX, tornando mais fácil converter e implantar modelos em diferentes plataformas.
- Suporte da comunidade: O suporte ativo da comunidade garante melhorias e atualizações contínuas.
Para mais informações, consulte a seção Principais recursos dos modelos NCNN.
Quais plataformas são suportadas para implantação de modelos NCNN?
O NCNN é versátil e suporta várias plataformas:
- Móvel: Android, iOS.
- Sistemas embarcados e dispositivos IoT: Dispositivos como Raspberry Pi e NVIDIA Jetson.
- Desktop e Servidores: Linux, Windows e macOS.
Para melhor desempenho no Raspberry Pi, considere usar o formato NCNN conforme detalhado em nosso Guia de Raspberry Pi.
Como posso implantar modelos Ultralytics YOLO26 NCNN no Android?
Para implantar seus modelos YOLO26 no Android:
- Compilar para Android: Siga o guia Compilação do NCNN para Android.
- Integrar com sua aplicação: Use o SDK Android do NCNN para integrar o modelo exportado em sua aplicação para uma inferência eficiente no dispositivo.
Para instruções detalhadas, consulte Implantando modelos YOLO26 NCNN exportados.
Para guias mais avançados e casos de uso, visite o guia de implantação da Ultralytics.
Como uso a aceleração de GPU Vulkan com modelos NCNN?
O NCNN suporta Vulkan para aceleração de GPU em AMD, Intel e outras GPUs não-NVIDIA. Para usar Vulkan:
from ultralytics import YOLO
# Load NCNN model and run with Vulkan GPU
model = YOLO("yolo26n_ncnn_model")
results = model("image.jpg", device="vulkan:0") # Use first Vulkan devicePara sistemas multi-GPU, especifique o índice do dispositivo (por exemplo, vulkan:1 para a segunda GPU). Certifique-se de que os drivers Vulkan estejam instalados para sua GPU. Consulte a seção Aceleração de GPU Vulkan para obter mais detalhes.