Overslaan naar inhoud

Geavanceerd YOLOv8 Experimentvolgsysteem met DVCLive

Het bijhouden van experimenten bij machinaal leren is essentieel voor de ontwikkeling en evaluatie van modellen. Het omvat het vastleggen en analyseren van verschillende parameters, metrieken en uitkomsten van talrijke trainingsruns. Dit proces is essentieel voor het begrijpen van modelprestaties en het nemen van datagestuurde beslissingen om modellen te verfijnen en te optimaliseren.

De integratie van DVCLive met Ultralytics YOLOv8 verandert de manier waarop experimenten worden bijgehouden en beheerd. Deze integratie biedt een naadloze oplossing voor het automatisch loggen van belangrijke experimentgegevens, het vergelijken van resultaten over verschillende runs en het visualiseren van gegevens voor diepgaande analyse. In deze handleiding begrijpen we hoe DVCLive kan worden gebruikt om het proces te stroomlijnen.

DVCLive

Overzicht DVCLive

DVCLive, ontwikkeld door DVC, is een innovatieve open-source tool voor het bijhouden van experimenten in machine learning. Het is naadloos geïntegreerd met Git en DVC en automatiseert het loggen van cruciale experimentgegevens zoals modelparameters en trainingsgegevens. DVCLive is ontworpen met het oog op eenvoud en maakt moeiteloze vergelijking en analyse van meerdere runs mogelijk, waardoor de efficiëntie van machine-learningprojecten wordt verbeterd met intuïtieve tools voor datavisualisatie en -analyse.

YOLOv8 Training met DVCLive

YOLOv8 Trainingssessies kunnen effectief worden gemonitord met DVCLive. Daarnaast biedt DVC integrale functies voor het visualiseren van deze experimenten, waaronder het genereren van een rapport waarmee metrische plots over alle gevolgde experimenten kunnen worden vergeleken, wat een uitgebreid beeld geeft van het trainingsproces.

Installatie

Voer het volgende uit om de vereiste pakketten te installeren:

Installatie

# Install the required packages for YOLOv8 and DVCLive
pip install ultralytics dvclive

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

DVCLive configureren

Zodra je de benodigde pakketten hebt geïnstalleerd, is de volgende stap het instellen en configureren van je omgeving met de benodigde referenties. Deze installatie zorgt voor een soepele integratie van DVCLive in je bestaande workflow.

Begin met het initialiseren van een Git repository, omdat Git een cruciale rol speelt in versiebeheer voor zowel je code als je DVCLive configuraties.

Initiële omgeving instellen

# Initialize a Git repository
git init -q

# Configure Git with your details
git config --local user.email "you@example.com"
git config --local user.name "Your Name"

# Initialize DVCLive in your project
dvc init -q

# Commit the DVCLive setup to your Git repository
git commit -m "DVC init"

Zorg ervoor dat je in deze commando's "you@example.com" vervangt door het e-mailadres dat bij je Git account hoort, en "Your Name" door de gebruikersnaam van je Git account.

Gebruik

Voordat je in de gebruiksaanwijzing duikt, moet je eerst het assortiment YOLOv8 modellen bekijken dat Ultralytics aanbiedt. Dit zal je helpen het meest geschikte model te kiezen voor jouw projectvereisten.

YOLOv8 modellen trainen met DVCLive

Begin met het uitvoeren van je YOLOv8 trainingssessies. Je kunt verschillende modelconfiguraties en trainingsparameters gebruiken om te voldoen aan de behoeften van je project. Bijvoorbeeld:

# Example training commands for YOLOv8 with varying configurations
yolo train model=yolov8n.pt data=coco8.yaml epochs=5 imgsz=512
yolo train model=yolov8n.pt data=coco8.yaml epochs=5 imgsz=640

Pas het model, de gegevens, de epochs en de imgsz parameters aan volgens je specifieke eisen. Raadpleeg voor een gedetailleerd begrip van het modeltrainingsproces en de best practices onze gids voor modeltrainingYOLOv8 .

Experimenten monitoren met DVCLive

DVCLive verbetert het trainingsproces door het volgen en visualiseren van belangrijke meetgegevens mogelijk te maken. Na installatie integreert Ultralytics YOLOv8 automatisch met DVCLive voor het bijhouden van experimenten, die je later kunt analyseren voor inzicht in prestaties. Voor een uitgebreid begrip van de specifieke prestatiecijfers die tijdens de training worden gebruikt, kun je terecht in onze gedetailleerde gids over prestatiecijfers.

Resultaten analyseren

Nadat je YOLOv8 trainingssessies zijn afgerond, kun je de krachtige visualisatietools van DVCLive gebruiken voor een diepgaande analyse van de resultaten. De integratie van DVCLive zorgt ervoor dat alle trainingsgegevens systematisch worden bijgehouden, zodat de prestaties van uw model uitgebreid kunnen worden geëvalueerd.

Om de analyse te starten, kun je de experimentgegevens ophalen met de API van DVC en ze verwerken met Pandas voor eenvoudigere verwerking en visualisatie:

import dvc.api
import pandas as pd

# Define the columns of interest
columns = ["Experiment", "epochs", "imgsz", "model", "metrics.mAP50-95(B)"]

# Retrieve experiment data
df = pd.DataFrame(dvc.api.exp_show(), columns=columns)

# Clean the data
df.dropna(inplace=True)
df.reset_index(drop=True, inplace=True)

# Display the DataFrame
print(df)

De uitvoer van het bovenstaande codefragment geeft een duidelijk overzicht in tabelvorm van de verschillende experimenten die zijn uitgevoerd met YOLOv8 modellen. Elke rij vertegenwoordigt een andere trainingsrun, met de naam van het experiment, het aantal epochs, de afbeeldingsgrootte (imgsz), het specifieke model dat is gebruikt en de mAP50-95(B) metriek. Deze metriek is cruciaal voor het evalueren van de nauwkeurigheid van het model, waarbij hogere waarden duiden op betere prestaties.

Resultaten visualiseren met Plotly

Voor een meer interactieve en visuele analyse van je experimentresultaten kun je de plot met parallelle coördinaten van Plotly gebruiken. Dit type plot is vooral handig om de relaties en afwegingen tussen verschillende parameters en metrieken te begrijpen.

from plotly.express import parallel_coordinates

# Create a parallel coordinates plot
fig = parallel_coordinates(df, columns, color="metrics.mAP50-95(B)")

# Display the plot
fig.show()

De uitvoer van het bovenstaande codefragment genereert een plot die visueel de relaties weergeeft tussen tijdperken, afbeeldingsgrootte, modeltype en hun overeenkomstige mAP50-95(B) scores, zodat je trends en patronen in je experimentgegevens kunt ontdekken.

Vergelijkende visualisaties genereren met DVC

DVC biedt een handig commando om vergelijkende grafieken te genereren voor je experimenten. Dit kan vooral handig zijn om de prestaties van verschillende modellen over verschillende trainingsreeksen te vergelijken.

# Generate DVC comparative plots
dvc plots diff $(dvc exp list --names-only)

Na het uitvoeren van dit commando genereert DVC plots waarin de statistieken van verschillende experimenten worden vergeleken en die worden opgeslagen als HTML-bestanden. Hieronder zie je een voorbeeldafbeelding van typische grafieken die door dit proces worden gegenereerd. De afbeelding toont verschillende grafieken, waaronder die voor mAP, recall, precisie, verlieswaarden en meer, die een visueel overzicht geven van de belangrijkste prestatiecijfers:

DVCLive Plots

DVC kavels weergeven

Als je een Jupyter Notebook gebruikt en je wilt de gegenereerde DVC plots weergeven, dan kun je de IPython weergave functionaliteit gebruiken.

from IPython.display import HTML

# Display the DVC plots as HTML
HTML(filename="./dvc_plots/index.html")

Deze code rendert het HTML-bestand met de DVC-plots direct in je Jupyter Notebook, zodat je de gevisualiseerde experimentgegevens eenvoudig en gemakkelijk kunt analyseren.

Datagestuurde beslissingen nemen

Gebruik de inzichten uit deze visualisaties om weloverwogen beslissingen te nemen over modeloptimalisaties, het afstemmen van hyperparameters en andere aanpassingen om de prestaties van je model te verbeteren.

Experimenten herhalen

Herhaal je experimenten op basis van je analyse. Pas de modelconfiguraties, trainingsparameters of zelfs de gegevensinvoer aan en herhaal het trainings- en analyseproces. Deze iteratieve aanpak is de sleutel tot het verfijnen van je model voor de best mogelijke prestaties.

Samenvatting

Deze handleiding heeft je door het integratieproces van DVCLive met Ultralytics' YOLOv8 geleid. Je hebt geleerd hoe je de kracht van DVCLive kunt gebruiken voor gedetailleerde experimentmonitoring, effectieve visualisatie en inzichtelijke analyse bij je inspanningen op het gebied van machinaal leren.

Ga voor meer informatie over het gebruik naar de officiële documentatie van DVCLive.

Ontdek daarnaast meer integraties en mogelijkheden van Ultralytics door de Ultralytics integratiegids pagina te bezoeken, die een verzameling is van geweldige bronnen en inzichten.



Aangemaakt 2023-11-30, Bijgewerkt 2024-05-18
Auteurs: glenn-jocher (1), abirami-vina (1)

Reacties