Zum Inhalt springen

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 In Colab öffnen, Kaggle-Umgebungen In Kaggle öffnen, GCP Deep Learning VM, und unser vorgefertigtes Docker-Image ist verfügbar auf Docker Hub Docker Pulls.

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.

AWS Console Anmeldung

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.

Instance starten Button

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.

AMI wählen

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.

Instanztyp wählen

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.

Spot Request Konfiguration

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.

Mit Instanz verbinden

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 pipEs 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!



📅 Erstellt vor 1 Jahr ✏️ Aktualisiert vor 4 Monaten

Kommentare