Zum Inhalt springen

Ultralytics YOLOv5 🚀 auf AzureML Schnellstart

Willkommen bei den Ultralytics YOLOv5 Schnellstartanleitung für Microsoft Azure Machine Learning (AzureML)! Diese Anleitung führt Sie durch die Einrichtung von YOLOv5 auf einer AzureML-Recheninstanz und deckt alles ab, von der Erstellung einer virtuellen Umgebung bis zum Training und der Ausführung von Inferenzen mit dem Modell.

Was ist Azure?

Azure ist die umfassende Cloud-Computing-Plattform von Microsoft. Sie bietet eine breite Palette von Diensten, darunter Rechenleistung, Datenbanken, Analysetools, maschinelle Lernfunktionen und Netzwerklösungen. Azure ermöglicht es Unternehmen, Anwendungen und Dienste über Microsoft Rechenzentren zu erstellen, bereitzustellen und zu verwalten und erleichtert die Migration von Arbeitslasten von der lokalen Infrastruktur in die Cloud.

Was ist Azure Machine Learning (AzureML)?

Azure Machine Learning (AzureML) ist ein spezialisierter Cloud-Dienst, der für die Entwicklung, das Training und die Bereitstellung von Modellen für maschinelles Lernen konzipiert ist. Er bietet eine kollaborative Umgebung mit Tools, die für Datenwissenschaftler und Entwickler aller Qualifikationsstufen geeignet sind. Zu den wichtigsten Funktionen gehören automatisiertes maschinelles Lernen (AutoML), eine Drag-and-Drop-Schnittstelle für die Modellerstellung und eine leistungsstarke Python SDK für eine detailliertere Kontrolle über den ML-Lebenszyklus. AzureML vereinfacht den Prozess der Einbettung von Vorhersagemodellen in Anwendungen.

Voraussetzungen

Um dieser Anleitung zu folgen, benötigen Sie ein aktives Azure-Abonnement und Zugriff auf einen AzureML-Arbeitsbereich. Wenn Sie noch keinen Arbeitsbereich eingerichtet haben, lesen Sie bitte die offizielle Azure-Dokumentation, um einen zu erstellen.

Erstellen einer Compute-Instanz

Eine Compute-Instanz in AzureML bietet einen verwalteten Cloud-basierten Arbeitsplatz für Datenwissenschaftler.

  1. Navigieren Sie zu Ihrem AzureML-Arbeitsbereich.
  2. Wählen Sie im linken Fensterbereich die Option Berechnen.
  3. Gehen Sie auf die Registerkarte Compute-Instanzen und klicken Sie auf Neu.
  4. Konfigurieren Sie Ihre Instanz durch Auswahl der entsprechenden CPU oder GPU Ressourcen auf der Grundlage Ihrer Anforderungen für Training oder Inferenz.

create-compute-arrow

Öffnen Sie ein Terminal

Sobald Ihre Compute-Instanz läuft, können Sie direkt vom AzureML-Studio aus auf ihr Terminal zugreifen.

  1. Gehen Sie zum Abschnitt Notizbücher im linken Fensterbereich.
  2. Suchen Sie Ihre Compute-Instanz im oberen Dropdown-Menü.
  3. Klicken Sie auf die Option Terminal unterhalb des Dateibrowsers, um eine Befehlszeilenschnittstelle zu Ihrer Instanz zu öffnen.

open-terminal-arrow

YOLOv5 einrichten und ausführen

Lassen Sie uns nun die Umgebung einrichten und Ultralytics YOLOv5 ausführen.

1. Erstellen Sie eine virtuelle Umgebung

Es empfiehlt sich, eine virtuelle Umgebung zu verwenden, um Abhängigkeiten zu verwalten. Wir werden Conda verwenden, das auf AzureML-Compute-Instanzen vorinstalliert ist. Eine detaillierte Anleitung zur Einrichtung von Conda finden Sie im Ultralytics Conda Quickstart Guide.

Erstellen Sie eine Conda-Umgebung (z.B., yolov5env) mit einer bestimmten Python und aktivieren Sie 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 klonen

Klonen Sie das offizielle Ultralytics YOLOv5 von GitHub mit Git:

git clone https://github.com/ultralytics/yolov5 # Clone the repository
cd yolov5                                       # Navigate into the directory
# Initialize submodules (if any, though YOLOv5 typically doesn't require this step)
# git submodule update --init --recursive

3. Abhängigkeiten installieren

Installieren Sie die erforderlichen Python , die in der Datei requirements.txt Datei. Wir installieren auch ONNX für Modellexportmöglichkeiten.

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

4. YOLOv5 durchführen

Nachdem die Einrichtung abgeschlossen ist, können Sie nun Ihr YOLOv5 trainieren, validieren, inferenzieren und exportieren.

  • Trainieren Sie das Modell mit einem Datensatz wie COCO128. In der Dokumentation zum Trainingsmodus finden Sie weitere Einzelheiten.

    # 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
    
  • Validieren Sie die Leistung des trainierten Modells anhand von Metriken wie Precision, Recall und mAP. Optionen finden Sie in der Anleitung zum Validierungsmodus.

    # Validate the yolov5s model on the COCO128 validation set
    python val.py --weights yolov5s.pt --data coco128.yaml --img 640
    
  • Führen Sie die Inferenz für neue Bilder oder Videos aus. Informieren Sie sich in der Dokumentation zum Prognosemodus über die verschiedenen Inferenzquellen.

    # Run inference with yolov5s on sample images
    python detect.py --weights yolov5s.pt --source data/images --img 640
    
  • Exportieren Sie das Modell in verschiedene Formate wie ONNX, TensorRT, oder CoreML für den Einsatz. Siehe die Anleitung zum Exportmodus und die ONNX Integrationsseite.

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

Verwendung eines Notebooks

Wenn Sie eine interaktive Erfahrung bevorzugen, können Sie diese Befehle in einem AzureML Notebook ausführen. Sie müssen einen eigenen IPython-Kernel erstellen, der mit Ihrer Conda-Umgebung verknüpft ist.

Einen neuen IPython-Kernel erstellen

Führen Sie die folgenden Befehle in Ihrem Compute-Instance-Terminal 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)"

Aktualisieren Sie nach der Erstellung des Kernels Ihren Browser. Wenn Sie eine Datei öffnen oder erstellen .ipynb notebook-Datei, wählen Sie Ihren neuen Kernel (Python (yolov5env)") aus dem Kernel-Dropdown-Menü oben rechts.

Befehle in Notebook-Zellen ausführen

  • Python : Code in Python wird automatisch unter Verwendung der ausgewählten yolov5env Kernel.

  • Bash : Um Shell-Befehle auszuführen, verwenden Sie die %%bash Befehl am Anfang der Zelle. Denken Sie daran, Ihre Conda-Umgebung innerhalb jeder bash zu aktivieren, da sie nicht automatisch den Kernel-Umgebungskontext des Notebooks erben.

    %%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
    

Herzlichen Glückwunsch! Sie haben Ultralytics YOLOv5 auf AzureML erfolgreich eingerichtet und ausgeführt. Für weitere Untersuchungen sollten Sie sich andere Ultralytics oder die detaillierte YOLOv5 ansehen. Die AzureML-Dokumentation könnte auch für fortgeschrittene Szenarien wie verteilte Schulung oder Modellbereitstellung als Endpunkt nützlich sein.



📅 Erstellt vor 1 Jahr ✏️ Aktualisiert vor 2 Monaten

Kommentare