Saltar para o conteúdo

Como exportar para NCNN a partir de YOLO11 para uma implementação sem problemas

A implementação de modelos de visão por computador em dispositivos com poder computacional limitado, como sistemas móveis ou incorporados, pode ser complicada. É necessário certificar-se de que utiliza um formato optimizado para um desempenho ótimo. Isso garante que mesmo dispositivos com poder de processamento limitado possam lidar bem com tarefas avançadas de visão computacional.

A funcionalidade de exportação para o formato NCNN permite-lhe otimizar os seus Ultralytics YOLO11 modelos para aplicações leves baseadas em dispositivos. Neste guia, iremos explicar-lhe como converter os seus modelos para o formato NCNN , facilitando o desempenho dos seus modelos em vários dispositivos móveis e incorporados.

Porque é que deve exportar para NCNN?

NCNN visão geral

O NCNN desenvolvido pela Tencent, é uma estrutura de computação de inferência de rede neural de alto desempenho optimizada especificamente para plataformas móveis, incluindo telemóveis, dispositivos incorporados e dispositivos IoT. O NCNN é compatível com uma vasta gama de plataformas, incluindo Linux, Android, iOS e macOS.

NCNN é conhecido pela sua rápida velocidade de processamento em CPUs móveis e permite a rápida implementação de modelos de aprendizagem profunda em plataformas móveis. Isto facilita a criação de aplicações inteligentes, colocando o poder da IA na ponta dos dedos.

Principais caraterísticas dos modelos NCNN

NCNN oferecem uma vasta gama de funcionalidades essenciais que permitem a aprendizagem automática no dispositivo, ajudando os programadores a executar os seus modelos em dispositivos móveis, incorporados e periféricos:

  • Eficiente e de elevado desempenho: os modelos NCNN foram concebidos para serem eficientes e leves, optimizados para serem executados em dispositivos móveis e incorporados, como o Raspberry Pi, com recursos limitados. Podem também alcançar um elevado desempenho com elevada precisão em várias tarefas baseadas na visão por computador.

  • Quantização: os modelos NCNN suportam frequentemente a quantização, que é uma técnica que reduz a precisão dos pesos e activações do modelo. Isto conduz a melhorias adicionais no desempenho e reduz o consumo de memória.

  • Compatibilidade: os modelos NCNN são compatíveis com estruturas populares de aprendizagem profunda como TensorFlowCaffe, e ONNX. Esta compatibilidade permite que os programadores utilizem facilmente modelos e fluxos de trabalho existentes.

  • Fácil de utilizar: os modelos NCNN foram concebidos para uma fácil integração em várias aplicações, graças à sua compatibilidade com estruturas populares de aprendizagem profunda. Além disso, o NCNN oferece ferramentas fáceis de utilizar para converter modelos entre diferentes formatos, assegurando uma interoperabilidade suave em todo o cenário de desenvolvimento.

Opções de implantação com NCNN

Antes de analisarmos o código para exportar os modelos YOLO11 para o formato NCNN , vamos entender como os modelos NCNN são normalmente utilizados.

NCNN concebidos para eficiência e desempenho, são compatíveis com uma variedade de plataformas de implementação:

  • Implementação móvel: Especificamente optimizado para Android e iOS, permitindo uma integração perfeita em aplicações móveis para uma inferência eficiente no dispositivo.

  • Sistemas incorporados e dispositivos IoT: Se você achar que executar a inferência em um Raspberry Pi com o GuiaUltralytics não é rápido o suficiente, mudar para um modelo exportado NCNN pode ajudar a acelerar as coisas. 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.

  • Implementação em ambiente de trabalho e servidor: Capaz de ser implantado em ambientes de desktop e servidor em Linux, Windows e macOS, suportando desenvolvimento, treinamento e avaliação com capacidades computacionais mais altas.

Exportar para NCNN: Conversão do modelo YOLO11

Pode expandir a compatibilidade de modelos e a flexibilidade de implementação convertendo os 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

Antes de se debruçar sobre as instruções de utilização, é importante notar que, embora todos os modelos deUltralytics YOLO11 estejam disponíveis para exportação, pode certificar-se de que o modelo selecionado suporta a funcionalidade de exportação aqui.

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'

Para obter mais detalhes sobre as opções de exportação suportadas, visite a página de documentaçãoUltralytics sobre opções de implantação.

Implantação de modelos exportados YOLO11 NCNN

Depois de exportar com êxito os modelos Ultralytics YOLO11 para o formato NCNN , agora é possível implantá-los. A primeira etapa principal e recomendada para executar um modelo NCNN é utilizar o método YOLO("./model_ncnn_model"), conforme descrito no trecho de código de uso anterior. No entanto, para obter instruções detalhadas sobre a implantação dos modelos NCNN em várias outras configurações, consulte os seguintes recursos:

  • Android: Este blogue explica como utilizar os modelos NCNN para realizar tarefas como a deteção de objectos através das aplicações Android .

  • macOS: Compreender como utilizar os modelos NCNN para efetuar tarefas através do macOS.

  • Linux: Explore esta página para saber como implementar modelos NCNN em dispositivos com recursos limitados, como o Raspberry Pi e outros dispositivos semelhantes.

  • Windows x64 usando o VS2017: Explore este blogue para saber como implementar modelos NCNN no Windows x64 utilizando o Visual Studio Community 2017.

Resumo

Neste guia, analisámos a exportação de modelos Ultralytics YOLO11 para o formato NCNN . Este passo de conversão é crucial para melhorar a eficiência e a velocidade dos modelos YOLO11 , tornando-os mais eficazes e adequados para ambientes informáticos com recursos limitados.

Para obter instruções pormenorizadas sobre a utilização, consulte a documentação oficial NCNN .

Além disso, se estiver interessado em explorar outras opções de integração para Ultralytics YOLO11 , não se esqueça de visitar a nossa página de guia de integração para obter mais informações.

FAQ

Como é que exporto modelos Ultralytics YOLO11 para o formato NCNN ?

Para exportar o seu modelo Ultralytics YOLO11 para o formato NCNN , siga estes passos:

  • Python: Utilizar o export 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: Utilizar o yolo com o comando export 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 os seus modelos Ultralytics YOLO11 para NCNN oferece várias vantagens:

  • Eficiência: os modelos NCNN são optimizados para dispositivos móveis e incorporados, garantindo um elevado desempenho mesmo com recursos computacionais limitados.
  • Quantização: NCNN suporta técnicas como a quantização que melhoram a velocidade do modelo e reduzem a utilização da memória.
  • Ampla compatibilidade: É possível implementar os modelos NCNN em várias plataformas, incluindo Android, iOS, Linux e macOS.

Para obter mais detalhes, consulte a secção Exportar para NCNN na documentação.

Por que razão devo utilizar NCNN para as minhas aplicações móveis de IA?

NCNN, desenvolvido pela Tencent, está especificamente optimizado para plataformas móveis. As principais razões para utilizar o NCNN incluem:

  • Alto desempenho: Concebido para um processamento eficiente e rápido em CPUs móveis.
  • Multiplataforma: Compatível com frameworks populares, como TensorFlow e ONNX, facilitando a conversão e a implantação de modelos em diferentes plataformas.
  • Suporte da comunidade: O apoio ativo da comunidade assegura melhorias e actualizações contínuas.

Para saber mais, visite a visão geralNCNN na documentação.

Que plataformas são suportadas para aimplementação do modelo NCNN ?

NCNN é versátil e suporta várias plataformas:

  • Telemóvel: Android, iOS.
  • Sistemas incorporados e dispositivos IoT: Dispositivos como o Raspberry Pi e o NVIDIA Jetson.
  • Desktop e servidores: Linux, Windows e macOS.

Se a execução de modelos num Raspberry Pi não for suficientemente rápida, a conversão para o formato NCNN pode acelerar o processo, conforme descrito no nosso Guia do Raspberry Pi.

Como posso implementar Ultralytics YOLO11 NCNN modelos em Android?

Para implementar os seus modelos YOLO11 em Android:

  1. Construir para Android: Siga o guia NCNN Build for Android.
  2. Integrar com a sua aplicação: Utilize o SDK NCNN Android para integrar o modelo exportado na sua aplicação para uma inferência eficiente no dispositivo.

Para obter instruções passo a passo, consulte o nosso guia sobre Implantação de modelos YOLO11 NCNN .

Para obter guias e casos de utilização mais avançados, visite a página de documentaçãoUltralytics .

📅C riado há 8 meses ✏️ Atualizado há 1 mês

Comentários