Beherrschung der YOLOv5 auf der Google Cloud Platform (GCP) Deep Learning VM
Die Reise in die Welt der künstlichen Intelligenz und des maschinellen Lernens kann sehr aufregend sein, vor allem, wenn Sie die Leistung und Flexibilität einer Cloud-Plattform nutzen. Google Cloud Platform (GCP) bietet robuste Tools, die auf Enthusiasten und Profis des maschinellen Lernens gleichermaßen zugeschnitten sind. Ein solches Tool ist die Deep Learning VM, die für Data Science- und ML-Aufgaben vorkonfiguriert ist. In diesem Tutorial navigieren wir durch den Prozess der Einrichtung von YOLOv5 auf einer GCP Deep Learning VM. Egal, ob Sie Ihre ersten Schritte im Bereich ML machen oder ein erfahrener Praktiker sind, dieser Leitfaden soll Ihnen einen klaren Weg zur Implementierung von Objekterkennungsmodellen mit YOLOv5 aufzeigen.
Wenn Sie ein neuer GCP-Benutzer sind, können Sie sich über ein kostenloses Guthaben in Höhe von 300 US-Dollar freuen, 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 Container-Liebhaber unser offizielles Docker-Image unter Docker-Hub
für eine gekapselte Umgebung.
Schritt 1: Erstellen und Konfigurieren Ihrer Deep Learning-VM
Beginnen wir mit der Erstellung einer virtuellen Maschine, die auf Deep Learning abgestimmt ist:
- Rufen Sie den GCP-Marktplatz auf und wählen Sie die Deep Learning-VM aus.
- Entscheiden Sie sich für eine n1-Standard-8-Instanz; sie bietet ein Gleichgewicht von 8 vCPUs und 30 GB Arbeitsspeicher und ist damit ideal für unsere Bedürfnisse geeignet.
- Als Nächstes wählen Sie ein GPU. Dies hängt von Ihrer Arbeitsbelastung ab; selbst ein einfaches Modell wie das T4 wird Ihr Modelltraining deutlich beschleunigen.
- Aktivieren Sie das Kontrollkästchen " NVIDIA GPU Treiber automatisch beim ersten Start installieren?", um eine problemlose Einrichtung zu gewährleisten.
- Weisen Sie eine 300 GB SSD Persistent Disk zu, um sicherzustellen, dass Sie bei E/A-Vorgängen keine Engpässe haben.
- Klicken Sie auf "Bereitstellen" und lassen Sie GCP bei der Bereitstellung Ihrer benutzerdefinierten Deep Learning-VM seine Arbeit machen.
Diese VM wird mit einer Fülle von vorinstallierten Tools und Frameworks ausgeliefert, darunter die Anaconda Python Distribution, die alle notwendigen Abhängigkeiten für YOLOv5 bündelt.
Schritt 2: Vorbereiten der VM für YOLOv5
Nach der Einrichtung der Umgebung können wir YOLOv5 zum Laufen bringen:
# Clone the YOLOv5 repository
git clone https://github.com/ultralytics/yolov5
# Change the directory to the cloned repository
cd yolov5
# Install the necessary Python packages from requirements.txt
pip install -r requirements.txt
Dieser Setup-Prozess stellt sicher, dass Sie mit einer Python der Version 3.8.0 oder neuer arbeiten und PyTorch 1.8 oder höher arbeiten. Unsere Skripte laden Modelle und Datensätze direkt aus der neuestenYOLOv5-Version herunter, sodass Sie problemlos mit dem Modelltraining beginnen können.
Schritt 3: Trainieren und Einsetzen Ihrer YOLOv5
Nachdem die Einrichtung abgeschlossen ist, können Sie mit YOLOv5 auf Ihrer GCP-VM mit dem Training und der Inferenz beginnen:
# Train a model on your data
python train.py
# Validate the trained model for Precision, Recall, and mAP
python val.py --weights yolov5s.pt
# Run inference using the trained model on your images or videos
python detect.py --weights yolov5s.pt --source path/to/images
# Export the trained model to other formats for deployment
python export.py --weights yolov5s.pt --include onnx coreml tflite
Mit nur wenigen Befehlen ermöglicht YOLOv5 das Trainieren von benutzerdefinierten Objekterkennungsmodellen, die auf Ihre speziellen Bedürfnisse zugeschnitten sind, oder die Verwendung von vortrainierten Gewichten für schnelle Ergebnisse bei einer Vielzahl von Aufgaben.
Swap Space zuweisen (optional)
Wenn Sie mit großen Datensätzen arbeiten, sollten Sie Ihre GCP-Instanz mit zusätzlichem 64 GB Swap-Speicher erweitern:
sudo fallocate -l 64G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
free -h # confirm the memory increment
Training benutzerdefinierter Datensätze
Um YOLOv5 auf Ihrem benutzerdefinierten Datensatz in GCP zu trainieren, folgen Sie diesen Schritten:
- Bereiten Sie Ihren Datensatz im YOLOv5 vor (Bilder und Beschriftungen)
- Laden Sie Ihren Datensatz auf Ihre GCP-VM hoch mit
gcloud
oder SCP - Erstellen einer YAML-Datei mit Pfaden und Klassen
- Beginnen Sie das Training mit den entsprechenden Parametern:
Ausführlichere Anweisungen zum Training mit benutzerdefinierten Datensätzen finden Sie in der Ultralytics YOLOv5 .
Nutzung von Cloud-Speicher
Für eine effiziente Datenverwaltung können Sie Ihren YOLOv5 mit Google Cloud Storage integrieren:
# Install Google Cloud SDK if not already installed
curl https://sdk.cloud.google.com | bash
gcloud init
# Copy data to/from Cloud Storage
gsutil cp -r gs://your-bucket/dataset ./
gsutil cp -r ./runs/train/exp/weights gs://your-bucket/models/
Dieser Ansatz ermöglicht es Ihnen, große Datensätze und trainierte Modelle sicher in der Cloud zu speichern und gleichzeitig die Anforderungen an den VM-Speicher gering zu halten.
Abschließende Überlegungen
Herzlichen Glückwunsch! Sie sind nun in der Lage, die Fähigkeiten von YOLOv5 mit der Rechenleistung von Google Cloud Platform zu nutzen. Diese Kombination bietet Skalierbarkeit, Effizienz und Vielseitigkeit für Ihre Objekterkennungsaufgaben. Ob für persönliche Projekte, akademische Forschung oder industrielle Anwendungen - Sie haben einen entscheidenden Schritt in die Welt der KI und des maschinellen Lernens in der Cloud getan.
Denken Sie daran, Ihre Reise zu dokumentieren, Erkenntnisse mit der Ultralytics zu teilen und die kollaborativen Arenen wie GitHub-Diskussionen zu nutzen, um weiter zu wachsen. Nun, gehen Sie voran und innovieren Sie mit YOLOv5 und GCP!
Möchten Sie Ihre ML-Fähigkeiten und -Kenntnisse weiter verbessern? In unserer Dokumentation und unseren Tutorials finden Sie weitere Ressourcen. Lassen Sie Ihr KI-Abenteuer weitergehen!