Link to this sectionErste Schritte mit YOLOv5 🚀 in Docker#
Willkommen beim Ultralytics YOLOv5 Docker-Schnellstart-Guide! Dieses Tutorial bietet Schritt-für-Schritt-Anleitungen zum Einrichten und Ausführen von YOLOv5 in einem Docker-Container. Die Nutzung von Docker ermöglicht es dir, YOLOv5 in einer isolierten, konsistenten Umgebung auszuführen, was die Bereitstellung und das Abhängigkeitsmanagement über verschiedene Systeme hinweg vereinfacht. Dieser Ansatz nutzt Containerisierung, um die Anwendung und ihre Abhängigkeiten gemeinsam zu verpacken.
Für alternative Einrichtungsmethoden ziehe unsere Colab Notebook
, GCP Deep Learning VM oder Amazon AWS Anleitungen in Betracht. Für einen allgemeinen Überblick zur Nutzung von Docker mit Ultralytics Modellen, siehe den Ultralytics Docker Quickstart Guide.
Link to this sectionVoraussetzungen#
Bevor du beginnst, stelle sicher, dass du Folgendes installiert hast:
- Docker: Lade Docker von der offiziellen Docker-Website herunter und installiere es. Docker ist für das Erstellen und Verwalten von Containern unerlässlich.
- NVIDIA-Treiber (erforderlich für GPU-Unterstützung): Stelle sicher, dass du NVIDIA-Treiber der Version 455.23 oder höher installiert hast. Du kannst die neuesten Treiber von der NVIDIA-Website herunterladen.
- NVIDIA Container Toolkit (erforderlich für GPU-Unterstützung): Dieses Toolkit ermöglicht es Docker-Containern, auf die NVIDIA-GPUs deines Host-Rechners zuzugreifen. Folge der offiziellen NVIDIA Container Toolkit-Installationsanleitung für detaillierte Anweisungen.
Link to this sectionEinrichten des NVIDIA Container Toolkits (GPU-Benutzer)#
Überprüfe zunächst, ob deine NVIDIA-Treiber korrekt installiert sind, indem du Folgendes ausführst:
nvidia-smiDieser Befehl sollte Informationen über deine GPU(s) und die installierte Treiberversion anzeigen.
Installiere als Nächstes das NVIDIA Container Toolkit. Die unten stehenden Befehle sind typisch für Debian-basierte Systeme wie Ubuntu und RHEL-basierte Systeme wie Fedora/CentOS, aber beachte die oben verlinkte offizielle Anleitung für spezifische Anweisungen zu deiner Distribution:
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list \
| sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' \
| sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.listAktualisiere die Paketlisten und installiere das NVIDIA Container Toolkit:
sudo apt-get updatesudo apt-get install -y nvidia-container-toolkitLink to this sectionÜberprüfe CDI-Geräte mit Docker#
Führe nvidia-ctk cdi list aus, um sicherzustellen, dass die GPU CDI-Geräte verfügbar sind (der nvidia-cdi-refresh-Dienst des Toolkits generiert und verwaltet die Spezifikation automatisch ab Toolkit-Version >= 1.18):
nvidia-ctk cdi listDu solltest Einträge wie nvidia.com/gpu=0 und nvidia.com/gpu=all sehen. Unter Linux erfordern CDI-Geräteanfragen Docker >= 28.2.0 und NVIDIA Container Toolkit >= 1.18. Das veraltete --gpus all-Flag kann den GPU-Zugriff nach einem Neustart des Host-Daemons verlieren, daher solltest du ältere Linux-Hosts aktualisieren und stattdessen --device verwenden.
Link to this sectionSchritt 1: Das YOLOv5 Docker-Image abrufen (Pull)#
Ultralytics stellt offizielle YOLOv5-Images auf Docker Hub bereit. Das Tag latest verfolgt den neuesten Repository-Commit und stellt sicher, dass du immer die aktuellste Version erhältst. Lade das Image mit dem folgenden Befehl herunter:
# Define the image name with tag
t=ultralytics/yolov5:latest
# Pull the latest YOLOv5 image from Docker Hub
sudo docker pull $tDu kannst alle verfügbaren Images im Ultralytics YOLOv5 Docker Hub Repository durchsuchen.
Link to this sectionSchritt 2: Den Docker-Container ausführen#
Sobald das Image geladen wurde, kannst du es als Container ausführen.
Link to this sectionNur CPU verwenden#
Um eine interaktive Container-Instanz nur mit der CPU auszuführen, verwende das -it-Flag. Das --ipc=host-Flag ermöglicht die gemeinsame Nutzung des Host-IPC-Namespace, was für den Zugriff auf den gemeinsamen Speicher wichtig ist.
# Run an interactive container instance using CPU
sudo docker run -it --ipc=host $tLink to this sectionGPU verwenden#
Um den GPU-Zugriff innerhalb des Containers zu aktivieren, verwende das --device nvidia.com/gpu=... CDI Flag. Dies erfordert, dass das NVIDIA Container Toolkit korrekt installiert ist.
# Run with access to all available GPUs
sudo docker run -it --ipc=host --device nvidia.com/gpu=all $t
# Run with access to specific GPUs (e.g., GPUs 2 and 3)
sudo docker run -it --ipc=host --device nvidia.com/gpu=2 --device nvidia.com/gpu=3 $tWeitere Details zu Befehlsoptionen findest du in der Docker run-Referenz.
Link to this sectionLokale Verzeichnisse einbinden (Mounting)#
Um mit deinen lokalen Dateien (Datensätze, Modellgewichte usw.) innerhalb des Containers zu arbeiten, verwende das -v-Flag, um ein Host-Verzeichnis in den Container einzubinden:
# Mount /path/on/host (your local machine) to /path/in/container (inside the container)
sudo docker run -it --ipc=host --device nvidia.com/gpu=all -v /path/on/host:/path/in/container $tErsetze /path/on/host durch den tatsächlichen Pfad auf deinem Rechner und /path/in/container durch den gewünschten Pfad innerhalb des Docker-Containers (z. B. /usr/src/datasets).
Link to this sectionSchritt 3: YOLOv5 🚀 innerhalb des Docker-Containers verwenden#
Du befindest dich nun im laufenden YOLOv5 Docker-Container! Von hier aus kannst du Standard-YOLOv5-Befehle für verschiedene Aufgaben im Bereich Machine Learning und Deep Learning ausführen, wie zum Beispiel Objekterkennung.
# Train a YOLOv5 model on your custom dataset (ensure data is mounted or downloaded)
python train.py --data your_dataset.yaml --weights yolov5s.pt --img 640 # Start training
# Validate the trained model's performance (Precision, Recall, mAP)
python val.py --weights path/to/your/best.pt --data your_dataset.yaml # Validate accuracy
# Run inference on images or videos using a trained model
python detect.py --weights yolov5s.pt --source path/to/your/images_or_videos # Perform detection
# Export the trained model to various formats like ONNX, CoreML, or TFLite for deployment
python export.py --weights yolov5s.pt --include onnx coreml tflite # Export modelErkunde die Dokumentation für eine detaillierte Nutzung der verschiedenen Modi:
Erfahre mehr über Bewertungsmetriken wie Precision, Recall und mAP. Verstehe verschiedene Exportformate wie ONNX, CoreML und TFLite und erkunde diverse Modell-Bereitstellungsoptionen. Denke daran, deine Modellgewichte effektiv zu verwalten.

Du hast YOLOv5 erfolgreich in einem Docker-Container eingerichtet und ausgeführt.