Overslaan naar inhoud

YOLOv8 🚀 op AzureML

Wat is Azure?

Azure is het cloud computing platform van Microsoft, ontworpen om organisaties te helpen hun werklasten te verplaatsen van datacenters op locatie naar de cloud. Met het volledige spectrum aan cloudservices, waaronder services voor computing, databases, analytics, machine learning en netwerken, kunnen gebruikers uit deze services kiezen om nieuwe applicaties te ontwikkelen en te schalen, of bestaande applicaties uit te voeren in de publieke cloud.

Wat is Azure Machine Learning (AzureML)?

Azure Machine Learning, beter bekend als AzureML, is een volledig beheerde cloudservice waarmee datawetenschappers en ontwikkelaars op efficiënte wijze voorspellende analyses kunnen opnemen in hun toepassingen, waardoor organisaties massale datasets kunnen gebruiken en alle voordelen van de cloud naar machine learning kunnen brengen. AzureML biedt een verscheidenheid aan diensten en mogelijkheden om machine learning toegankelijk, gebruiksvriendelijk en schaalbaar te maken. Het biedt mogelijkheden zoals geautomatiseerde machine learning, drag-and-drop modeltraining en een robuuste Python SDK zodat ontwikkelaars het maximale uit hun machine learning modellen kunnen halen.

Hoe biedt AzureML voordelen voor YOLO gebruikers?

Voor gebruikers van YOLO (You Only Look Once) biedt AzureML een robuust, schaalbaar en efficiënt platform om modellen voor machinaal leren te trainen en in te zetten. Of je nu snelle prototypes wilt uitvoeren of wilt opschalen om uitgebreidere gegevens te verwerken, de flexibele en gebruiksvriendelijke omgeving van AzureML biedt verschillende tools en services die aansluiten op jouw behoeften. Je kunt AzureML gebruiken om:

  • Eenvoudig beheren van grote datasets en rekenbronnen voor training.
  • Gebruik ingebouwde gereedschappen voor data preprocessing, feature selectie en modeltraining.
  • Efficiënter samenwerken met mogelijkheden voor MLOps (Machine Learning Operations), inclusief maar niet beperkt tot monitoring, auditing en versiebeheer van modellen en gegevens.

In de volgende secties vind je een snelstartgids die beschrijft hoe je YOLOv8 objectdetectiemodellen kunt uitvoeren met AzureML, vanaf een computerterminal of een notebook.

Vereisten

Voordat je aan de slag kunt, moet je ervoor zorgen dat je toegang hebt tot een AzureML workspace. Als je er geen hebt, kun je een nieuwe AzureML workspace aanmaken door de officiële documentatie van Azure te volgen. Deze workspace fungeert als een gecentraliseerde plek om alle AzureML resources te beheren.

Een computerinstantie maken

Selecteer in je AzureML werkruimte Compute > Compute instances > New en selecteer de instance met de resources die je nodig hebt.

Azure Compute Instance aanmaken

Snelstart vanaf terminal

Start je computer en open een Terminal:

Open terminal

Virtualenv aanmaken

Maak je conda virtualenv en installeer pip daarin:

conda create --name yolov8env -y
conda activate yolov8env
conda install pip -y

Installeer de vereiste afhankelijkheden:

cd ultralytics
pip install -r requirements.txt
pip install ultralytics
pip install onnx>=1.12.0

Voer YOLOv8 taken uit

Voorspellen:

yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'

Train een detectiemodel gedurende 10 epochs met een initiële leer_snelheid van 0,01:

yolo train data=coco8.yaml model=yolov8n.pt epochs=10 lr0=0.01

Meer instructies voor het gebruik van de Ultralytics CLI vind je hier.

Snelstart vanuit een notitieblok

Maak een nieuwe IPython kernel

Open de compute Terminal.

Open terminal

Vanaf je computerminal moet je een nieuwe ipykernel maken die door je notebook zal worden gebruikt om je afhankelijkheden te beheren:

conda create --name yolov8env -y
conda activate yolov8env
conda install pip -y
conda install ipykernel -y
python -m ipykernel install --user --name yolov8env --display-name "yolov8env"

Sluit je terminal en maak een nieuw notitieblok. Vanuit je notitieblok kun je de nieuwe kernel selecteren.

Vervolgens kun je een Notebook cel openen en de benodigde afhankelijkheden installeren:

%%bash
source activate yolov8env
cd ultralytics
pip install -r requirements.txt
pip install ultralytics
pip install onnx>=1.12.0

Merk op dat we de source activate yolov8env voor alle %%bash cellen, om er zeker van te zijn dat de %%bash cel de omgeving gebruikt die we willen.

Voer enkele voorspellingen uit met de Ultralytics CLI:

%%bash
source activate yolov8env
yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'

Of met de Ultralytics Python interface, bijvoorbeeld om het model te trainen:

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n.pt")  # load an official YOLOv8n model

# Use the model
model.train(data="coco8.yaml", epochs=3)  # train the model
metrics = model.val()  # evaluate model performance on the validation set
results = model("https://ultralytics.com/images/bus.jpg")  # predict on an image
path = model.export(format="onnx")  # export the model to ONNX format

Je kunt de interface Ultralytics CLI of Python gebruiken voor het uitvoeren van YOLOv8 taken, zoals beschreven in de terminalsectie hierboven.

Door deze stappen te volgen, zou je in staat moeten zijn om YOLOv8 snel aan de gang te krijgen op AzureML voor snelle tests. Voor geavanceerder gebruik kun je de volledige AzureML documentatie raadplegen die aan het begin van deze handleiding is gelinkt.

Ontdek meer met AzureML

Deze gids dient als introductie om je op weg te helpen met YOLOv8 op AzureML. Het is echter slechts een tipje van de sluier van wat AzureML te bieden heeft. Om dieper te graven en het volledige potentieel van AzureML voor jouw machine learning projecten te ontsluiten, kun je overwegen om de volgende bronnen te verkennen:

  • Creëer een Data Asset: Leer hoe je je data assets effectief kunt opzetten en beheren binnen de AzureML omgeving.
  • Een AzureML taak starten: Krijg een uitgebreid inzicht in hoe je machine learning trainingstaken op AzureML kunt starten.
  • Een model registreren: Maak jezelf vertrouwd met praktijken voor modelbeheer, waaronder registratie, versiebeheer en implementatie.
  • Train YOLOv8 met AzureML Python SDK: Verken een stap-voor-stap handleiding voor het gebruik van de AzureML Python SDK om je YOLOv8 modellen te trainen.
  • Train YOLOv8 met AzureML CLI: Ontdek hoe je de opdrachtregelinterface kunt gebruiken voor gestroomlijnde training en beheer van YOLOv8 modellen op AzureML.


Aangemaakt 2023-11-12, Bijgewerkt 2024-04-18
Auteurs: glenn-jocher (3), ouphi (1)

Reacties