Ultralytics YOLO27:
Get Started

Ultralytics YOLOv5 🚀 auf AzureML: Schnellstart#

Willkommen bei der Ultralytics-Schnellstartanleitung für YOLOv5 auf Microsoft Azure Machine Learning (AzureML)! Diese Anleitung führt dich durch die Einrichtung von YOLOv5 auf einer AzureML-Compute-Instanz – von der Erstellung einer virtuellen Umgebung bis zum Training und zur Inferenz mit dem Modell.

Was ist Azure?#

Azure ist die umfassende Cloud-Computing-Plattform von Microsoft. Sie bietet zahlreiche Dienste, darunter Rechenleistung, Datenbanken, Analysetools, 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 Workloads von lokalen Infrastrukturen in die Cloud verlagern.

Was ist Azure Machine Learning (AzureML)?#

Azure Machine Learning (AzureML) ist ein spezialisierter Cloud-Dienst für die Entwicklung, das Training und die Bereitstellung von Modellen des maschinellen Lernens. Er bietet eine kollaborative Umgebung mit geeigneten Tools für Data Scientists und Entwickler aller Erfahrungsstufen. Zu den wichtigsten Funktionen gehören automatisiertes maschinelles Lernen (AutoML), eine Drag-and-drop-Oberfläche für die Modellerstellung und ein leistungsstarkes Python-SDK für eine präzisere Steuerung des ML-Lebenszyklus. 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#

Richten wir nun die Umgebung ein und führen 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#

Klon 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 mit einem Datensatz wie COCO128. Weitere Informationen findest du im Tutorial Benutzerdefinierte Daten trainieren.

    # 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

Glückwunsch! Du hast Ultralytics YOLOv5 erfolgreich auf AzureML eingerichtet und ausgeführt. Weitere Anregungen findest du in den anderen Ultralytics-Integrationen und in der ausführlichen YOLOv5-Dokumentation. Für fortgeschrittene Anwendungsfälle wie verteiltes Training oder die Bereitstellung eines Modells als Endpunkt kann 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. pip install ultralytics ermöglicht dir YOLO26-Training, -Validierung und -Export über die CLI yolo in derselben Conda-Umgebung. Eine Anleitung zur Verwendung des Pakets findest du in der AzureML-Schnellstartanleitung.

Kommentare