Ultralytics YOLO27: Trag dich auf die Warteliste ein.
Erste Schritte

Ultralytics YOLOv5 🚀 auf AzureML: Schnellstart

Dieser Leitfaden erklärt dir, wie du Ultralytics YOLOv5 auf einer Microsoft-Azure-Machine-Learning-(AzureML)-Compute-Instanz einrichtest – von der Erstellung einer virtuellen Umgebung bis zum Training und zur Inferenz mit dem Modell.

Was ist Azure?#

Azure ist die Cloud-Computing-Plattform von Microsoft. Sie bietet Dienste wie Rechenleistung, Datenbanken, Analysewerkzeuge, Funktionen für maschinelles Lernen und Netzwerklösungen. Mit Azure können Unternehmen Anwendungen und Dienste über von Microsoft verwaltete Rechenzentren entwickeln, bereitstellen und verwalten. So lassen sich Arbeitslasten von lokalen Infrastrukturen in die Cloud verlagern.

Was ist Azure Machine Learning (AzureML)?#

Azure Machine Learning (AzureML) ist ein spezialisierter Clouddienst für die Entwicklung, das Training und die Bereitstellung von Modellen für maschinelles Lernen. Der Dienst bietet eine kollaborative Umgebung mit Werkzeugen für Data Scientists und Entwickler aller Erfahrungsstufen. Zu den wichtigsten Funktionen gehören automatisiertes maschinelles Lernen (AutoML), eine Drag-and-drop-Oberfläche zur Modellerstellung und ein Python-SDK für eine genauere Kontrolle über den Lebenszyklus des ML-Modells. AzureML vereinfacht die Integration von Vorhersagemodellen in Anwendungen.

Voraussetzungen#

Für diese Anleitung benötigst du ein aktives Azure-Abonnement und Zugriff auf einen AzureML-Arbeitsbereich. Wenn du noch keinen Arbeitsbereich eingerichtet hast, findest du in der offiziellen Azure-Dokumentation, wie du einen erstellst.

Eine Compute-Instanz erstellen#

Eine Compute-Instanz in AzureML bietet Data Scientists eine verwaltete, cloudbasierte Arbeitsstation.

  1. Rufe deinen AzureML-Arbeitsbereich auf.
  2. Wähle im linken Bereich Compute aus.
  3. Öffne die Registerkarte Compute instances und klicke auf New.
  4. Konfiguriere deine Instanz, indem du je nach Bedarf für Training oder Inferenz die passenden CPU- oder GPU-Ressourcen auswählst.
Azure ML create compute instance interface

Ein Terminal öffnen#

Sobald deine Compute-Instanz ausgeführt wird, kannst du direkt über AzureML Studio auf ihr Terminal zugreifen.

  1. Öffne im linken Bereich den Abschnitt Notebooks.
  2. Wähle deine Compute-Instanz im Dropdown-Menü oben aus.
  3. Klicke unterhalb des Dateibrowsers auf Terminal, um eine Befehlszeile für deine Instanz zu öffnen.

Position der Schaltfläche zum Öffnen des Terminals in Azure ML

YOLOv5 einrichten und ausführen#

Richte als Nächstes die Umgebung ein und führe Ultralytics YOLOv5 aus.

1. Virtuelle Umgebung erstellen#

Es empfiehlt sich, Abhängigkeiten in einer virtuellen Umgebung zu verwalten. Wir verwenden Conda, das auf AzureML-Compute-Instanzen vorinstalliert ist. Eine ausführliche Anleitung zur Einrichtung von Conda findest du in der Conda-Schnellstartanleitung von Ultralytics.

Erstelle eine Conda-Umgebung (z. B. yolov5env) mit einer bestimmten Python-Version und aktiviere sie:

conda create --name yolov5env -y python=3.10 # Create a new Conda environment
conda activate yolov5env                     # Activate the environment
conda install pip -y                         # Ensure pip is installed

2. YOLOv5-Repository klonen#

Klone das offizielle Ultralytics-YOLOv5-Repository von GitHub mit Git:

git clone https://github.com/ultralytics/yolov5 # Clone the repository
cd yolov5                                       # Navigate into the directory

3. Abhängigkeiten installieren#

Installiere die erforderlichen Python-Pakete, die in der Datei requirements.txt aufgeführt sind. Für den Modell-Export installieren wir außerdem ONNX.

pip install -r requirements.txt # Install core dependencies
pip install "onnx>=1.12.0"      # Install ONNX for exporting

4. YOLOv5-Aufgaben ausführen#

Nach abgeschlossener Einrichtung kannst du dein YOLOv5-Modell trainieren, validieren, für Inferenz verwenden und exportieren.

  • Trainiere das Modell auf einem Datensatz wie COCO128.

    # Start training using yolov5s pretrained weights on the COCO128 dataset
    python train.py --data coco128.yaml --weights yolov5s.pt --img 640 --epochs 10 --batch 16
  • Validiere die Leistung des trainierten Modells anhand von Kennzahlen wie Precision, Recall und mAP. Führe python val.py --help aus, um alle Optionen anzuzeigen.

    # Validate the yolov5s model on the COCO128 validation set
    python val.py --weights yolov5s.pt --data coco128.yaml --img 640
  • Führe Inferenz aus für neue Bilder oder Videos. Informationen zu den unterstützten Inferenzquellen findest du in der YOLOv5-Schnellstartanleitung.

    # Run inference with yolov5s on sample images
    python detect.py --weights yolov5s.pt --source data/images --img 640
  • Exportiere das Modell für die Bereitstellung in verschiedene Formate wie ONNX, TensorRT oder CoreML. Sieh dir dazu das Tutorial Modell exportieren und die Seite zur ONNX-Integration an.

    # Export yolov5s to ONNX format
    python export.py --weights yolov5s.pt --include onnx --img 640

Ein Notebook verwenden#

Wenn du lieber interaktiv arbeitest, kannst du diese Befehle in einem AzureML-Notebook ausführen. Dafür musst du einen benutzerdefinierten IPython-Kernel erstellen, der mit deiner Conda-Umgebung verknüpft ist.

Einen neuen IPython-Kernel erstellen#

Führe die folgenden Befehle im Terminal deiner Compute-Instanz aus:

# Ensure your Conda environment is active
# conda activate yolov5env

# Install ipykernel if not already present
conda install ipykernel -y

# Create a new kernel linked to your environment
python -m ipykernel install --user --name yolov5env --display-name "Python (yolov5env)"

Aktualisiere nach dem Erstellen des Kernels deinen Browser. Wenn du eine .ipynb-Notebookdatei öffnest oder erstellst, wähle im Kernel-Dropdown-Menü oben rechts deinen neuen Kernel („Python (yolov5env)“) aus.

Befehle in Notebook-Zellen ausführen#

  • Python-Zellen: Code in Python-Zellen wird automatisch mit dem ausgewählten Kernel yolov5env ausgeführt.

  • Bash-Zellen: Verwende zum Ausführen von Shell-Befehlen den Magic-Befehl %%bash am Anfang der Zelle. Aktiviere deine Conda-Umgebung in jeder Bash-Zelle erneut, da sie den Umgebungs-Kontext des Notebook-Kernels nicht automatisch übernehmen.

    %%bash
    source activate yolov5env # Activate environment within the cell
    
    # Example: Run validation using the activated environment
    python val.py --weights yolov5s.pt --data coco128.yaml --img 640

Du hast Ultralytics YOLOv5 jetzt auf AzureML eingerichtet und ausgeführt. Für fortgeschrittene Anwendungsfälle wie verteiltes Training oder die Bereitstellung eines Modells als Endpunkt könnte auch die AzureML-Dokumentation hilfreich sein.

Häufig gestellte Fragen#

  • Eine CPU-Instanz reicht für Inferenz und kurze Testläufe mit COCO128 aus, für echtes Training benötigst du jedoch eine GPU-Instanz. Wähle beim Erstellen der Compute-Instanz eine GPU-VM aus und prüfe mit python -c "import torch; print(torch.cuda.is_available())", ob PyTorch die GPU erkennt.

  • Bash-Zellen übernehmen nicht die Umgebung des Notebook-Kernels. Beginne jede %%bash-Zelle mit source activate yolov5env oder führe Python-Zellen mit dem erstellten Kernel Python (yolov5env) aus.

  • Dateien im Dateifreigabebereich des Arbeitsbereichs, der unter ~/cloudfiles eingebunden ist, bleiben beim Anhalten erhalten und sind auf anderen Compute-Instanzen verfügbar. Alle anderen Dateien auf der Instanzfestplatte bleiben erhalten, solange die Instanz besteht, gehen aber beim Löschen der Instanz verloren.

  • Ja. Mit pip install ultralytics kannst du YOLO26 in derselben Conda-Umgebung mit der CLI yolo trainieren, validieren und exportieren.

Kommentare

Stell eine Frage, teile deine Ergebnisse oder hilf jemand anderem.