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 wat je ziet op het Comet ML dashboard zodra je YOLOv8 model begint te trainen. Het dashboard is waar alle actie gebeurt en presenteert een reeks automatisch gelogde informatie door middel van visuals en statistieken. Hier volgt 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.



Aangemaakt 2023-11-16, Bijgewerkt 2024-04-18
Auteurs: glenn-jocher (6), AyushExel (1), abirami-vina (1)

Reacties