YOLO11 🚀 auf AzureML
Was ist Azure?
Azure ist die Cloud-Computing-Plattform von Microsoft, die Unternehmen dabei helfen soll, ihre Workloads von lokalen Rechenzentren in die Cloud zu verlagern. Mit dem vollen Spektrum an Cloud-Diensten, einschließlich solcher für Computing, Datenbanken, Analytik, Machine Learning und Networking, können Benutzer diese Dienste auswählen, um neue Anwendungen zu entwickeln und zu skalieren oder bestehende Anwendungen in der Public Cloud auszuführen.
Was ist Azure Machine Learning (AzureML)?
Azure Machine Learning, allgemein als AzureML bezeichnet, ist ein vollständig verwalteter Cloud-Service, der es Datenwissenschaftlern und Entwicklern ermöglicht, prädiktive Analysen effizient in ihre Anwendungen einzubetten, wodurch Organisationen massive Datensätze nutzen und alle Vorteile der Cloud für maschinelles Lernen nutzen können. AzureML bietet eine Vielzahl von Services und Funktionen, die darauf abzielen, maschinelles Lernen zugänglich, einfach zu bedienen und skalierbar zu machen. Es bietet Funktionen wie automatisiertes maschinelles Lernen, Drag-and-Drop-Modelltraining sowie ein robustes Python SDK, sodass Entwickler ihre Modelle für maschinelles Lernen optimal nutzen können.
Welche Vorteile bietet AzureML für YOLO-Benutzer?
Für Benutzer von YOLO (You Only Look Once) bietet AzureML eine robuste, skalierbare und effiziente Plattform zum Trainieren und Bereitstellen von Machine-Learning-Modellen. Egal, ob Sie schnelle Prototypen erstellen oder auf umfangreichere Daten skalieren möchten, die flexible und benutzerfreundliche Umgebung von AzureML bietet verschiedene Tools und Dienste, die Ihren Anforderungen entsprechen. Sie können AzureML nutzen, um:
- Einfache Verwaltung großer Datensätze und Rechenressourcen für das Training.
- Nutzen Sie integrierte Tools für die Datenvorverarbeitung, Merkmalsauswahl und das Modelltraining.
- Effizientere Zusammenarbeit mit Funktionen für MLOps (Machine Learning Operations), einschließlich, aber nicht beschränkt auf Überwachung, Auditierung und Versionierung von Modellen und Daten.
In den folgenden Abschnitten finden Sie eine Kurzanleitung, die detailliert beschreibt, wie Sie YOLO11-Objekterkennungsmodelle mit AzureML ausführen können, entweder von einem Compute-Terminal oder einem Notebook aus.
Voraussetzungen
Bevor Sie loslegen können, stellen Sie sicher, dass Sie Zugriff auf einen AzureML-Arbeitsbereich haben. Wenn Sie noch keinen haben, können Sie einen neuen AzureML-Arbeitsbereich erstellen, indem Sie der offiziellen Dokumentation von Azure folgen. Dieser Arbeitsbereich dient als zentraler Ort für die Verwaltung aller AzureML-Ressourcen.
Compute-Instanz erstellen
Wählen Sie in Ihrem AzureML-Arbeitsbereich Compute > Compute-Instanzen > Neu aus und wählen Sie die Instanz mit den benötigten Ressourcen aus.
Schnellstart vom Terminal
Starten Sie Ihre Recheninstanz und öffnen Sie ein Terminal:
Virtualenv erstellen
Erstellen Sie Ihre virtuelle Conda-Umgebung mit Ihrer bevorzugten python-Version und installieren Sie pip darin: Python 3.13.1 hat einige Probleme mit einigen Abhängigkeiten in AzureML.
conda create --name yolo11env -y python=3.12
conda activate yolo11env
conda install pip -y
Installieren Sie die erforderlichen Abhängigkeiten:
cd ultralytics
pip install -r requirements.txt
pip install ultralytics
pip install onnx
YOLO11 Aufgaben ausführen
Vorhersagen:
yolo predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'
Trainieren Sie ein Erkennungsmodell für 10 Epochen mit einer anfänglichen learning_rate von 0,01:
yolo train data=coco8.yaml model=yolo11n.pt epochs=10 lr0=0.01
Weitere Anweisungen zur Verwendung der Ultralytics CLI finden Sie hier.
Schnellstart von einem Notebook
Einen neuen IPython-Kernel erstellen
Öffnen Sie das Compute-Terminal.
Von Ihrem Compute-Terminal aus müssen Sie einen neuen ipykernel erstellen (mit einer bestimmten Python-Version – da Python 3.13.1 einige Probleme mit einigen Abhängigkeiten in AzureML hat), der von Ihrem Notebook verwendet wird, um Ihre Abhängigkeiten zu verwalten:
conda create --name yolo11env -y python=3.12
conda activate yolo11env
conda install pip -y
conda install ipykernel -y
python -m ipykernel install --user --name yolo11env --display-name "yolo11env"
Schließen Sie Ihr Terminal und erstellen Sie ein neues Notebook. In Ihrem Notebook können Sie den neuen Kernel auswählen.
Anschließend können Sie eine Notebook-Zelle öffnen und die erforderlichen Abhängigkeiten installieren:
%%bash
source activate yolo11env
cd ultralytics
pip install -r requirements.txt
pip install ultralytics
pip install onnx
Beachten Sie, dass wir die folgenden verwenden müssen: source activate yolo11env
für alle %%bash-Zellen, um sicherzustellen, dass die %%bash-Zelle die gewünschte Umgebung verwendet.
Führen Sie einige Vorhersagen mit der Ultralytics CLI aus:
%%bash
source activate yolo11env
yolo predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'
Oder mit der Ultralytics Python-Schnittstelle, zum Beispiel um das Modell zu trainieren:
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.pt") # load an official YOLO11n 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
Sie können entweder die Ultralytics CLI- oder die Python-Schnittstelle verwenden, um YOLO11-Aufgaben auszuführen, wie im obigen Abschnitt zum Terminal beschrieben.
Indem Sie diese Schritte befolgen, sollten Sie YOLO11 schnell auf AzureML zum Laufen bringen, um schnelle Tests durchzuführen. Für fortgeschrittenere Anwendungen können Sie die vollständige AzureML-Dokumentation konsultieren, die am Anfang dieses Leitfadens verlinkt ist.
Mehr entdecken mit AzureML
Dieser Leitfaden dient als Einführung, um Sie mit YOLO11 auf AzureML zum Laufen zu bringen. Er kratzt jedoch nur an der Oberfläche dessen, was AzureML zu bieten hat. Um tiefer einzutauchen und das volle Potenzial von AzureML für Ihre Machine-Learning-Projekte auszuschöpfen, sollten Sie die folgenden Ressourcen in Betracht ziehen:
- Erstellen Sie ein Daten-Asset: Erfahren Sie, wie Sie Ihre Daten-Assets effektiv in der AzureML-Umgebung einrichten und verwalten.
- Initiieren Sie einen AzureML-Job: Erhalten Sie ein umfassendes Verständnis davon, wie Sie Ihre Machine-Learning-Trainingsjobs auf AzureML starten können.
- Modell registrieren: Machen Sie sich mit den Verfahren des Modellmanagements vertraut, einschließlich Registrierung, Versionierung und Bereitstellung.
- YOLO11 mit AzureML Python SDK trainieren: Entdecken Sie eine Schritt-für-Schritt-Anleitung zur Verwendung des AzureML Python SDK, um Ihre YOLO11-Modelle zu trainieren.
- YOLO11 mit AzureML CLI trainieren: Entdecken Sie, wie Sie die Befehlszeilenschnittstelle für ein optimiertes Training und Management von YOLO11-Modellen auf AzureML nutzen können.
FAQ
Wie führe ich YOLO11 auf AzureML für das Modelltraining aus?
Das Ausführen von YOLO11 auf AzureML für das Modelltraining umfasst mehrere Schritte:
-
Compute-Instanz erstellen: Navigieren Sie in Ihrem AzureML-Arbeitsbereich zu Compute > Compute-Instanzen > Neu, und wählen Sie die erforderliche Instanz aus.
-
Umgebung einrichten: Starten Sie Ihre Compute-Instanz, öffnen Sie ein Terminal und erstellen Sie eine Conda-Umgebung, und vergessen Sie nicht, Ihre Python-Version festzulegen (Python 3.13.1 wird noch nicht unterstützt):
conda create --name yolo11env -y python=3.12 conda activate yolo11env conda install pip -y pip install ultralytics onnx
-
YOLO11-Aufgaben ausführen: Verwenden Sie die Ultralytics CLI, um Ihr Modell zu trainieren:
yolo train data=coco8.yaml model=yolo11n.pt epochs=10 lr0=0.01
Weitere Informationen finden Sie in den Anweisungen zur Verwendung der Ultralytics CLI.
Welche Vorteile bietet die Verwendung von AzureML für das YOLO11-Training?
AzureML bietet ein robustes und effizientes Ökosystem für das Training von YOLO11-Modellen:
- Skalierbarkeit: Skalieren Sie Ihre Rechenressourcen einfach, wenn Ihre Daten und die Modellkomplexität wachsen.
- MLOps-Integration: Nutzen Sie Funktionen wie Versionierung, Überwachung und Auditierung, um ML-Operationen zu optimieren.
- Zusammenarbeit: Teilen und verwalten Sie Ressourcen innerhalb von Teams, um kollaborative Arbeitsabläufe zu verbessern.
Diese Vorteile machen AzureML zu einer idealen Plattform für Projekte, die von schnellen Prototypen bis hin zu groß angelegten Bereitstellungen reichen. Weitere Tipps finden Sie unter AzureML Jobs.
Wie behebe ich häufige Probleme, wenn ich YOLO11 auf AzureML ausführe?
Die Fehlersuche bei häufigen Problemen mit YOLO11 auf AzureML kann folgende Schritte umfassen:
- Probleme mit Abhängigkeiten: Stellen Sie sicher, dass alle erforderlichen Pakete installiert sind. Siehe die
requirements.txt
Datei für Abhängigkeiten. - Umgebungseinrichtung: Stellen Sie sicher, dass Ihre Conda-Umgebung korrekt aktiviert ist, bevor Sie Befehle ausführen.
- Ressourcenzuweisung: Stellen Sie sicher, dass Ihre Compute-Instanzen über genügend Ressourcen verfügen, um die Trainingslast zu bewältigen.
Weitere Anleitungen finden Sie in unserer YOLO Häufige Probleme-Dokumentation.
Kann ich sowohl die Ultralytics CLI als auch die Python-Schnittstelle auf AzureML verwenden?
Ja, AzureML ermöglicht Ihnen die nahtlose Nutzung sowohl der Ultralytics CLI als auch der Python-Schnittstelle:
-
CLI: Ideal für schnelle Aufgaben und die Ausführung von Standard-Skripten direkt vom Terminal aus.
yolo predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'
-
Python-Schnittstelle: Nützlich für komplexere Aufgaben, die benutzerdefinierte Programmierung und Integration in Notebooks erfordern.
from ultralytics import YOLO model = YOLO("yolo11n.pt") model.train(data="coco8.yaml", epochs=3)
Schritt-für-Schritt-Anleitungen finden Sie im CLI-Schnellstartleitfaden und im Python-Schnellstartleitfaden.
Welchen Vorteil bietet die Verwendung von Ultralytics YOLO11 gegenüber anderen Objekterkennungsmodellen?
Ultralytics YOLO11 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 Funktionen wie ankerfreiem Design und verbesserten Augmentierungsstrategien.
- Einfache Bedienung: Intuitive API und CLI für eine schnelle Einrichtung, wodurch es sowohl für Anfänger als auch für Experten zugänglich ist.
Um mehr über die Funktionen von YOLO11 zu erfahren, besuchen Sie die Ultralytics YOLO Seite für detaillierte Einblicke.