Zum Inhalt springen

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.

Azure Compute Instanz erstellen

Schnellstart vom Terminal aus

Starte deinen Computer und öffne ein Terminal:

Terminal öffnen

Virtualenv erstellen

Erstelle deine conda virtualenv und installiere pip in ihr:

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

Installiere die erforderlichen Abhängigkeiten:

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

Durchführen von YOLOv8 Aufgaben

Voraussagen:

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

Trainiere ein Erkennungsmodell für 10 Epochen mit einer anfänglichen learning_rate von 0,01:

yolo train data=coco8.yaml model=yolov8n.pt epochs=10 lr0=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.

Terminal öffnen

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.


Erstellt am 2023-11-12, Aktualisiert am 2024-04-18
Autoren: glenn-jocher (3), ouphi (1)

Kommentare