YOLOv8 🚀 auf AzureML
Was ist Azure?
Azure ist die Cloud-Computing-Plattform von Microsoft, die Unternehmen dabei hilft, ihre Arbeitslasten von lokalen Rechenzentren in die Cloud zu verlagern. Mit dem gesamten Spektrum an Cloud-Diensten, darunter Computing, Datenbanken, Analysen, maschinelles Lernen und Netzwerke, können Nutzer/innen aus diesen Diensten auswählen, um neue Anwendungen zu entwickeln und zu skalieren oder bestehende Anwendungen in der öffentlichen Cloud zu betreiben.
Was ist Azure Machine Learning (AzureML)?
Azure Machine Learning, allgemein als AzureML bezeichnet, ist ein vollständig verwalteter Cloud-Dienst, der es Datenwissenschaftlern und Entwicklern ermöglicht, prädiktive Analysen effizient in ihre Anwendungen einzubinden. So können Unternehmen große Datensätze nutzen und alle Vorteile der Cloud für maschinelles Lernen nutzen. AzureML bietet eine Vielzahl von Diensten und Funktionen, die maschinelles Lernen zugänglich, einfach zu nutzen und skalierbar machen sollen. Es bietet Funktionen wie automatisiertes maschinelles Lernen, Modelltraining per Drag-and-Drop sowie ein robustes Python SDK, damit Entwickler das Beste aus ihren maschinellen Lernmodellen herausholen können.
Welchen Nutzen hat AzureML für YOLO Nutzer?
Für Nutzer von YOLO (You Only Look Once) bietet AzureML eine robuste, skalierbare und effiziente Plattform, um Machine-Learning-Modelle zu trainieren und einzusetzen. Ganz gleich, ob du schnelle Prototypen erstellen oder größere Datenmengen verarbeiten willst, die flexible und benutzerfreundliche Umgebung von AzureML bietet verschiedene Tools und Dienste, die deinen Bedürfnissen entsprechen. Du kannst AzureML nutzen, um:
- Verwalte mühelos große Datensätze und Rechenressourcen für das Training.
- Nutze die integrierten Tools für die Datenvorverarbeitung, die Merkmalsauswahl und das Modelltraining.
- Effizientere Zusammenarbeit mit Funktionen für MLOps (Machine Learning Operations), einschließlich, aber nicht beschränkt auf die Überwachung, Prüfung und Versionierung von Modellen und Daten.
In den folgenden Abschnitten findest du eine Schnellstart-Anleitung, in der du erfährst, wie du YOLOv8 Objekterkennungsmodelle mit AzureML entweder von einem Compute-Terminal oder einem Notebook aus ausführst.
Voraussetzungen
Bevor du loslegen kannst, musst du sicherstellen, dass du Zugang zu einem AzureML-Arbeitsbereich hast. Wenn du noch keinen hast, kannst du einen neuen AzureML-Arbeitsbereich erstellen, indem du der offiziellen Azure-Dokumentation folgst. Dieser Arbeitsbereich dient als zentraler Ort, um alle AzureML-Ressourcen zu verwalten.
Eine Recheninstanz erstellen
Wähle in deinem AzureML-Arbeitsbereich Compute > Compute-Instanzen > Neu und wähle die Instanz mit den benötigten Ressourcen.
Schnellstart vom Terminal aus
Starte deinen Computer und öffne ein Terminal:
Virtualenv erstellen
Erstelle deine conda virtualenv und installiere pip in ihr:
Installiere die erforderlichen Abhängigkeiten:
Durchführen von YOLOv8 Aufgaben
Voraussagen:
Trainiere ein Erkennungsmodell für 10 Epochen mit einer anfänglichen learning_rate von 0,01:
Weitere Anleitungen zur Verwendung von Ultralytics CLI findest du hier.
Schnellstart aus einem Notebook
Einen neuen IPython-Kernel erstellen
Öffne das Compute Terminal.
In deinem Compute-Terminal musst du einen neuen ipykernel erstellen, der von deinem Notebook verwendet wird, um deine Abhängigkeiten zu verwalten:
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"
Schließe dein Terminal und erstelle ein neues Notizbuch. In deinem Notizbuch kannst du den neuen Kernel auswählen.
Dann kannst du eine Notebook-Zelle öffnen und die erforderlichen Abhängigkeiten installieren:
%%bash
source activate yolov8env
cd ultralytics
pip install -r requirements.txt
pip install ultralytics
pip install onnx>=1.12.0
Beachte, dass wir die source activate yolov8env
für alle %%bash-Zellen, um sicherzustellen, dass die %%bash-Zelle die von uns gewünschte Umgebung verwendet.
Führen Sie einige Vorhersagen durch, indem Sie die Ultralytics CLI:
%%bash
source activate yolov8env
yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'
Oder mit der SchnittstelleUltralytics Python , zum Beispiel, um das Modell zu trainieren:
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
Du kannst entweder die Schnittstelle Ultralytics CLI oder Python verwenden, um YOLOv8 Aufgaben auszuführen, wie oben im Abschnitt über das Terminal beschrieben.
Wenn du diese Schritte befolgst, solltest du in der Lage sein, YOLOv8 für schnelle Versuche auf AzureML zum Laufen zu bringen. Für fortgeschrittene Anwendungen kannst du die vollständige AzureML-Dokumentation lesen, die am Anfang dieses Leitfadens verlinkt ist.
Entdecke mehr mit AzureML
Dieser Leitfaden dient als Einführung, damit du mit YOLOv8 auf AzureML loslegen kannst. Er kratzt jedoch nur an der Oberfläche dessen, was AzureML bieten kann. Wenn du tiefer einsteigen und das volle Potenzial von AzureML für deine Machine-Learning-Projekte ausschöpfen willst, solltest du dir die folgenden Ressourcen ansehen:
- Datenbestände erstellen: Lerne, wie du deine Datenbestände in der AzureML-Umgebung effektiv einrichtest und verwaltest.
- Initiiere einen AzureML-Job: Erhalte ein umfassendes Verständnis dafür, wie du deine Trainingsjobs für maschinelles Lernen auf AzureML startest.
- Ein Modell registrieren: Mache dich mit den Praktiken der Modellverwaltung vertraut, einschließlich Registrierung, Versionierung und Bereitstellung.
- Trainiere YOLOv8 mit dem AzureML Python SDK: Erkunde eine Schritt-für-Schritt-Anleitung zur Verwendung des AzureML Python SDK, um deine YOLOv8 Modelle zu trainieren.
- Trainiere YOLOv8 mit AzureML CLI: Entdecke, wie du die Befehlszeilenschnittstelle für ein optimiertes Training und Management von YOLOv8 Modellen auf AzureML nutzen kannst.