Ir para o conteúdo

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?

Estrutura de inferência de rede neural 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

ArgumentoTipoPadrãoDescrição
formatstr'ncnn'Formato de destino para o modelo exportado, definindo a compatibilidade com vários ambientes de implementação.
imgszint ou tuple640Tamanho 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.
halfboolFalseAtiva a quantização FP16 (meia precisão), reduzindo o tamanho do modelo e potencialmente acelerando a inferência em hardware suportado.
batchint1Especifica 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.
devicestrNoneEspecifica 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 export mé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 export comando.

    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:

  1. Construir para Android: Siga o guia NCNN Build for Android.
  2. 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.



📅 Criado há 1 ano ✏️ Atualizado há 4 dias
glenn-jocherlakshanthadRizwanMunawarFaerbitpderrengerlakshanthadUltralyticsAssistantMatthewNoyceabirami-vina

Comentários