Link to this sectionExportação NCNN do Ultralytics YOLO#
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 mesmo dispositivos com recursos limitados consigam lidar com tarefas avançadas de visão computacional de forma eficiente.
Exportar para o formato NCNN permite otimizar seus modelos Ultralytics YOLO26 para aplicações leves em dispositivos. Este guia aborda como converter seus modelos para o formato NCNN visando um desempenho melhorado em dispositivos móveis e embarcados.
Link to this sectionPor que exportar para NCNN?#
O framework NCNN, desenvolvido pela Tencent, é um framework de computação de inferência de redes neurais de alto desempenho, otimizado especificamente para plataformas móveis, incluindo 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 implantação rápida de modelos de deep learning em plataformas móveis, tornando-o uma excelente escolha para criar aplicações baseadas em IA.
Link to this sectionPrincipais recursos dos modelos NCNN#
Os modelos NCNN oferecem vários recursos principais que permitem machine learning no próprio dispositivo, ajudando 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 ao mesmo tempo uma 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 deep learning, 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 suave em 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 que não sejam da NVIDIA, permitindo uma implantação de alto desempenho em uma gama mais ampla de hardware.
Link to this sectionOpçõ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 uma 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 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.
Link to this sectionAceleração de GPU Vulkan#
O NCNN suporta aceleração de GPU por meio do Vulkan, permitindo inferência de alto desempenho em uma ampla gama de GPUs, incluindo AMD, Intel e outras placas de vídeo que não sejam NVIDIA. Isso é particularmente útil para:
- Suporte a GPU de vários fornecedores: Diferente 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 várias 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:
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 ao Vulkan por padrão. Você pode verificar a disponibilidade do Vulkan usando ferramentas como vulkaninfo no Linux ou o Vulkan SDK no Windows.
Link to this sectionExportar 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.
Link to this sectionTarefas Suportadas#
A exportação NCNN suporta o conjunto de tarefas padrão do Ultralytics YOLO26.
| Tarefa | Suportado |
|---|---|
| Detecção de Objetos | ✅ |
| Segmentação de Instância | ✅ |
| Segmentação Semântica | ✅ |
| Estimativa de Pose | ✅ |
| Detecção OBB | ✅ |
| Classificação | ✅ |
Link to this sectionInstalaçã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 do Ultralytics. Se encontrar dificuldades, consulte nosso guia de problemas comuns para obter soluções.
Link to this sectionUso#
Todos os modelos Ultralytics YOLO26 são projetados para suportar exportação pronta para uso, facilitando a integração no seu fluxo de trabalho de implantação preferido. Você pode ver a lista completa de formatos de exportação suportados e opções de configuração para escolher a melhor configuração para sua aplicação.
O formato NCNN suporta os modos Exportar, Prever e Validar. Exporte seu modelo e, em seguida, carregue o modelo exportado para executar a inferência ou validar sua precisão.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to NCNN format
model.export(format="ncnn") # creates '/yolo26n_ncnn_model'from ultralytics import YOLO
# Load the exported NCNN model
model = YOLO("./yolo26n_ncnn_model")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported NCNN model
model = YOLO("./yolo26n_ncnn_model")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")Link to this sectionArgumentos 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 implantação. |
imgsz | int ou tuple | 640 | Tamanho de imagem desejado 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 | Habilita 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 do Ultralytics sobre exportação.
Link to this sectionImplantando modelos NCNN do YOLO26 exportados#
Após exportar seus modelos Ultralytics YOLO26 para o formato NCNN, você pode implantá-los usando o método YOLO("yolo26n_ncnn_model/") conforme mostrado no exemplo de uso acima. Para instruções de implantação específicas da plataforma, consulte os seguintes recursos:
-
Android: Construa 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.
Link to this sectionResumo#
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 de guia de integração.
Link to this sectionFAQ#
Link to this sectionComo 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 a 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.
Link to this sectionQuais 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 GPUs AMD, Intel e outras não-NVIDIA via Vulkan para uma inferência mais rápida.
Para mais detalhes, consulte a seção Por que exportar para NCNN?.
Link to this sectionPor que devo usar o NCNN para minhas aplicações móveis de IA?#
O NCNN, desenvolvido pela Tencent, é especificamente otimizado 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, facilitando a conversão e implantaçã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.
Link to this sectionQuais plataformas são suportadas para a implantação de modelo 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 Raspberry Pi.
Link to this sectionComo 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.
- Integrar ao seu aplicativo: Use o NCNN Android SDK para integrar o modelo exportado em sua aplicação para uma inferência eficiente no dispositivo.
Para instruções detalhadas, consulte Implantando modelos NCNN do YOLO26 exportados.
Para guias mais avançados e casos de uso, visite o guia de implantação da Ultralytics.
Link to this sectionComo uso a aceleração de GPU Vulkan com modelos NCNN?#
O NCNN suporta Vulkan para aceleração de GPU em GPUs AMD, Intel e outras que não sejam 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 com várias GPUs, 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.