Overslaan naar inhoud

Hoe exporteren naar NCNN vanuit YOLOv8 voor een soepele implementatie

Het implementeren van computervisie modellen op apparaten met beperkte rekenkracht, zoals mobiele of embedded systemen, kan lastig zijn. Je moet ervoor zorgen dat je een formaat gebruikt dat geoptimaliseerd is voor optimale prestaties. Dit zorgt ervoor dat zelfs apparaten met beperkte rekenkracht geavanceerde computervisietaken goed aankunnen.

Met de functie exporteren naar het formaat NCNN kun je je Ultralytics YOLOv8 modellen optimaliseren voor lichtgewicht apparaattoepassingen. In deze handleiding laten we je zien hoe je je modellen kunt converteren naar het NCNN formaat, zodat je modellen beter presteren op verschillende mobiele en embedded apparaten.

Waarom zou je exporteren naar NCNN?

NCNN overzicht

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 staat bekend om zijn hoge verwerkingssnelheid op mobiele CPU's en maakt een snelle inzet van deep learning-modellen op mobiele platforms mogelijk. Dit maakt het eenvoudiger om slimme apps te bouwen, waardoor de kracht van AI binnen handbereik komt.

Belangrijkste kenmerken van NCNN modellen

NCNN modellen bieden een groot aantal belangrijke functies die on-device machine learning mogelijk maken door ontwikkelaars te helpen hun modellen uit te voeren op mobiele, embedded en edge apparaten:

  • EfficiĆ«nt en hoge prestaties: NCNN modellen zijn gemaakt om efficiĆ«nt en licht te zijn, geoptimaliseerd om te draaien op mobiele en embedded apparaten zoals Raspberry Pi met beperkte bronnen. Ze kunnen ook hoge prestaties leveren met een hoge nauwkeurigheid op verschillende computer vision-gebaseerde taken.

  • Kwantisering: NCNN modellen ondersteunen vaak kwantisering, een techniek die de precisie van de gewichten en activeringen van het model vermindert. Dit leidt tot verdere prestatieverbeteringen en vermindert de geheugenvoetafdruk.

  • Compatibiliteit: NCNN modellen zijn compatibel met populaire deep learning frameworks zoals TensorFlowCaffe en ONNX. Dankzij deze compatibiliteit kunnen ontwikkelaars bestaande modellen en workflows eenvoudig gebruiken.

  • Gebruiksvriendelijk: NCNN modellen zijn ontworpen voor eenvoudige integratie in verschillende toepassingen, dankzij hun compatibiliteit met populaire deep learning frameworks. Daarnaast biedt NCNN gebruiksvriendelijke tools voor het converteren van modellen tussen verschillende formaten, waardoor een soepele interoperabiliteit in het hele ontwikkellandschap wordt gegarandeerd.

Inzetmogelijkheden met NCNN

Voordat we kijken naar de code voor het exporteren YOLOv8 modellen naar de NCNN formaat, laten we eens kijken hoe NCNN modellen worden normaal gesproken gebruikt.

NCNN De modellen, ontworpen voor efficiƫntie en prestaties, zijn compatibel met verschillende implementatieplatforms:

  • Mobile Deployment: Specifically optimized for Android and iOS, allowing for seamless integration into mobile applications for efficient on-device inference.

  • Embedded Systems and IoT Devices: If you find that running inference on a Raspberry Pi with the Ultralytics Guide isn't fast enough, switching to an NCNN exported model could help speed things up. NCNN is great for devices like Raspberry Pi and NVIDIA Jetson, especially in situations where you need quick processing right on the device.

  • Desktop en server inzetbaarheid: Kan worden ingezet in desktop- en serveromgevingen voor Linux, Windows en macOS, ter ondersteuning van ontwikkeling, training en evaluatie met hogere rekencapaciteiten.

Exporteren naar NCNN: Je model YOLOv8 converteren

Je kunt modelcompatibiliteit en inzetflexibiliteit uitbreiden door YOLOv8 modellen te converteren naar NCNN formaat.

Installatie

Voer het volgende uit om de vereiste pakketten te installeren:

Installatie

# Install the required package for YOLOv8
pip install ultralytics

Bekijk voor gedetailleerde instructies en best practices met betrekking tot het installatieproces onze Ultralytics Installatiegids. Als je tijdens de installatie van de vereiste pakketten voor YOLOv8 problemen tegenkomt, raadpleeg dan onze gids Veelgestelde problemen voor oplossingen en tips.

Gebruik

Voordat je in de gebruiksinstructies duikt, is het belangrijk om op te merken dat alle Ultralytics YOLOv8 modellen beschikbaar zijn voor exporteren, maar dat je hier kunt controleren of het model dat je kiest de exportfunctionaliteit ondersteunt.

Gebruik

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

# Export the model to NCNN format
model.export(format="ncnn")  # creates '/yolov8n_ncnn_model'

# Load the exported NCNN model
ncnn_model = YOLO("./yolov8n_ncnn_model")

# Run inference
results = ncnn_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to NCNN format
yolo export model=yolov8n.pt format=ncnn  # creates '/yolov8n_ncnn_model'

# Run inference with the exported model
yolo predict model='./yolov8n_ncnn_model' source='https://ultralytics.com/images/bus.jpg'

Ga voor meer informatie over ondersteunde exportopties naar de Ultralytics documentatiepagina over implementatieopties.

Geƫxporteerde YOLOv8 NCNN modellen inzetten

Na het succesvol exporteren van je Ultralytics YOLOv8 modellen naar NCNN formaat, kun je ze nu implementeren. De primaire en aanbevolen eerste stap voor het uitvoeren van een NCNN model is het gebruik van de YOLO("./model_ncnn_model") methode, zoals beschreven in het vorige codefragment. Voor diepgaande instructies over het uitrollen van je NCNN modellen in verschillende andere instellingen, kun je een kijkje nemen in de volgende bronnen:

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

  • macOS: Begrijpen hoe je NCNN modellen kunt gebruiken voor het uitvoeren van taken via macOS.

  • Linux: Verken deze pagina om te leren hoe je NCNN modellen kunt implementeren op apparaten met beperkte bronnen, zoals Raspberry Pi en andere soortgelijke apparaten.

  • Windows x64 met VS2017: Verken deze blog om te leren hoe je NCNN modellen kunt implementeren op Windows x64 met behulp van Visual Studio Community 2017.

Samenvatting

In deze gids hebben we het exporteren van Ultralytics YOLOv8 modellen naar het NCNN formaat besproken. Deze conversiestap is cruciaal voor het verbeteren van de efficiƫntie en snelheid van YOLOv8 modellen, waardoor ze effectiever worden en geschikt zijn voor rekenomgevingen met beperkte middelen.

Raadpleeg de officiƫle NCNN documentatie voor gedetailleerde instructies over het gebruik.

Als je geĆÆnteresseerd bent in andere integratieopties voor Ultralytics YOLOv8 , bezoek dan zeker onze integratiegidspagina voor meer inzichten en informatie.

FAQ

Hoe exporteer ik Ultralytics YOLOv8 modellen naar NCNN formaat?

Voer de volgende stappen uit om je Ultralytics YOLOv8 model te exporteren naar NCNN formaat:

  • Python: Gebruik de export functie van de klasse YOLO .

    from ultralytics import YOLO
    
    # Load the YOLOv8 model
    model = YOLO("yolov8n.pt")
    
    # Export to NCNN format
    model.export(format="ncnn")  # creates '/yolov8n_ncnn_model'
    
  • CLI: Gebruik de yolo commando met de export argument.

    yolo export model=yolov8n.pt format=ncnn  # creates '/yolov8n_ncnn_model'
    

Kijk voor gedetailleerde exportopties op de pagina Exporteren in de documentatie.

Wat zijn de voordelen van het exporteren van YOLOv8 modellen naar NCNN?

Het exporteren van je Ultralytics YOLOv8 modellen naar NCNN biedt verschillende voordelen:

  • EfficiĆ«ntie: NCNN modellen zijn geoptimaliseerd voor mobiele en embedded apparaten, waardoor hoge prestaties gegarandeerd zijn, zelfs met beperkte rekenkracht.
  • Kwantisering: NCNN ondersteunt technieken zoals kwantisering die de snelheid van het model verbeteren en het geheugengebruik verminderen.
  • Broad Compatibility: You can deploy NCNN models on multiple platforms, including Android, iOS, Linux, and macOS.

Zie voor meer details de sectie Exporteren naar NCNN in de documentatie.

Waarom zou ik NCNN gebruiken voor mijn mobiele AI-toepassingen?

NCNN, ontwikkeld door Tencent, is speciaal geoptimaliseerd voor mobiele platforms. De belangrijkste redenen om NCNN te gebruiken zijn:

  • Hoge prestaties: Ontworpen voor efficiĆ«nte en snelle verwerking op mobiele CPU's.
  • Platformoverschrijdend: Compatibel met populaire frameworks zoals TensorFlow en ONNX, waardoor het eenvoudiger wordt om modellen te converteren en in te zetten op verschillende platforms.
  • Gemeenschapsondersteuning: Actieve ondersteuning van de community zorgt voor voortdurende verbeteringen en updates.

Ga voor meer informatie naar NCNN in de documentatie.

Welke platforms worden ondersteund voor de implementatie van het NCNN model?

NCNN is veelzijdig en ondersteunt verschillende platforms:

  • Mobile: Android, iOS.
  • Embedded Systems and IoT Devices: Devices like Raspberry Pi and NVIDIA Jetson.
  • Desktop en servers: Linux, Windows en macOS.

Als het uitvoeren van modellen op een Raspberry Pi niet snel genoeg is, dan kan het converteren naar het NCNN formaat de dingen versnellen zoals beschreven in onze Raspberry Pi-gids.

Hoe kan ik Ultralytics YOLOv8 NCNN modellen inzetten op Android?

Om je YOLOv8 modellen in te zetten op Android:

  1. Build for Android: Follow the NCNN Build for Android guide.
  2. Integrate with Your App: Use the NCNN Android SDK to integrate the exported model into your application for efficient on-device inference.

Raadpleeg voor stapsgewijze instructies onze handleiding over het implementeren van YOLOv8 NCNN modellen.

Ga voor meer geavanceerde gidsen en gebruikssituaties naar de Ultralytics documentatiepagina.



Aangemaakt 2024-03-01, Bijgewerkt 2024-07-05
Auteurs: glenn-jocher (6), abirami-vina (1)

Reacties