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

Het NCNN framework, ontwikkeld door Tencent, is een hoogwaardig raamwerk voor neurale netwerkinferenties dat speciaal is geoptimaliseerd voor mobiele platforms, waaronder mobiele telefoons, embedded apparaten en IoT-apparaten. NCNN is compatibel met een groot aantal platforms, waaronder Linux, Android, iOS en 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 van YOLOv8 modellen naar het NCNN formaat, moeten we eerst begrijpen hoe NCNN modellen normaal gesproken worden gebruikt.

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

  • Mobiele inzetbaarheid: Specifiek geoptimaliseerd voor Android en iOS, waardoor naadloze integratie in mobiele applicaties mogelijk is voor efficiĆ«nte inferentie op het apparaat.

  • Ingebedde systemen en IoT-apparaten: Als je ondervindt dat het uitvoeren van inferentie op een Raspberry Pi met de Ultralytics Gids niet snel genoeg is, kan overschakelen naar een NCNN geĆ«xporteerd model helpen om de zaken te versnellen. NCNN is geweldig voor apparaten zoals de Raspberry Pi en de NVIDIA Jetson, vooral in situaties waarin je snelle verwerking direct op het apparaat nodig hebt.

  • 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: Deze blog legt uit hoe je NCNN modellen kunt gebruiken voor het uitvoeren van taken zoals objectdetectie via Android applicaties.

  • 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.



Gemaakt op 2024-03-01, Bijgewerkt op 2024-03-03
Auteurs: glenn-jocher (1), abirami-vina (1)

Reacties