Overslaan naar inhoud

YOLOv8 Model exporteren naar TorchScript voor snelle implementatie

Het inzetten van computervisiemodellen in verschillende omgevingen, waaronder embedded systemen, webbrowsers of platforms met beperkte ondersteuning voor Python , vereist een flexibele en draagbare oplossing. TorchScript richt zich op draagbaarheid en de mogelijkheid om modellen uit te voeren in omgevingen waar het volledige Python framework niet beschikbaar is. Dit maakt het ideaal voor scenario's waarbij je computervisie mogelijkheden moet inzetten op verschillende apparaten of platformen.

Exporteer naar Torchscript om je Ultralytics YOLOv8 modellen te serialiseren voor cross-platform compatibiliteit en gestroomlijnde implementatie. In deze handleiding laten we je zien hoe je je YOLOv8 modellen kunt exporteren naar het TorchScript formaat, zodat je ze gemakkelijker kunt gebruiken in een groter aantal toepassingen.

Waarom zou je exporteren naar TorchScript?

Torchscript Overzicht

Ontwikkeld door de makers van PyTorch, is TorchScript een krachtig hulpmiddel voor het optimaliseren en inzetten van PyTorch modellen op verschillende platforms. Het exporteren van YOLOv8 modellen naar TorchScript is cruciaal voor de overgang van onderzoek naar echte toepassingen. TorchScript, onderdeel van het PyTorch framework, helpt deze overgang soepeler te laten verlopen door PyTorch modellen te laten gebruiken in omgevingen die Python niet ondersteunen.

Het proces bestaat uit twee technieken: tracing en scripting. Tracing registreert bewerkingen tijdens het uitvoeren van modellen, terwijl scripting het mogelijk maakt om modellen te definiƫren met behulp van een subset van Python. Deze technieken zorgen ervoor dat modellen zoals YOLOv8 ook buiten hun gebruikelijke Python omgeving hun magie kunnen blijven doen.

TorchScript Script en traceren

TorchScript Modellen kunnen ook worden geoptimaliseerd door technieken zoals operator fusie en verfijningen in geheugengebruik, waardoor een efficiĆ«nte uitvoering wordt gegarandeerd. Een ander voordeel van exporteren naar TorchScript is de mogelijkheid om de uitvoering van modellen op verschillende hardwareplatforms te versnellen. Het creĆ«ert een standalone, productieklare representatie van je PyTorch model dat kan worden geĆÆntegreerd in C++ omgevingen, embedded systemen of ingezet in web- of mobiele applicaties.

Belangrijkste kenmerken van TorchScript modellen

TorchScript, een belangrijk onderdeel van het PyTorch ecosysteem, biedt krachtige functies voor het optimaliseren en inzetten van deep learning modellen.

TorchScript Kenmerken

Hier zijn de belangrijkste functies die TorchScript tot een waardevol hulpmiddel voor ontwikkelaars maken:

  • Statische grafiekuitvoering: TorchScript gebruikt een statische grafiekrepresentatie van de modelberekening, die verschilt van PyTorch's dynamische grafiekuitvoering. Bij statische grafische uitvoering wordt de computationele grafiek Ć©Ć©n keer gedefinieerd en gecompileerd voor de daadwerkelijke uitvoering, wat leidt tot betere prestaties tijdens de inferentie.

  • Modelserialisatie: TorchScript stelt je in staat om PyTorch modellen te serialiseren in een platformonafhankelijk formaat. Geserialiseerde modellen kunnen worden geladen zonder dat de originele Python code nodig is, waardoor implementatie in verschillende runtime-omgevingen mogelijk is.

  • JIT Compilatie: TorchScript gebruikt Just-In-Time (JIT) compilatie om PyTorch modellen om te zetten in een geoptimaliseerde tussenrepresentatie. JIT compileert de computationele grafiek van het model, waardoor efficiĆ«nte uitvoering op doelapparaten mogelijk is.

  • Integratie met andere talen: Met TorchScript kun je PyTorch modellen exporteren naar andere talen zoals C++, Java en JavaScript. Dit maakt het eenvoudiger om PyTorch modellen te integreren in bestaande softwaresystemen die in andere talen zijn geschreven.

  • Geleidelijke conversie: TorchScript biedt een geleidelijke conversie aanpak, waardoor je stapsgewijs delen van je PyTorch model kunt converteren naar TorchScript. Deze flexibiliteit is vooral handig bij complexe modellen of wanneer je specifieke delen van de code wilt optimaliseren.

Inzetmogelijkheden in TorchScript

Voordat we kijken naar de code voor het exporteren YOLOv8 modellen naar de TorchScript formaat, laten we begrijpen waar TorchScript modellen worden normaal gesproken gebruikt.

TorchScript biedt verschillende inzetmogelijkheden voor modellen voor machinaal leren, zoals:

  • C++ API: De meest gebruikte toepassing voor TorchScript is de C++ API, waarmee je geoptimaliseerde TorchScript modellen direct kunt laden en uitvoeren binnen C++ toepassingen. Dit is ideaal voor productieomgevingen waar Python mogelijk niet geschikt of beschikbaar is. De C++ API biedt een low-overhead en efficiĆ«nte uitvoering van TorchScript modellen, waardoor het prestatiepotentieel wordt gemaximaliseerd.

  • Mobile Deployment: TorchScript biedt hulpmiddelen om modellen te converteren naar formaten die gemakkelijk kunnen worden ingezet op mobiele apparaten. PyTorch Mobile biedt een runtime om deze modellen uit te voeren binnen iOS en Android apps. Dit maakt offline inferentie met lage latentie mogelijk, wat de gebruikerservaring en gegevensprivacy verbetert.

  • Cloud Deployment: TorchScript modellen kunnen worden ingezet op cloud-gebaseerde servers met oplossingen zoals TorchServe. Het biedt functies zoals modelversie, batching en metriekmonitoring voor schaalbare inzet in productieomgevingen. Cloud implementatie met TorchScript kan je modellen toegankelijk maken via API's of andere webservices.

Exporteren naar TorchScript: Je model YOLOv8 converteren

Door YOLOv8 modellen te exporteren naar TorchScript wordt het eenvoudiger om ze op verschillende plaatsen te gebruiken en kunnen ze sneller en efficiƫnter worden uitgevoerd. Dit is geweldig voor iedereen die deep learning modellen effectiever wil gebruiken in echte toepassingen.

Installatie

Voer het volgende uit om het vereiste pakket 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 TorchScript format
model.export(format="torchscript")  # creates 'yolov8n.torchscript'

# Load the exported TorchScript model
torchscript_model = YOLO("yolov8n.torchscript")

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

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

Ga voor meer informatie over het exportproces naar de Ultralytics documentatiepagina over exporteren.

Geƫxporteerde YOLOv8 TorchScript modellen inzetten

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

  • Verken mobiele inzet: De PyTorch Mobile Documentation biedt uitgebreide richtlijnen voor het implementeren van modellen op mobiele apparaten, zodat je applicaties efficiĆ«nt en responsief zijn.

  • Master Server-kant implementatie: Leer hoe je modellen server-side kunt implementeren met TorchServe, met een stap-voor-stap handleiding voor schaalbare, efficiĆ«nte modelserving.

  • C++ implementeren: Duik in de tutorial over het laden van een TorchScript model in C++. Dit vergemakkelijkt de integratie van uw TorchScript modellen in C++ toepassingen voor verbeterde prestaties en veelzijdigheid.

Samenvatting

In deze handleiding hebben we het proces van het exporteren van Ultralytics YOLOv8 modellen naar het TorchScript formaat onderzocht. Door de gegeven instructies te volgen, kun je YOLOv8 modellen optimaliseren voor prestaties en de flexibiliteit krijgen om ze in te zetten op verschillende platforms en omgevingen.

Ga voor meer informatie over het gebruik naar TorchScript's officiƫle documentatie.

Als je meer wilt weten over andere Ultralytics YOLOv8 integraties, bezoek dan onze integratiegids pagina. Daar vind je veel nuttige bronnen en inzichten.

FAQ

Wat is Ultralytics YOLOv8 model exporteren naar TorchScript?

Het exporteren van een Ultralytics YOLOv8 model naar TorchScript maakt flexibele, cross-platform implementatie mogelijk. TorchScript, een onderdeel van het PyTorch ecosysteem, vergemakkelijkt de serialisatie van modellen, die vervolgens kunnen worden uitgevoerd in omgevingen die geen ondersteuning bieden voor Python . Dit maakt het ideaal voor het implementeren van modellen op embedded systemen, C++ omgevingen, mobiele applicaties en zelfs webbrowsers. Exporteren naar TorchScript zorgt voor efficiƫnte prestaties en bredere toepasbaarheid van je YOLOv8 modellen op verschillende platforms.

Hoe kan ik mijn YOLOv8 model exporteren naar TorchScript met behulp van Ultralytics?

Om een YOLOv8 model te exporteren naar TorchScript kun je de volgende voorbeeldcode gebruiken:

Gebruik

from ultralytics import YOLO

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

# Export the model to TorchScript format
model.export(format="torchscript")  # creates 'yolov8n.torchscript'

# Load the exported TorchScript model
torchscript_model = YOLO("yolov8n.torchscript")

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

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

Raadpleeg de Ultralytics documentatie over exporteren voor meer informatie over het exportproces.

Waarom zou ik TorchScript gebruiken om YOLOv8 modellen in te zetten?

Het gebruik van TorchScript voor het inzetten van YOLOv8 modellen biedt verschillende voordelen:

  • Draagbaarheid: GeĆ«xporteerde modellen kunnen draaien in omgevingen zonder de noodzaak van Python, zoals C++ toepassingen, embedded systemen of mobiele apparaten.
  • Optimalisatie: TorchScript ondersteunt statische grafiekuitvoering en Just-In-Time (JIT) compilatie, waardoor de modelprestaties kunnen worden geoptimaliseerd.
  • Integratie met andere talen: TorchScript modellen kunnen worden geĆÆntegreerd in andere programmeertalen, wat de flexibiliteit en uitbreidbaarheid vergroot.
  • Serialisatie: Modellen kunnen worden geserialiseerd, waardoor ze platformonafhankelijk kunnen worden geladen en geĆÆnterpreteerd.

Ga voor meer inzicht in de implementatie naar PyTorch Mobile Documentation, TorchServe Documentation en C++ Deployment Guide.

Wat zijn de installatiestappen voor het exporteren van YOLOv8 modellen naar TorchScript?

Gebruik het volgende commando om het benodigde pakket voor het exporteren van YOLOv8 modellen te installeren:

Installatie

# Install the required package for YOLOv8
pip install ultralytics

Ga voor gedetailleerde instructies naar Ultralytics Installatiegids. Raadpleeg de gids Algemene problemen als er problemen optreden tijdens de installatie.

Hoe zet ik mijn geƫxporteerde TorchScript YOLOv8 modellen in?

Nadat je YOLOv8 modellen hebt geƫxporteerd naar het TorchScript formaat, kun je ze inzetten op verschillende platforms:

  • C++ API: Ideaal voor low-overhead, zeer efficiĆ«nte productieomgevingen.
  • Mobiele inzet: Gebruik PyTorch Mobile voor iOS en Android toepassingen.
  • Cloud implementatie: Gebruik diensten zoals TorchServe voor schaalbare server-side implementatie.

Verken uitgebreide richtlijnen voor het inzetten van modellen in deze omgevingen om de mogelijkheden van TorchScript ten volle te benutten.



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

Reacties