Overslaan naar inhoud

Verhogende YOLOv8 Training: Vereenvoudig je logproces met Comet ML

Het vastleggen van belangrijke trainingsdetails zoals parameters, metriek, beeldvoorspellingen en modelcontrolepunten is essentieel bij machinaal leren. Het houdt je project transparant, je voortgang meetbaar en je resultaten herhaalbaar.

Ultralytics YOLOv8 integreert naadloos met Comet ML, waardoor elk aspect van het trainingsproces van je YOLOv8 objectdetectiemodel efficiƫnt wordt vastgelegd en geoptimaliseerd. In deze handleiding behandelen we het installatieproces, Comet ML setup, realtime inzichten, aangepaste logging en offline gebruik, zodat je YOLOv8 training grondig gedocumenteerd en afgestemd is voor uitstekende resultaten.

Comet ML

Comet ML Overzicht

Comet ML is een platform voor het volgen, vergelijken, verklaren en optimaliseren van machine learning modellen en experimenten. Het stelt je in staat om metrics, parameters, media en meer te loggen tijdens je modeltraining en je experimenten te volgen via een esthetisch aantrekkelijke webinterface. Comet ML helpt datawetenschappers sneller te itereren, verbetert de transparantie en reproduceerbaarheid en helpt bij de ontwikkeling van productiemodellen.

De kracht van YOLOv8 en Comet ML benutten

Door Ultralytics YOLOv8 te combineren met Comet ML, ontgrendel je een reeks voordelen. Deze omvatten vereenvoudigd beheer van experimenten, realtime inzichten voor snelle aanpassingen, flexibele en op maat gemaakte loggingopties en de mogelijkheid om experimenten offline te loggen wanneer de toegang tot internet beperkt is. Deze integratie stelt je in staat om datagestuurde beslissingen te nemen, prestatiecijfers te analyseren en uitzonderlijke resultaten te behalen.

Installatie

Voer het volgende uit om de vereiste pakketten te installeren:

Installatie

# Install the required packages for YOLOv8 and Comet ML
pip install ultralytics comet_ml torch torchvision

Comet ML configureren

Nadat je de benodigde pakketten hebt geĆÆnstalleerd, moet je je aanmelden, een Comet API Key krijgen en deze configureren.

Comet ML configureren

# Set your Comet Api Key
export COMET_API_KEY=<Your API Key>

Daarna kun je je Comet project initialiseren. Comet detecteert automatisch de API-sleutel en gaat verder met de installatie.

import comet_ml

comet_ml.init(project_name="comet-example-yolov8-coco128")

Als je een Google Colab notebook gebruikt, zal de bovenstaande code je vragen om je API sleutel in te voeren voor initialisatie.

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.

Gebruik

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n.pt")

# train the model
results = model.train(
    data="coco8.yaml",
    project="comet-example-yolov8-coco128",
    batch=32,
    save_period=1,
    save_json=True,
    epochs=3,
)

Na het uitvoeren van de trainingscode zal Comet ML een experiment aanmaken in je Comet werkruimte om de run automatisch te volgen. Je krijgt dan een link om de gedetailleerde logging van het trainingsproces van je YOLOv8 model te bekijken.

Comet logt automatisch de volgende gegevens zonder extra configuratie: metrieken zoals mAP en verlies, hyperparameters, modelcontrolepunten, interactieve verwarringmatrix en voorspellingen van de afbeeldingsgrenzen.

Inzicht in de prestaties van je model met Comet ML visualisaties

Laten we eens kijken naar wat u zult zien op de Comet ML-dashboard zodra uw YOLOv8 model begint met trainen. Het dashboard is waar alle actie plaatsvindt en presenteert een reeks automatisch gelogde informatie door middel van visuals en statistieken. Hier is een korte rondleiding:

Experiment Panelen

De sectie met experimentpanelen van het Comet ML dashboard organiseert en presenteert de verschillende runs en hun metriek, zoals segmentmaskerverlies, klassenverlies, precisie en gemiddelde gemiddelde precisie.

Comet ML Overzicht

Metriek

In het gedeelte met statistieken heb je de optie om de statistieken ook in tabelvorm te bekijken, die wordt weergegeven in een speciaal deelvenster zoals hier geĆÆllustreerd.

Comet ML Overzicht

Interactieve verwarringmatrix

De verwarringmatrix, te vinden op het tabblad Verwarringmatrix, biedt een interactieve manier om de classificatienauwkeurigheid van het model te beoordelen. De juiste en onjuiste voorspellingen worden gedetailleerd weergegeven, zodat je de sterke en zwakke punten van het model kunt begrijpen.

Comet ML Overzicht

Systeemgegevens

Comet ML logt systeemgegevens om eventuele knelpunten in het trainingsproces te identificeren. Het bevat statistieken zoals GPU gebruik, GPU geheugengebruik, CPU gebruik en RAM gebruik. Deze zijn essentieel voor het bewaken van de efficiƫntie van het gebruik van bronnen tijdens de modeltraining.

Comet ML Overzicht

Comet ML loggen aanpassen

Comet ML biedt de flexibiliteit om het loggedrag aan te passen door omgevingsvariabelen in te stellen. Met deze configuraties kun je Comet ML aanpassen aan je specifieke behoeften en voorkeuren. Hier zijn enkele handige aanpassingsopties:

Beeldvoorspellingen loggen

Je kunt zelf bepalen hoeveel afbeeldingsvoorspellingen Comet ML logt tijdens je experimenten. Standaard logt Comet ML 100 afbeeldingsvoorspellingen van de validatieset. Je kunt dit aantal echter aanpassen aan je wensen. Om bijvoorbeeld 200 afbeeldingsvoorspellingen te loggen, gebruik je de volgende code:

import os

os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200"

Batch Logging Interval

Comet Met ML kun je aangeven hoe vaak batches met afbeeldingsvoorspellingen worden gelogd. De COMET_EVAL_BATCH_LOGGING_INTERVAL omgevingsvariabele bepaalt deze frequentie. De standaardinstelling is 1, waarmee voorspellingen van elke validatiebatch worden gelogd. Je kunt deze waarde aanpassen om voorspellingen met een ander interval te loggen. Als je deze bijvoorbeeld instelt op 4, worden de voorspellingen van elke vierde batch gelogd.

import os

os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4"

Loggen van de verwarringmatrix uitschakelen

In sommige gevallen wil je de verwarringmatrix van je validatieset niet na elke epoch loggen. Je kunt deze functie uitschakelen door de COMET_EVAL_LOG_CONFUSION_MATRIX omgevingsvariabele op "false". De verwarringmatrix wordt maar Ć©Ć©n keer gelogd, nadat de training is voltooid.

import os

os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false"

Offline loggen

Als je je in een situatie bevindt waar internettoegang beperkt is, dan biedt Comet ML een offline logging optie. Je kunt de COMET_MODE omgevingsvariabele op "offline" om deze functie in te schakelen. Je experimentgegevens worden lokaal opgeslagen in een map die je later kunt uploaden naar Comet ML wanneer de internetverbinding beschikbaar is.

import os

os.environ["COMET_MODE"] = "offline"

Samenvatting

Deze gids heeft je begeleid bij het integreren van Comet ML met Ultralytics' YOLOv8. Van installatie tot aanpassing, je hebt geleerd om het beheer van experimenten te stroomlijnen, realtime inzichten te verkrijgen en het loggen aan te passen aan de behoeften van je project.

Verken de officiƫle documentatie vanComet ML voor meer inzicht in de integratie met YOLOv8.

Als je je verder wilt verdiepen in de praktische toepassingen van YOLOv8, specifiek voor beeldsegmentatietaken, biedt deze gedetailleerde gids over het verfijnen van YOLOv8 met Comet ML waardevolle inzichten en stapsgewijze instructies om de prestaties van je model te verbeteren.

Als je andere interessante integraties met Ultralytics wilt ontdekken, bekijk dan de integratiegids pagina, die een schat aan bronnen en informatie biedt.

FAQ

Hoe integreer ik Comet ML met Ultralytics YOLOv8 voor training?

Volg deze stappen om Comet ML te integreren met Ultralytics YOLOv8 :

  1. Installeer de vereiste pakketten:

    pip install ultralytics comet_ml torch torchvision
    
  2. Stel je Comet API-sleutel in:

    export COMET_API_KEY=<Your API Key>
    
  3. Initialiseer je Comet project in je Python code:

    import comet_ml
    
    comet_ml.init(project_name="comet-example-yolov8-coco128")
    
  4. Train je YOLOv8 model en log metrics:

    from ultralytics import YOLO
    
    model = YOLO("yolov8n.pt")
    results = model.train(
        data="coco8.yaml", project="comet-example-yolov8-coco128", batch=32, save_period=1, save_json=True, epochs=3
    )
    

Raadpleeg de sectieComet ML configuratie voor meer gedetailleerde instructies.

Wat zijn de voordelen van het gebruik van Comet ML met YOLOv8?

Door Ultralytics YOLOv8 te integreren met Comet ML kun je:

  • Bekijk realtime inzichten: Krijg direct feedback over je trainingsresultaten, zodat je snel kunt bijsturen.
  • Log uitgebreide statistieken: Leg automatisch essentiĆ«le statistieken vast, zoals mAP, verlies, hyperparameters en modelcontrolepunten.
  • Experimenten offline volgen: Log je trainingsruns lokaal wanneer internettoegang niet beschikbaar is.
  • Vergelijk verschillende trainingsruns: Gebruik het interactieve Comet ML dashboard om meerdere experimenten te analyseren en te vergelijken.

Door gebruik te maken van deze functies kun je je machine learning workflows optimaliseren voor betere prestaties en reproduceerbaarheid. Ga voor meer informatie naar Comet ML integratiegids.

Hoe pas ik het loggedrag van Comet ML aan tijdens YOLOv8 training?

Comet ML biedt de mogelijkheid om het loggedrag uitgebreid aan te passen met behulp van omgevingsvariabelen:

  • Het aantal geregistreerde afbeeldingsvoorspellingen wijzigen:

    import os
    
    os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200"
    
  • Pas het interval voor het loggen van batches aan:

    import os
    
    os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4"
    
  • Loggen van de verwarringmatrix uitschakelen:

    import os
    
    os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false"
    

Raadpleeg voor meer aanpassingsopties het gedeelte Comet ML Logging aanpassen.

Hoe bekijk ik gedetailleerde statistieken en visualisaties van mijn YOLOv8 training op Comet ML?

Zodra je YOLOv8 model begint te trainen, heb je toegang tot een groot aantal statistieken en visualisaties op het Comet ML dashboard. De belangrijkste functies zijn onder andere:

  • Experimentpanelen: Bekijk verschillende runs en hun statistieken, waaronder segmentmaskerverlies, klassenverlies en gemiddelde gemiddelde precisie.
  • Metriek: Bekijk de statistieken in tabelvorm voor een gedetailleerde analyse.
  • Interactieve verwarringsmatrix: Beoordeel de classificatienauwkeurigheid met een interactieve verwarringsmatrix.
  • System Metrics: Monitor GPU and CPU utilization, memory usage, and other system metrics.

Ga voor een gedetailleerd overzicht van deze functies naar Inzicht in de prestaties van je model met Comet ML Visualisaties.

Kan ik Comet ML gebruiken voor offline loggen bij het trainen van YOLOv8 modellen?

Ja, je kunt offline loggen inschakelen in Comet ML door de COMET_MODE omgevingsvariabele op "offline":

import os

os.environ["COMET_MODE"] = "offline"

Met deze functie kun je je experimentgegevens lokaal loggen, die later geĆ¼pload kunnen worden naar Comet ML wanneer er een internetverbinding beschikbaar is. Dit is vooral handig wanneer je werkt in omgevingen met beperkte toegang tot internet. Raadpleeg voor meer informatie het gedeelte Offline loggen.



Aangemaakt 2023-11-16, Bijgewerkt 2024-07-05
Auteurs: glenn-jocher (10), AyushExel (1), abirami-vina (1)

Reacties