Salta para o conteúdo

How to Export to NCNN from YOLO11 for Smooth Deployment

Deploying computer vision models on devices with limited computational power, such as mobile or embedded systems, can be tricky. You need to make sure you use a format optimized for optimal performance. This makes sure that even devices with limited processing power can handle advanced computer vision tasks well.

The export to NCNN format feature allows you to optimize your Ultralytics YOLO11 models for lightweight device-based applications. In this guide, we'll walk you through how to convert your models to the NCNN format, making it easier for your models to perform well on various mobile and embedded devices.

Por que razão deves exportar para NCNN?

NCNN visão geral

The NCNN framework, developed by Tencent, is a high-performance neural network inference computing framework optimized specifically for mobile platforms, including mobile phones, embedded devices, and IoT devices. NCNN is compatible with a wide range of platforms, including Linux, Android, iOS, and macOS.

NCNN is known for its fast processing speed on mobile CPUs and enables rapid deployment of deep learning models to mobile platforms. This makes it easier to build smart apps, putting the power of AI right at your fingertips.

Principais características dos modelos NCNN

NCNN models offer a wide range of key features that enable on-device machine learning by helping developers run their models on mobile, embedded, and edge devices:

  • Efficient and High-Performance: NCNN models are made to be efficient and lightweight, optimized for running on mobile and embedded devices like Raspberry Pi with limited resources. They can also achieve high performance with high accuracy on various computer vision-based tasks.

  • Quantization: NCNN models often support quantization which is a technique that reduces the precision of the model's weights and activations. This leads to further improvements in performance and reduces memory footprint.

  • 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, garantindo uma interoperabilidade suave em todo o cenário de desenvolvimento.

Opções de implantação com NCNN

Before we look at the code for exporting YOLO11 models to the NCNN format, let's understand how NCNN models are normally used.

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 achares que executar a inferência num Raspberry Pi com o guiaUltralytics não é suficientemente rápido, mudar para um modelo exportado para NCNN pode ajudar a acelerar as coisas. NCNN é ótimo para dispositivos como o Raspberry Pi e o NVIDIA Jetson, especialmente em situações em que precisas de um 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.

Export to NCNN: Converting Your YOLO11 Model

You can expand model compatibility and deployment flexibility by converting YOLO11 models to NCNN format.

Instalação

Para instalar os pacotes necessários, executa:

Instalação

# Install the required package for YOLO11
pip install ultralytics

For detailed instructions and best practices related to the installation process, check our Ultralytics Installation guide. While installing the required packages for YOLO11, if you encounter any difficulties, consult our Common Issues guide for solutions and tips.

Utilização

Before diving into the usage instructions, it's important to note that while all Ultralytics YOLO11 models are available for exporting, you can ensure that the model you select supports export functionality here.

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, visita a página de documentaçãoUltralytics sobre opções de implementação.

Deploying Exported YOLO11 NCNN Models

After successfully exporting your Ultralytics YOLO11 models to NCNN format, you can now deploy them. The primary and recommended first step for running a NCNN model is to utilize the YOLO("./model_ncnn_model") method, as outlined in the previous usage code snippet. However, for in-depth instructions on deploying your NCNN models in various other settings, take a look at the following resources:

  • Android: This blog explains how to use NCNN models for performing tasks like object detection through Android applications.

  • macOS: Compreende como utilizar os modelos NCNN para executar tarefas através do macOS.

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

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

Resumo

In this guide, we've gone over exporting Ultralytics YOLO11 models to the NCNN format. This conversion step is crucial for improving the efficiency and speed of YOLO11 models, making them more effective and suitable for limited-resource computing environments.

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

Also, if you're interested in exploring other integration options for Ultralytics YOLO11, be sure to visit our integration guide page for further insights and information.

FAQ

How do I export Ultralytics YOLO11 models to NCNN format?

To export your Ultralytics YOLO11 model to NCNN format, follow these steps:

  • Python: Utiliza o botã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: Utiliza o botão yolo com o comando export argumenta.

    yolo export model=yolo11n.pt format=ncnn  # creates '/yolo11n_ncnn_model'
    

Para opções de exportação detalhadas, consulta a página Exportar na documentação.

What are the advantages of exporting YOLO11 models to NCNN?

Exporting your Ultralytics YOLO11 models to NCNN offers several benefits:

  • 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.
  • Compatibilidade ampla: Podes implementar os modelos NCNN em várias plataformas, incluindo Android, iOS, Linux e macOS.

Para obter mais detalhes, consulta 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 utilizares o NCNN incluem:

  • Alto desempenho: Concebido para um processamento eficiente e rápido em CPUs móveis.
  • Cross-Platform: Compatible with popular frameworks such as TensorFlow and ONNX, making it easier to convert and deploy models across different platforms.
  • Apoio da comunidade: O apoio ativo da comunidade assegura melhorias e actualizações contínuas.

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

What platforms are supported for NCNN model deployment?

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 as coisas, conforme descrito no nosso Guia do Raspberry Pi.

How can I deploy Ultralytics YOLO11 NCNN models on Android?

To deploy your YOLO11 models on Android:

  1. Constrói para Android: Segue o guia NCNN Build for Android.
  2. Integrar com a tua aplicação: Utiliza o NCNN Android SDK para integrar o modelo exportado na tua aplicação para uma inferência eficiente no dispositivo.

For step-by-step instructions, refer to our guide on Deploying YOLO11 NCNN Models.

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

📅 Created 7 months ago ✏️ Updated 22 days ago

Comentários