Ultralytics YOLOv5 🚀 auf AWS Deep Learning Instance: Ihr umfassender Leitfaden
Die Einrichtung einer leistungsstarken Deep-Learning-Umgebung kann entmutigend erscheinen, insbesondere für Neulinge. Aber keine Angst! 🛠️ Dieser Leitfaden bietet eine schrittweise Anleitung, um Ultralytics YOLOv5 auf einer AWS Deep Learning-Instanz zum Laufen zu bringen. Durch die Nutzung der Leistungsfähigkeit von Amazon Web Services (AWS) können auch diejenigen, die neu im Bereich maschinelles Lernen (ML) sind, schnell und kostengünstig starten. Die Skalierbarkeit der AWS-Plattform macht sie ideal für sowohl Experimente als auch für die Bereitstellung in der Produktion.
Weitere Schnellstartoptionen für YOLOv5 beinhalten unser Google Colab Notebook , Kaggle-Umgebungen
, GCP Deep Learning VM, und unser vorgefertigtes Docker-Image ist verfügbar auf Docker Hub
.
Schritt 1: AWS-Konsolenanmeldung
Erstellen Sie zunächst ein Konto oder melden Sie sich bei der AWS Management Console an. Navigieren Sie nach der Anmeldung zum Service-Dashboard EC2, wo Sie Ihre virtuellen Server (Instanzen) verwalten können.
Schritt 2: Starten Sie Ihre Instanz
Klicken Sie im EC2-Dashboard auf die Schaltfläche Launch Instance. Dadurch wird der Prozess der Erstellung eines neuen virtuellen Servers gestartet, der auf Ihre Bedürfnisse zugeschnitten ist.
Auswahl des richtigen Amazon Machine Image (AMI)
Die Wahl des richtigen AMI ist entscheidend. Dies bestimmt das Betriebssystem und die vorinstallierte Software für Ihre Instanz. Geben Sie in der Suchleiste 'Deep Learning' ein und wählen Sie das neueste Ubuntu-basierte Deep Learning AMI aus (es sei denn, Sie haben spezielle Anforderungen an ein anderes Betriebssystem). Die Deep Learning AMIs von Amazon sind vorkonfiguriert mit gängigen Deep-Learning-Frameworks (wie PyTorch, das von YOLOv5 verwendet wird) und den notwendigen GPU-Treibern, was den Einrichtungsprozess erheblich vereinfacht.
Auswahl eines Instanztyps
Für anspruchsvolle Aufgaben wie das Training von Deep-Learning-Modellen wird die Auswahl eines GPU-beschleunigten Instanztyps dringend empfohlen. GPUs können die für das Modelltraining benötigte Zeit im Vergleich zu CPUs erheblich reduzieren. Achten Sie bei der Wahl der Instanzgröße darauf, dass die Speicherkapazität (RAM) für Ihr Modell und Ihren Datensatz ausreichend ist.
Hinweis: Die Größe Ihres Modells und Datensatzes sind entscheidende Faktoren. Wenn Ihre ML-Aufgabe mehr Speicher benötigt, als die ausgewählte Instanz bereitstellt, müssen Sie einen größeren Instanztyp wählen, um Leistungsprobleme oder Fehler zu vermeiden.
Erkunde die verfügbaren GPU-Instanztypen auf der Seite EC2-Instanztypen, insbesondere in der Kategorie Beschleunigtes Computing.
Detaillierte Informationen zur Überwachung und Optimierung der GPU-Nutzung finden Sie im AWS-Leitfaden zur GPU-Überwachung und -Optimierung. Vergleichen Sie die Kosten mit der On-Demand-Preisgestaltung und erkunden Sie mögliche Einsparungen mit der Spot Instance-Preisgestaltung.
Konfigurieren Ihrer Instanz
Erwägen Sie die Verwendung von Amazon EC2 Spot Instances für einen kostengünstigeren Ansatz. Spot Instances ermöglichen es Ihnen, auf ungenutzte EC2-Kapazität zu bieten, oft mit einem erheblichen Rabatt im Vergleich zu On-Demand-Preisen. Wählen Sie für Aufgaben, die Persistenz erfordern (Speichern von Daten, auch wenn die Spot Instance unterbrochen wird), eine persistente Anfrage. Dies stellt sicher, dass Ihr Speichervolumen erhalten bleibt.
Fahren Sie mit den Schritten 4-7 des Instance-Startassistenten fort, um Speicher zu konfigurieren, Tags hinzuzufügen, Sicherheitsgruppen einzurichten (stellen Sie sicher, dass der SSH-Port 22 von Ihrer IP-Adresse aus geöffnet ist) und überprüfen Sie Ihre Einstellungen, bevor Sie auf Starten klicken. Sie müssen auch ein Schlüsselpaar erstellen oder ein vorhandenes auswählen, um einen sicheren SSH-Zugriff zu gewährleisten.
Schritt 3: Verbinden Sie sich mit Ihrer Instanz
Sobald der Status Ihrer Instanz als 'running' angezeigt wird, wählen Sie sie im EC2-Dashboard aus. Klicken Sie auf Verbinden Schaltfläche, um Verbindungsoptionen anzuzeigen. Verwenden Sie das bereitgestellte SSH-Befehlsbeispiel in Ihrem lokalen Terminal (wie Terminal unter macOS/Linux oder PuTTY/WSL unter Windows), um eine sichere Verbindung herzustellen. Sie benötigen die private Schlüsseldatei (.pem
) die Sie beim Start erstellt oder ausgewählt haben.
Schritt 4: Ultralytics YOLOv5 ausführen
Nachdem Sie sich nun über SSH verbunden haben, können Sie YOLOv5 einrichten und ausführen. Klonen Sie zunächst das offizielle YOLOv5-Repository von GitHub und navigieren Sie in das Verzeichnis. Installieren Sie dann die erforderlichen Abhängigkeiten mit pip
Es wird empfohlen, eine Python 3.8 Umgebung oder höher. Die notwendigen Modelle und Datensätze werden automatisch von der neuesten YOLOv5 heruntergeladen Veröffentlichung wenn Sie Befehle wie Training oder Erkennung ausführen.
# Clone the YOLOv5 repository
git clone https://github.com/ultralytics/yolov5
cd yolov5
# Install required packages
pip install -r requirements.txt
Sobald die Umgebung eingerichtet ist, können Sie YOLOv5 für verschiedene Aufgaben verwenden:
# Train a YOLOv5 model on a custom dataset (e.g., coco128.yaml)
python train.py --data coco128.yaml --weights yolov5s.pt --img 640
# Validate the performance (Precision, Recall, mAP) of a trained model (e.g., yolov5s.pt)
python val.py --weights yolov5s.pt --data coco128.yaml --img 640
# Run inference (object detection) on images or videos using a trained model
python detect.py --weights yolov5s.pt --source path/to/your/images_or_videos/ --img 640
# Export the trained model to various formats like ONNX, CoreML, TFLite for deployment
# See https://docs.ultralytics.com/modes/export/ for more details
python export.py --weights yolov5s.pt --include onnx coreml tflite --img 640
Detaillierte Anleitungen zu Training, Validierung, Vorhersage (Inferenz) und Exportieren finden Sie in der Ultralytics Dokumentation.
Optionale Extras: Erhöhen des Swap-Speichers
Wenn Sie mit sehr großen Datensätzen arbeiten oder während des Trainings auf Speicherbeschränkungen stoßen, kann es manchmal helfen, den Swap-Speicher auf Ihrer Instanz zu erhöhen. Swap-Space ermöglicht es dem System, Festplattenspeicher als virtuellen RAM zu verwenden.
# Allocate a 64GB swap file (adjust size as needed)
sudo fallocate -l 64G /swapfile
# Set correct permissions
sudo chmod 600 /swapfile
# Set up the file as a Linux swap area
sudo mkswap /swapfile
# Enable the swap file
sudo swapon /swapfile
# Verify the swap memory is active
free -h
Herzlichen Glückwunsch! 🎉 Sie haben erfolgreich eine AWS Deep Learning-Instanz eingerichtet, Ultralytics YOLOv5 installiert und sind bereit, Objekterkennungs-Aufgaben durchzuführen. Egal, ob Sie mit vortrainierten Modellen experimentieren oder auf Ihren eigenen Daten trainieren, dieses leistungsstarke Setup bietet eine skalierbare Grundlage für Ihre Computer Vision-Projekte. Sollten Sie auf Probleme stoßen, konsultieren Sie die umfangreiche AWS-Dokumentation und die hilfreichen Ultralytics Community-Ressourcen wie die FAQ. Viel Spaß beim Erkennen!