Link to this sectionUltralytics YOLOv5 🚀 auf einer AWS Deep Learning Instance: Dein vollständiger Leitfaden#
Die Einrichtung einer leistungsstarken Deep Learning-Umgebung kann gerade für Neueinsteiger entmutigend wirken. Aber keine Sorge! 🛠️ Dieser Leitfaden bietet eine Schritt-für-Schritt-Anleitung, um Ultralytics YOLOv5 auf einer AWS Deep Learning Instance zum Laufen zu bringen. Indem du die Leistungsfähigkeit von Amazon Web Services (AWS) nutzt, können selbst Anfänger im Bereich Machine Learning (ML) schnell und kostengünstig starten. Die Skalierbarkeit der AWS-Plattform macht sie ideal sowohl für Experimente als auch für die Bereitstellung in der Produktion.
Weitere Quickstart-Optionen für YOLOv5 umfassen unser Google Colab Notebook , Kaggle-Umgebungen
, GCP Deep Learning VM und unser vorkonfiguriertes Docker-Image, das auf Docker Hub verfügbar ist
.
Link to this sectionSchritt 1: Anmeldung bei der AWS-Konsole#
Erstelle zunächst ein Konto oder melde dich bei der AWS Management Console an. Sobald du eingeloggt bist, navigiere zum EC2-Service-Dashboard, wo du deine virtuellen Server (Instances) verwalten kannst.

Link to this sectionSchritt 2: Starte deine Instance#
Klicke im EC2-Dashboard auf die Schaltfläche Launch Instance. Dies leitet den Prozess zur Erstellung eines neuen, auf deine Bedürfnisse zugeschnittenen virtuellen Servers ein.

Link to this sectionAuswahl des richtigen Amazon Machine Image (AMI)#
Die Wahl des richtigen AMI ist entscheidend. Dies bestimmt das Betriebssystem und die vorinstallierte Software für deine Instance. Gib in der Suchleiste 'Deep Learning' ein und wähle das neueste Ubuntu-basierte Deep Learning AMI (sofern du keine speziellen Anforderungen an ein anderes Betriebssystem hast). Die Deep Learning AMIs von Amazon sind bereits mit gängigen Deep Learning Frameworks (wie PyTorch, das von YOLOv5 verwendet wird) und den notwendigen GPU-Treibern vorkonfiguriert, was den Einrichtungsprozess erheblich beschleunigt.

Link to this sectionAuswahl eines Instance-Typs#
Für anspruchsvolle Aufgaben wie das Training von Deep Learning-Modellen wird die Wahl eines GPU-beschleunigten Instance-Typs dringend empfohlen. GPUs können die für das Modelltraining benötigte Zeit im Vergleich zu CPUs drastisch reduzieren. Achte bei der Wahl der Instance-Größe darauf, dass deren Arbeitsspeicher (RAM) für dein Modell und deinen Datensatz ausreicht.
Hinweis: Die Größe deines Modells und Datensatzes sind kritische Faktoren. Wenn deine ML-Aufgabe mehr Arbeitsspeicher erfordert, als die ausgewählte Instance bietet, musst du einen größeren Instance-Typ wählen, um Leistungsprobleme oder Fehler zu vermeiden.
Erkunde die verfügbaren GPU-Instance-Typen auf der EC2 Instance Types-Seite, insbesondere in der Kategorie Accelerated Computing.

Detaillierte Informationen zur Überwachung und Optimierung der GPU-Nutzung findest du im AWS-Leitfaden zur GPU-Überwachung und -Optimierung. Vergleiche die Kosten mithilfe der On-Demand-Preise und prüfe potenzielle Einsparungen durch Spot-Instance-Preise.
Link to this sectionKonfiguration deiner Instance#
Erwäge die Nutzung von Amazon EC2 Spot Instances für einen kosteneffizienteren Ansatz. Mit Spot Instances kannst du auf ungenutzte EC2-Kapazitäten bieten, oft mit einem erheblichen Rabatt gegenüber On-Demand-Preisen. Wähle für Aufgaben, die Persistenz erfordern (Speicherung von Daten, auch wenn die Spot Instance unterbrochen wird), eine persistente Anfrage. Dies stellt sicher, dass dein Speichervolumen erhalten bleibt.

Gehe die Schritte 4-7 des Instance-Start-Assistenten durch, um den Speicher zu konfigurieren, Tags hinzuzufügen, Sicherheitsgruppen einzurichten (stelle sicher, dass der SSH-Port 22 für deine IP geöffnet ist) und deine Einstellungen zu überprüfen, bevor du auf Starten klickst. Du musst außerdem ein Schlüsselpaar für den sicheren SSH-Zugriff erstellen oder ein bestehendes auswählen.
Link to this sectionSchritt 3: Verbindung zu deiner Instance herstellen#
Sobald der Status deiner Instance 'running' anzeigt, wähle sie im EC2-Dashboard aus. Klicke auf die Schaltfläche Verbinden, um die Verbindungsoptionen anzuzeigen. Verwende das bereitgestellte SSH-Befehlsbeispiel in deinem lokalen Terminal (wie Terminal unter macOS/Linux oder PuTTY/WSL unter Windows), um eine sichere Verbindung aufzubauen. Du benötigst dazu die private Schlüsseldatei (.pem), die du während des Starts erstellt oder ausgewählt hast.

Link to this sectionSchritt 4: Ausführen von Ultralytics YOLOv5#
Jetzt, da du per SSH verbunden bist, kannst du YOLOv5 einrichten und ausführen. Klone zuerst das offizielle YOLOv5-Repository von GitHub und wechsle in das Verzeichnis. Installiere anschließend die erforderlichen Abhängigkeiten mit pip. Es wird empfohlen, eine Python-Umgebung in Version 3.8 oder höher zu verwenden. Die notwendigen Modelle und Datensätze werden automatisch aus dem neuesten YOLOv5-Release heruntergeladen, sobald du Befehle wie Training oder Detektion ausführst.
# Clone the YOLOv5 repository
git clone https://github.com/ultralytics/yolov5
cd yolov5
# Install required packages
pip install -r requirements.txtSobald die Umgebung bereit ist, kannst du YOLOv5 für verschiedene Aufgaben nutzen:
# 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 640In der Ultralytics-Dokumentation findest du detaillierte Anleitungen zu Training, Validierung, Vorhersage (Inferenz) und Export.
Link to this sectionOptionale Extras: Erhöhung des Swap-Speichers#
Wenn du mit sehr großen Datensätzen arbeitest oder während des Trainings auf Speicherbegrenzungen stößt, kann eine Erhöhung des Swap-Speichers auf deiner Instance manchmal helfen. Swap-Speicher ermöglicht es dem System, Festplattenspeicher als virtuellen RAM zu nutzen.
# 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 -hHerzlichen Glückwunsch! 🎉 Du hast erfolgreich eine AWS Deep Learning Instance eingerichtet, Ultralytics YOLOv5 installiert und bist bereit für Aufgaben zur Objekterkennung. Egal, ob du mit vortrainierten Modellen experimentierst oder mit deinen eigenen Daten trainierst, diese leistungsstarke Konfiguration bietet eine skalierbare Grundlage für deine Computer Vision-Projekte. Solltest du auf Probleme stoßen, konsultiere die umfassende AWS-Dokumentation und die hilfreichen Ressourcen der Ultralytics-Community, wie z. B. die FAQ. Viel Erfolg beim Detektieren!