Exportação Ultralytics YOLO NCNN
A implantação de modelos de visão computacional em dispositivos com poder computacional limitado, como sistemas móveis ou embarcados, requer uma seleção cuidadosa do formato. O uso de um formato otimizado garante que mesmo dispositivos com recursos limitados possam lidar com tarefas avançadas de visão computacional de forma eficiente.
A exportação para o formato NCNN permite otimizar 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?

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.
NCNN é conhecido por sua velocidade de processamento rápida em CPUs móveis e permite a implantação rápida de modelos de deep learning em plataformas móveis, tornando-o uma excelente escolha para a construção de aplicações baseadas em IA.
Principais funcionalidades dos modelos NCNN
Os modelos NCNN oferecem vários recursos chave que permitem o machine learning no dispositivo, ajudando os desenvolvedores a implantar modelos em dispositivos móveis, embarcados e de borda:
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: 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 deep learning, incluindo TensorFlow, Caffe e ONNX, permitindo que os desenvolvedores aproveitem modelos e fluxos de trabalho existentes.
Facilidade de Uso: NCNN oferece ferramentas amigáveis para converter modelos entre formatos, garantindo uma interoperabilidade suave em diferentes ambientes de desenvolvimento.
Aceleração de GPU Vulkan: 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 Implementaçã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 Ultralytics for insuficiente, o NCNN pode proporcionar melhorias significativas de desempenho.
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
NCNN suporta aceleração de GPU via Vulkan, permitindo inferência de alto desempenho em uma ampla gama de GPUs, incluindo placas gráficas AMD, Intel e outras não-NVIDIA. Isso é particularmente útil para:
- Suporte a GPU de Vários 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 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:
Inferência Vulkan
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")
# Run inference with Vulkan GPU acceleration
yolo predict model='./yolo26n_ncnn_model' source='https://ultralytics.com/images/bus.jpg' device=vulkan:0
Requisitos Vulkan
Certifique-se de ter os drivers Vulkan instalados para sua GPU. A maioria dos drivers de GPU modernos inclui suporte Vulkan por padrão. Você pode verificar a disponibilidade do Vulkan usando ferramentas como vulkaninfo no Linux ou o SDK Vulkan 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:
Instalação
# Install the required package for YOLO26
pip install ultralytics
Para instruções detalhadas e melhores práticas, consulte o guia de instalação do Ultralytics. Se você encontrar alguma dificuldade, consulte nosso guia de problemas comuns para soluções.
Utilização
Todos os modelos Ultralytics YOLO26 são projetados para suportar a exportação pronta para uso, facilitando a integração deles em seu fluxo de trabalho de deploy 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 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")
# Export a YOLO26n PyTorch model to NCNN format
yolo export model=yolo26n.pt format=ncnn # creates '/yolo26n_ncnn_model'
# Run inference with the exported model
yolo predict model='./yolo26n_ncnn_model' source='https://ultralytics.com/images/bus.jpg'
Argumentos de Exportação
| Argumento | Tipo | Padrã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 desejado para a entrada do modelo. Pode ser um inteiro para imagens quadradas ou uma tupla (height, width) para dimensões específicas. |
half | bool | False | Ativa a quantização FP16 (meia precisão), reduzindo o tamanho do modelo e potencialmente acelerando a inferência em hardware suportado. |
batch | int | 1 | Especifica o tamanho do lote de inferência do modelo de exportação ou o número máximo de imagens que o modelo exportado processará simultaneamente em predict modo. |
device | str | None | Especifica o dispositivo para exportação: GPU (device=0CPU (device=cpu), MPS para Apple silicon (device=mps). |
Para mais detalhes sobre o processo de exportação, visite a página de documentação da Ultralytics sobre exportação.
Implantação de Modelos YOLO26 NCNN Exportados
Após exportar seus modelos Ultralytics YOLO26 para o formato NCNN, você pode implantá-los utilizando o YOLO("yolo26n_ncnn_model/") método, conforme mostrado no exemplo de uso acima. Para instruções de implantação específicas da plataforma, consulte os seguintes recursos:
Android: Crie e integre modelos NCNN para detecção de objetos em aplicativos Android.
macOS: Implante modelos NCNN em sistemas macOS.
Linux: Implante modelos NCNN em dispositivos Linux, incluindo Raspberry Pi e sistemas embarcados semelhantes.
Windows x64: Implante modelos NCNN no Windows x64 usando o Visual Studio.
Resumo
Este guia abordou a exportação de modelos Ultralytics YOLO26 para o formato NCNN para maior eficiência e velocidade em dispositivos com recursos limitados.
Para detalhes adicionais, consulte a documentação oficial do NCNN. Para outras opções de exportação, visite nossa página do guia de integração.
FAQ
Como exportar modelos Ultralytics YOLO26 para o formato NCNN?
Para exportar seu modelo Ultralytics YOLO26 para o formato NCNN:
Python: Utilize o
exportmétodo da 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: Utilize o
yolo exportcomando.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?
A exportação de 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 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.
- Aceleração de GPU Vulkan: Aproveite a aceleração da GPU em GPUs AMD, Intel e outras não-NVIDIA via Vulkan para inferência mais rápida.
Para mais detalhes, consulte a seção Por que Exportar para NCNN?.
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 mais informações, consulte a seção Principais Recursos dos Modelos NCNN.
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.
Para melhor desempenho no Raspberry Pi, considere usar o formato NCNN, conforme detalhado em nosso Guia do Raspberry Pi.
Como posso implantar modelos Ultralytics YOLO26 NCNN no Android?
Para implantar seus modelos YOLO26 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 instruções detalhadas, consulte Implantação de Modelos YOLO26 NCNN Exportados.
Para guias mais avançados e casos de uso, visite o guia de implantação do Ultralytics.
Como usar a aceleração de GPU Vulkan com modelos NCNN?
NCNN suporta Vulkan para aceleração de GPU em GPUs AMD, Intel e outras não-NVIDIA. Para usar o 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 device
Para 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 o Aceleração de GPU Vulkan seção para obter mais detalhes.