Beherrschung der YOLOv5 auf der Google Cloud Platform (GCP) Deep Learning VM
Sich auf die Reise der künstlichen Intelligenz (KI) und des maschinellen Lernens (ML) zu begeben, kann sehr aufregend sein, vor allem, wenn Sie die Leistung und Flexibilität einer Cloud-Computing-Plattform nutzen. Google Cloud Platform (GCP) bietet robuste Tools, die sowohl für ML-Enthusiasten als auch für Profis geeignet sind. Ein solches Tool ist die Deep Learning VM, die für Data Science- und ML-Aufgaben vorkonfiguriert ist. In diesem Lernprogramm werden wir den Prozess der Einrichtung von Ultralytics YOLOv5 auf einer GCP Deep Learning VM. Egal, ob Sie Ihre ersten Schritte in ML machen oder ein erfahrener Praktiker sind, dieser Leitfaden bietet einen klaren Weg zur Implementierung von Objekterkennungsmodellen, die von YOLOv5 unterstützt werden.
Und wenn Sie ein neuer GCP-Benutzer sind, haben Sie Glück: Sie erhalten ein kostenloses Guthaben in Höhe von 300 US-Dollar, um Ihre Projekte zu starten.
Entdecken Sie neben GCP auch andere zugängliche Schnellstartoptionen für YOLOv5, wie unser Google Colab Notebook für ein browserbasiertes Erlebnis, oder die Skalierbarkeit von Amazon AWS. Außerdem können Liebhaber von Containern unser offizielles Docker-Image verwenden, das auf Docker-Hub
für eine gekapselte Umgebung nach unserem Docker-Schnellstart-Anleitung.
Schritt 1: Erstellen und Konfigurieren Ihrer Deep Learning-VM
Beginnen wir mit der Erstellung einer virtuellen Maschine, die für Deep Learning optimiert ist:
- Navigieren Sie zum GCP-Marktplatz und wählen Sie die Deep Learning-VM aus.
- Wählen Sie eine n1-Standard-8-Instanz; sie bietet ein Gleichgewicht von 8 vCPUs und 30 GB Speicher, das für viele ML-Aufgaben geeignet ist.
- Wählen Sie eine GPU. Die Wahl hängt von Ihrer Arbeitslast ab; selbst ein einfacher GPU wird das Modelltraining erheblich beschleunigen.
- Aktivieren Sie das Kontrollkästchen "GPU beim ersten Start automatisch installieren", um eine reibungslose Einrichtung zu gewährleisten.
- Weisen Sie eine 300 GB SSD Persistent Disk zu, um E/A-Engpässe zu vermeiden.
- Klicken Sie auf "Bereitstellen" und erlauben Sie GCP, Ihre benutzerdefinierte Deep Learning-VM bereitzustellen.
Diese VM wird mit wichtigen Tools und Frameworks vorinstalliert, einschließlich der Anaconda Python , die viele notwendige Abhängigkeiten für YOLOv5 bündelt.
Schritt 2: Vorbereiten der VM für YOLOv5
Nachdem wir die Umgebung eingerichtet haben, können wir YOLOv5 installieren und einrichten:
# Clone the YOLOv5 repository from GitHub
git clone https://github.com/ultralytics/yolov5
# Navigate into the cloned repository directory
cd yolov5
# Install the required Python packages listed in requirements.txt
pip install -r requirements.txt
Dieser Setup-Prozess stellt sicher, dass Sie eine Python der Version 3.8.0 oder neuer haben und PyTorch 1.8 oder höher. Unsere Skripte laden automatisch Modelle und Datensätze aus der neuestenYOLOv5-Version herunter und vereinfachen so den Start der Modellschulung.
Schritt 3: Trainieren und Einsetzen Ihrer YOLOv5
Nach Abschluss der Einrichtung können Sie mit YOLOv5 auf Ihrer GCP-VM trainieren, validieren, vorhersagen und exportieren:
# Train a YOLOv5 model on your dataset (e.g., yolov5s)
python train.py --data coco128.yaml --weights yolov5s.pt --img 640
# Validate the trained model to check Precision, Recall, and mAP
python val.py --weights yolov5s.pt --data coco128.yaml
# Run inference using the trained model on images or videos
python detect.py --weights yolov5s.pt --source path/to/your/images_or_videos
# Export the trained model to various formats like ONNX, CoreML, TFLite for deployment
python export.py --weights yolov5s.pt --include onnx coreml tflite
Mit nur wenigen Befehlen können Sie mit YOLOv5 benutzerdefinierte Objekterkennungsmodelle trainieren, die auf Ihre spezifischen Bedürfnisse zugeschnitten sind, oder vortrainierte Gewichte für schnelle Ergebnisse bei verschiedenen Aufgaben verwenden. Erkunden Sie nach dem Export verschiedene Optionen für die Modellbereitstellung.
Swap Space zuweisen (optional)
Wenn Sie mit besonders großen Datensätzen arbeiten, die den Arbeitsspeicher Ihrer VM übersteigen könnten, sollten Sie Swap-Speicher hinzufügen, um Speicherfehler zu vermeiden:
# Allocate a 64GB swap file
sudo fallocate -l 64G /swapfile
# Set the correct permissions for the swap file
sudo chmod 600 /swapfile
# Set up the Linux swap area
sudo mkswap /swapfile
# Enable the swap file
sudo swapon /swapfile
# Verify the swap space allocation (should show increased swap memory)
free -h
Training benutzerdefinierter Datensätze
Um YOLOv5 auf Ihrem benutzerdefinierten Datensatz innerhalb von GCP zu trainieren, folgen Sie diesen allgemeinen Schritten:
- Bereiten Sie Ihren Datensatz gemäß dem YOLOv5 vor (Bilder und entsprechende Beschriftungsdateien). Eine Anleitung finden Sie in unserer Übersicht der Datensätze.
- Laden Sie Ihren Datensatz auf Ihre GCP-VM hoch mit
gcloud compute scp
oder die SSH-Funktion der Web-Konsole. - Erstellen Sie eine YAML-Datei zur Konfiguration des Datensatzes (
custom_dataset.yaml
), die die Pfade zu Ihren Trainings- und Validierungsdaten, die Anzahl der Klassen und die Klassennamen angibt. - Beginnen Sie den Trainingsprozess unter Verwendung Ihres benutzerdefinierten YAML-Datensatzes und möglicherweise ausgehend von vortrainierten Gewichten:
# Example: Train YOLOv5s on a custom dataset for 100 epochs
python train.py --img 640 --batch 16 --epochs 100 --data custom_dataset.yaml --weights yolov5s.pt
Umfassende Anweisungen zur Vorbereitung von Daten und zum Training mit benutzerdefinierten Datensätzen finden Sie in der Ultralytics YOLOv5 Train-Dokumentation.
Nutzung von Cloud-Speicher
Für eine effiziente Datenverwaltung, insbesondere bei großen Datensätzen oder zahlreichen Experimenten, integrieren Sie Ihren YOLOv5 mit Google Cloud Storage:
# Ensure Google Cloud SDK is installed and initialized
# If not installed: curl https://sdk.cloud.google.com/ | bash
# Then initialize: gcloud init
# Example: Copy your dataset from a GCS bucket to your VM
gsutil cp -r gs://your-data-bucket/my_dataset ./datasets/
# Example: Copy trained model weights from your VM to a GCS bucket
gsutil cp -r ./runs/train/exp/weights gs://your-models-bucket/yolov5_custom_weights/
Dieser Ansatz ermöglicht es Ihnen, große Datensätze und trainierte Modelle sicher und kostengünstig in der Cloud zu speichern und die Speicheranforderungen an Ihre VM-Instanz zu minimieren.
Abschließende Überlegungen
Herzlichen Glückwunsch! Sie sind nun in der Lage, die Fähigkeiten von Ultralytics YOLOv5 in Kombination mit der Rechenleistung der Google Cloud Platform zu nutzen. Dieses Setup bietet Skalierbarkeit, Effizienz und Vielseitigkeit für Ihre Objekterkennungsprojekte. Ob für die persönliche Erkundung, die akademische Forschung oder den Aufbau industrieller Lösungen, Sie haben einen bedeutenden Schritt in die Welt der KI und ML in der Cloud gemacht.
Ziehen Sie Ultralytics HUB in Betracht, um Ihre Modelle ohne Programmieraufwand zu trainieren und zu verwalten.
Denken Sie daran, Ihre Fortschritte zu dokumentieren, Erkenntnisse mit der lebhaften Ultralytics zu teilen und Ressourcen wie GitHub-Diskussionen für die Zusammenarbeit und Unterstützung zu nutzen. Nun, gehen Sie voran und innovieren Sie mit YOLOv5 und GCP!
Möchten Sie Ihre ML-Fähigkeiten weiter ausbauen? Tauchen Sie in unsere Dokumentation ein und erkunden Sie den Ultralytics Blog für weitere Anleitungen und Einblicke. Lassen Sie Ihr KI-Abenteuer weitergehen!