Zum Inhalt springen

YOLOv8 🚀 auf AzureML

Was ist Azure?

Azure ist die Cloud Computing-Plattform von Microsoft, die Unternehmen dabei hilft, ihre Workloads von den Rechenzentren vor Ort 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.

FAQ

Wie führe ich YOLOv8 auf AzureML für das Modelltraining aus?

Die Ausführung von YOLOv8 auf AzureML für das Modelltraining umfasst mehrere Schritte:

  1. Erstelle eine Compute-Instanz: Navigiere in deinem AzureML-Arbeitsbereich zu Compute > Compute-Instanzen > Neu und wähle die gewünschte Instanz aus.

  2. Umgebung einrichten: Starte deine Compute-Instanz, öffne ein Terminal und erstelle eine conda-Umgebung:

    conda create --name yolov8env -y
    conda activate yolov8env
    conda install pip -y
    pip install ultralytics onnx>=1.12.0
    
  3. Führe YOLOv8 Aufgaben aus: Nutze die Ultralytics CLI , um dein Modell zu trainieren:

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

Weitere Einzelheiten findest du in der Anleitung zur Nutzung der Website Ultralytics CLI .

Was sind die Vorteile von AzureML für YOLOv8 ?

AzureML bietet ein robustes und effizientes Ökosystem für das Training von YOLOv8 Modellen:

  • Skalierbarkeit: Skaliere deine Rechenressourcen ganz einfach, wenn deine Daten und Modelle komplexer werden.
  • MLOps-Integration: Nutze Funktionen wie Versionierung, Überwachung und Auditing, um den ML-Betrieb zu optimieren.
  • Kollaboration: Teile und verwalte Ressourcen innerhalb von Teams und verbessere kollaborative Arbeitsabläufe.

Diese Vorteile machen AzureML zu einer idealen Plattform für Projekte, die von schnellen Prototypen bis hin zu groß angelegten Einsätzen reichen. Weitere Tipps findest du unter AzureML Jobs.

Wie behebe ich häufige Probleme bei der Ausführung von YOLOv8 auf AzureML?

Die Fehlersuche bei häufigen Problemen mit YOLOv8 auf AzureML kann die folgenden Schritte umfassen:

  • Abhängigkeitsprobleme: Stelle sicher, dass alle erforderlichen Pakete installiert sind. Siehe auch die requirements.txt Datei für Abhängigkeiten.
  • Umgebung einrichten: Überprüfe, ob deine conda Umgebung korrekt aktiviert ist, bevor du Befehle ausführst.
  • Ressourcenzuweisung: Stelle sicher, dass deine Computerinstanzen über genügend Ressourcen verfügen, um die Trainingslast zu bewältigen.

Weitere Anleitungen findest du in unserer Dokumentation YOLO Common Issues.

Kann ich sowohl die Ultralytics CLI als auch die Python Schnittstelle auf AzureML verwenden?

Ja, mit AzureML kannst du sowohl die Ultralytics CLI als auch die Python Schnittstelle nahtlos nutzen:

  • CLI: Ideal für schnelle Aufgaben und das Ausführen von Standardskripten direkt im Terminal.

    yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'
    
  • Python Schnittstelle: Nützlich für komplexere Aufgaben, die benutzerdefinierte Kodierung und Integration in Notizbücher erfordern.

    from ultralytics import YOLO
    
    model = YOLO("yolov8n.pt")
    model.train(data="coco8.yaml", epochs=3)
    

Ausführlichere Anweisungen findest du in den Schnellstartanleitungen hier und hier.

Was ist der Vorteil von Ultralytics YOLOv8 gegenüber anderen Objekterkennungsmodellen?

Ultralytics YOLOv8 bietet mehrere einzigartige Vorteile gegenüber konkurrierenden Objekterkennungsmodellen:

  • Geschwindigkeit: Schnellere Inferenz- und Trainingszeiten im Vergleich zu Modellen wie Faster R-CNN und SSD.
  • Genauigkeit: Hohe Genauigkeit bei Erkennungsaufgaben mit Merkmalen wie ankerfreiem Design und verbesserten Augmentierungsstrategien.
  • Benutzerfreundlichkeit: Intuitive API und CLI für eine schnelle Einrichtung, so dass sie sowohl für Anfänger als auch für Experten zugänglich ist.

Um mehr über die Funktionen von YOLOv8 zu erfahren, besuche die Ultralytics YOLO Seite für detaillierte Einblicke.



Erstellt am 2023-11-12, Aktualisiert am 2024-07-05
Autoren: glenn-jocher (5), ouphi (1)

Kommentare