Overslaan naar inhoud

Training YOLOv8 met ClearML: Stroomlijnen van je MLOps workflow

MLOps overbrugt de kloof tussen het maken en inzetten van machine-learning modellen in de echte wereld. Het richt zich op efficiënte inzet, schaalbaarheid en doorlopend beheer om ervoor te zorgen dat modellen goed presteren in praktische toepassingen.

Ultralytics YOLOv8 integreert moeiteloos met ClearML en stroomlijnt en verbetert de training en het beheer van je objectdetectiemodel. Deze gids leidt je door het integratieproces, waarbij in detail wordt uitgelegd hoe je ClearML kunt instellen, experimenten kunt beheren, modelbeheer kunt automatiseren en effectief kunt samenwerken.

ClearML

ClearML Overzicht

ClearML is een innovatief open-source MLOps platform dat vakkundig is ontworpen om machine learning workflows te automatiseren, bewaken en orkestreren. De belangrijkste functies zijn onder andere het automatisch loggen van alle trainings- en inferentiegegevens voor volledige reproduceerbaarheid van experimenten, een intuïtieve web UI voor eenvoudige visualisatie en analyse van gegevens, geavanceerde hyperparameter optimalisatiealgoritmen en robuust modelbeheer voor efficiënte inzet op verschillende platforms.

YOLOv8 Training met ClearML

Je kunt je workflow voor machine learning automatiseren en efficiënter maken door je trainingsproces te verbeteren door YOLOv8 te integreren met ClearML.

Installatie

Voer het volgende uit om de vereiste pakketten te installeren:

Installatie

# Install the required packages for YOLOv8 and ClearML
pip install ultralytics clearml

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.

configureren ClearML

Nadat je de benodigde pakketten hebt geïnstalleerd, is de volgende stap het initialiseren en configureren van je ClearML SDK. Dit omvat het instellen van je ClearML account en het verkrijgen van de benodigde credentials voor een naadloze verbinding tussen je ontwikkelomgeving en de ClearML server.

Begin met het initialiseren van de ClearML SDK in je omgeving. Het commando 'clearml-init' start het installatieproces en vraagt je om de benodigde inloggegevens.

Eerste SDK-instelling

# Initialize your ClearML SDK setup process
clearml-init

Ga na het uitvoeren van deze opdracht naar de paginaClearML Instellingen. Navigeer naar de rechterbovenhoek en selecteer "Instellingen". Ga naar het gedeelte "Werkruimte" en klik op "Nieuwe referenties aanmaken". Gebruik de referenties die je krijgt in het pop-upvenster "Credentials aanmaken" om de installatie volgens de instructies te voltooien, afhankelijk van of je ClearML configureert in een Jupyter Notebook of een lokale Python omgeving.

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 clearml import Task
from ultralytics import YOLO

# Step 1: Creating a ClearML Task
task = Task.init(project_name="my_project", task_name="my_yolov8_task")

# Step 2: Selecting the YOLOv8 Model
model_variant = "yolov8n"
task.set_parameter("model_variant", model_variant)

# Step 3: Loading the YOLOv8 Model
model = YOLO(f"{model_variant}.pt")

# Step 4: Setting Up Training Arguments
args = dict(data="coco8.yaml", epochs=16)
task.connect(args)

# Step 5: Initiating Model Training
results = model.train(**args)

De code begrijpen

Laten we de stappen in het bovenstaande voorbeeld van de gebruikscode begrijpen.

Stap 1: Een ClearML taak maken: Een nieuwe taak wordt geïnitialiseerd in ClearML, waarbij je de project- en taaknamen opgeeft. Deze taak zal de training van je model bijhouden en beheren.

Stap 2: Het model YOLOv8 kiezen: De model_variant variabele wordt ingesteld op 'yolov8n', een van de YOLOv8 modellen. Deze variant wordt dan gelogd in ClearML voor tracering.

Stap 3: Het model YOLOv8 laden: Het geselecteerde YOLOv8 model wordt geladen met behulp van de klasse Ultralytics' YOLO , zodat het klaar is voor training.

Stap 4: Trainingsargumenten opzetten: Belangrijke trainingsargumenten zoals de dataset (coco8.yaml) en het aantal epochs (16) zijn georganiseerd in een woordenboek en verbonden met de taak ClearML . Dit maakt het mogelijk om ze te volgen en eventueel aan te passen via de ClearML UI. Raadpleeg voor een gedetailleerd begrip van het modeltrainingsproces en de best practices onze YOLOv8 Model Trainingsgids.

Stap 5: Modeltraining starten: De modeltraining wordt gestart met de opgegeven argumenten. De resultaten van het trainingsproces worden vastgelegd in de results variabel.

De uitvoer begrijpen

Als je het bovenstaande codefragment uitvoert, kun je de volgende uitvoer verwachten:

  • Een bevestigingsbericht dat het aanmaken van een nieuwe ClearML taak aangeeft, samen met de unieke ID ervan.
  • Een informatieve melding over de scriptcode die wordt opgeslagen, om aan te geven dat de uitvoering van de code wordt gevolgd door ClearML.
  • Een URL-link naar de ClearML resultatenpagina waar je de voortgang van de training kunt volgen en gedetailleerde logs kunt bekijken.
  • Download de voortgang voor het YOLOv8 model en de opgegeven dataset, gevolgd door een samenvatting van de modelarchitectuur en trainingsconfiguratie.
  • Initialisatieberichten voor verschillende trainingscomponenten zoals TensorBoard, Automatic Mixed Precision (AMP) en datasetvoorbereiding.
  • Tot slot begint het trainingsproces, met voortgangsupdates terwijl het model traint op de gespecificeerde dataset. Voor een diepgaand begrip van de prestatiecijfers die tijdens het trainen worden gebruikt, kun je onze gids over prestatiecijfers lezen.

De pagina ClearML Resultaten bekijken

Door te klikken op de URL-link naar de ClearML resultatenpagina in de uitvoer van het gebruik van het codefragment, krijg je toegang tot een uitgebreide weergave van het trainingsproces van je model.

Belangrijkste kenmerken van de pagina ClearML Resultaten

  • Real-time bijhouden van statistieken

    • Houd kritieke statistieken zoals verlies, nauwkeurigheid en validatiescores bij op het moment dat ze zich voordoen.
    • Geeft onmiddellijk feedback voor tijdige aanpassingen van de modelprestaties.
  • Vergelijking van experimenten

    • Vergelijk verschillende trainingen naast elkaar.
    • Essentieel voor het afstemmen van hyperparameters en het identificeren van de meest effectieve modellen.
  • Gedetailleerde logbestanden en uitvoer

    • Toegang tot uitgebreide logboeken, grafische weergaven van statistieken en console-uitvoer.
    • Een beter begrip krijgen van modelgedrag en het oplossen van problemen.
  • Bewaking van het gebruik van hulpbronnen

    • Bewaak het gebruik van computationele bronnen, waaronder CPU, GPU en geheugen.
    • De sleutel tot het optimaliseren van trainingsefficiëntie en -kosten.
  • Beheer van modelartefacten

    • Modelartefacten zoals getrainde modellen en controlepunten bekijken, downloaden en delen.
    • Verbetert de samenwerking en stroomlijnt het uitrollen en delen van modellen.

Bekijk de video hieronder voor een visueel overzicht van hoe de ClearML resultatenpagina eruitziet:



Kijken: YOLOv8 MLOps Integratie met behulp van ClearML

Geavanceerde functies in ClearML

ClearML biedt verschillende geavanceerde functies om je MLOps-ervaring te verbeteren.

Executie op afstand

ClearMLDe functie voor uitvoering op afstand vergemakkelijkt het reproduceren en manipuleren van experimenten op verschillende machines. Het logt essentiële details zoals geïnstalleerde pakketten en ongecommitteerde wijzigingen. Wanneer een taak wordt toegewezen, haalt de ClearML Agent deze op, creëert de omgeving opnieuw, voert het experiment uit en rapporteert gedetailleerde resultaten.

Het implementeren van een ClearML Agent is eenvoudig en kan op verschillende machines worden gedaan met het volgende commando:

clearml-agent daemon --queue <queues_to_listen_to> [--docker]

Deze opstelling is toepasbaar op cloud VM's, lokale GPU's of laptops. ClearML Autoscalers helpen bij het beheren van cloud workloads op platformen zoals AWS, GCP en Azure, door de inzet van agents te automatiseren en resources aan te passen op basis van je resource budget.

Klonen, bewerken en enqueuing

ClearMLDe gebruikersvriendelijke interface maakt het klonen, bewerken en enqueueen van taken eenvoudig. Gebruikers kunnen een bestaand experiment klonen, parameters of andere details aanpassen via de UI en de taak enqueuen voor uitvoering. Dit gestroomlijnde proces zorgt ervoor dat de ClearML Agent die de taak uitvoert bijgewerkte configuraties gebruikt, waardoor het ideaal is voor iteratieve experimenten en het fine-tunen van modellen.


Klonen, bewerken en enqueuing met ClearML

Samenvatting

Deze gids heeft je door het integratieproces van ClearML met Ultralytics' YOLOv8 geleid. Je hebt ontdekt hoe je ClearML kunt gebruiken voor efficiënte training, het bijhouden van experimenten en workflowoptimalisatie in je machine-learningprojecten, van de eerste opzet tot geavanceerd modelbeheer.

Ga voor meer informatie over het gebruik naar ClearML's officiële documentatie.

Ontdek daarnaast meer integraties en mogelijkheden van Ultralytics door de Ultralytics integratiegids te bezoeken, een schat aan informatie en inzichten.



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

Reacties