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 uw omgeving. Het 'clearml-init' commando start het installatieproces en vraagt u 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 eens kijken naar de stappen die worden weergegeven in het bovenstaande fragment van de gebruikscode.

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

    • Controleer 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.

FAQ

Wat is het proces voor het integreren van Ultralytics YOLOv8 met ClearML?

De integratie van Ultralytics YOLOv8 met ClearML bestaat uit een aantal stappen om je MLOps workflow te stroomlijnen. Installeer eerst de benodigde pakketten:

pip install ultralytics clearml

Initialiseer vervolgens de ClearML SDK in je omgeving met:

clearml-init

Vervolgens configureer je ClearML met je gegevens op de paginaClearML Instellingen. Gedetailleerde instructies over het hele instellingsproces, inclusief modelselectie en trainingsconfiguraties, kun je vinden in onze gidsYOLOv8 modeltraining.

Waarom zou ik ClearML met Ultralytics YOLOv8 gebruiken voor mijn machine-learningprojecten?

Het gebruik van ClearML met Ultralytics YOLOv8 verbetert je machine learning projecten door het bijhouden van experimenten te automatiseren, workflows te stroomlijnen en robuust modelbeheer mogelijk te maken. ClearML biedt real-time bijhouden van statistieken, bewaking van het gebruik van bronnen en een gebruikersvriendelijke interface voor het vergelijken van experimenten. Deze functies helpen de prestaties van je model te optimaliseren en het ontwikkelingsproces efficiƫnter te maken. Lees meer over de voordelen en procedures in onze MLOps Integratiegids.

Hoe los ik veelvoorkomende problemen op tijdens de integratie van YOLOv8 en ClearML ?

Als je tegen problemen aanloopt tijdens de integratie van YOLOv8 met ClearML, raadpleeg dan onze gids Veelgestelde problemen voor oplossingen en tips. Typische problemen kunnen te maken hebben met fouten bij de installatie van pakketten, het instellen van referenties of configuratieproblemen. Deze gids biedt stapsgewijze instructies voor het oplossen van problemen om deze veelvoorkomende problemen efficiƫnt op te lossen.

Hoe stel ik de ClearML taak in voor YOLOv8 modeltraining?

Het opzetten van een ClearML taak voor YOLOv8 training omvat het initialiseren van een taak, het selecteren van de modelvariant, het laden van het model, het instellen van trainingsargumenten en tot slot het starten van de modeltraining. Hier is een vereenvoudigd voorbeeld:

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)

Raadpleeg onze Gebruikshandleiding voor een gedetailleerd overzicht van deze stappen.

Waar kan ik de resultaten van mijn YOLOv8 training in ClearML bekijken?

Na het uitvoeren van je YOLOv8 trainingsscript met ClearML kun je de resultaten bekijken op de ClearML resultatenpagina. De uitvoer bevat een URL-link naar het ClearML dashboard, waar je statistieken kunt bijhouden, experimenten kunt vergelijken en het gebruik van bronnen kunt controleren. Voor meer details over het bekijken en interpreteren van de resultaten, bekijk onze sectie over het bekijken van de ClearML resultatenpagina.



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

Reacties