Ultralytics YOLOv5 🚀 auf AzureML Quickstart
Willkommen beim Ultralytics YOLOv5 Schnellstart-Leitfaden für Microsoft Azure Machine Learning (AzureML)! Dieser Leitfaden führt Sie durch die Einrichtung von YOLOv5 auf einer AzureML-Compute-Instanz und behandelt alles von der Erstellung einer virtuellen Umgebung bis zum Training und der Ausführung von Inferenz mit dem Modell.
Was ist Azure?
Azure ist Microsofts umfassende Cloud-Computing-Plattform. Sie bietet eine Vielzahl von Diensten, darunter Rechenleistung, Datenbanken, Analysetools, Machine-Learning-Funktionen und Netzwerklösungen. Azure ermöglicht es Unternehmen, Anwendungen und Dienste über von Microsoft verwaltete Rechenzentren zu erstellen, bereitzustellen und zu verwalten, und erleichtert so die Migration von Workloads von der lokalen Infrastruktur in die Cloud.
Was ist Azure Machine Learning (AzureML)?
Azure Machine Learning (AzureML) ist ein spezialisierter Cloud-Service, der für die Entwicklung, das Training und die Bereitstellung von Machine-Learning-Modellen entwickelt wurde. Es bietet eine kollaborative Umgebung mit Tools, die für Data Scientists und Entwickler aller Qualifikationsstufen geeignet sind. Zu den Hauptmerkmalen gehören automatisiertes Machine Learning (AutoML), eine Drag-and-Drop-Oberfläche für die Modellerstellung und ein leistungsstarkes Python SDK für eine detailliertere Kontrolle über den ML-Lebenszyklus. AzureML vereinfacht den Prozess der Einbettung von prädiktiver Modellierung in Anwendungen.
Voraussetzungen
Um diesem Leitfaden 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 solchen zu erstellen.
Compute Instance erstellen
Eine Compute Instance in AzureML bietet eine verwaltete, Cloud-basierte Workstation für Data Scientists.
- Navigieren Sie zu Ihrem AzureML-Arbeitsbereich.
- Wählen Sie im linken Bereich Compute aus.
- Gehen Sie zum Tab Compute Instances und klicken Sie auf Neu.
- Konfigurieren Sie Ihre Instanz, indem Sie die entsprechenden CPU- oder GPU-Ressourcen auswählen, basierend auf Ihren Anforderungen für Training oder Inferenz.
Terminal öffnen
Sobald Ihre Compute-Instanz ausgeführt wird, können Sie direkt über das AzureML Studio auf ihr Terminal zugreifen.
- Gehen Sie zum Abschnitt Notebooks im linken Bereich.
- Finden Sie Ihre Compute-Instanz im oberen Dropdown-Menü.
- Klicken Sie auf die Option Terminal unterhalb des Dateibrowsers, um eine Befehlszeilenschnittstelle zu Ihrer Instanz zu öffnen.
Einrichtung und Ausführung von YOLOv5
Lassen Sie uns nun die Umgebung einrichten und Ultralytics YOLOv5 ausführen.
1. Erstellen Sie eine virtuelle Umgebung
Es hat sich bewährt, eine virtuelle Umgebung zu verwenden, um Abhängigkeiten zu verwalten. Wir verwenden Conda, das auf AzureML-Compute-Instanzen vorinstalliert ist. Eine detaillierte Conda-Einrichtungsanleitung finden Sie im Ultralytics Conda-Schnellstart-Leitfaden.
Eine Conda-Umgebung erstellen (z. B. yolov5env
) mit einer bestimmten Python-Version und aktivieren Sie diese:
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. Klonen Sie das YOLOv5 Repository
Klonen Sie 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
# Initialize submodules (if any, though YOLOv5 typically doesn't require this step)
# git submodule update --init --recursive
3. Installieren Sie Abhängigkeiten
Installieren Sie die notwendigen Python-Pakete, die in der requirements.txt
Datei. Wir installieren auch ONNX für Modellexportfunktionen.
pip install -r requirements.txt # Install core dependencies
pip install onnx > =1.12.0 # Install ONNX for exporting
4. Führen Sie YOLOv5 Aufgaben aus
Nachdem die Einrichtung abgeschlossen ist, können Sie Ihr YOLOv5-Modell trainieren, validieren, Inferenz durchführen und exportieren.
-
Trainieren Sie das Modell mit einem Datensatz wie COCO128. Weitere Informationen finden Sie in der Dokumentation zum Trainingsmodus.
# 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 (Präzision), Recall (Trefferquote) und mAP. Weitere Optionen finden Sie im Leitfaden zum Validierungsmodus.
# Validate the yolov5s model on the COCO128 validation set python val.py --weights yolov5s.pt --data coco128.yaml --img 640
-
Inferenz ausführen auf neuen Bildern oder Videos. Erkunden Sie die Dokumentation zum Vorhersagemodus für verschiedene 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 die Bereitstellung. Beachten Sie die Anleitung zum Exportmodus und die Seite zur ONNX-Integration.
# 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 benutzerdefinierten IPython-Kernel erstellen, der mit Ihrer Conda-Umgebung verknüpft ist.
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)"
Nachdem Sie den Kernel erstellt haben, aktualisieren Sie Ihren Browser. Wenn Sie eine Datei öffnen oder erstellen, .ipynb
Notebook-Datei, wählen Sie Ihren neuen Kernel („Python (yolov5env)“) aus dem Dropdown-Menü des Kernels oben rechts.
Befehle in Notebook-Zellen ausführen
-
Python-Zellen: Code in Python-Zellen wird automatisch mit dem ausgewählten Code ausgeführt
yolov5env
Kernel. -
Bash-Zellen: Um Shell-Befehle auszuführen, verwenden Sie die
%%bash
Magic Command am Anfang der Zelle. Denken Sie daran, Ihre Conda-Umgebung innerhalb jeder bash-Zelle zu aktivieren, da diese den Kernel-Umgebungskontext des Notebooks 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
Herzlichen Glückwunsch! Sie haben Ultralytics YOLOv5 erfolgreich auf AzureML eingerichtet und ausgeführt. Für weitere Erkundungen sollten Sie sich andere Ultralytics-Integrationen oder die detaillierte YOLOv5-Dokumentation ansehen. Möglicherweise finden Sie auch die AzureML-Dokumentation für fortgeschrittene Szenarien wie verteiltes Training oder Modellbereitstellung als Endpunkt nützlich.