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.
Snelstart vanaf terminal
Start je computer en open een Terminal:
Virtualenv aanmaken
Maak je conda virtualenv en installeer pip daarin:
Installeer de vereiste afhankelijkheden:
Voer YOLOv8 taken uit
Voorspellen:
Train een detectiemodel gedurende 10 epochs met een initiële leer_snelheid van 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.
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.