Zum Inhalt springen

Erste Schritte mit YOLOv5 🚀 in Docker

Willkommen beim Ultralytics YOLOv5 Docker-Schnellstart-Leitfaden! Dieses Tutorial bietet eine Schritt-für-Schritt-Anleitung für die Einrichtung und Ausführung von YOLOv5 innerhalb eines Docker-Containers. Die Verwendung von Docker ermöglicht es Ihnen, YOLOv5 in einer isolierten, konsistenten Umgebung auszuführen, was die Bereitstellung und das Abhängigkeitsmanagement über verschiedene Systeme hinweg vereinfacht. Dieser Ansatz nutzt die Containerisierung, um die Anwendung und ihre Abhängigkeiten zusammen zu verpacken.

Für alternative Einrichtungsmethoden ziehen Sie unsere Colab Notebook In Colab öffnen In Kaggle öffnen, GCP Deep Learning VM, oder Amazon AWS Anleitungen. Einen allgemeinen Überblick über die Docker-Nutzung mit Ultralytics-Modellen finden Sie im Ultralytics Docker Schnellstartanleitung.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Folgendes installiert ist:

  1. Docker: Laden Sie Docker von der offiziellen Docker-Website herunter und installieren Sie es. Docker ist unerlässlich für die Erstellung und Verwaltung von Containern.
  2. NVIDIA-Treiber (Erforderlich für GPU-Support): Stellen Sie sicher, dass Sie NVIDIA-Treiber Version 455.23 oder höher installiert haben. Sie können die neuesten Treiber von der NVIDIA-Website herunterladen.
  3. NVIDIA Container Toolkit (Erforderlich für GPU-Support): Dieses Toolkit ermöglicht Docker-Containern den Zugriff auf die NVIDIA-GPUs Ihres Host-Rechners. Befolgen Sie die offizielle NVIDIA Container Toolkit Installationsanleitung für detaillierte Anweisungen.

Einrichtung des NVIDIA Container Toolkits (GPU-Benutzer)

Überprüfen Sie zunächst, ob Ihre NVIDIA-Treiber korrekt installiert sind, indem Sie Folgendes ausführen:

nvidia-smi

Dieser Befehl sollte Informationen über Ihre GPU(s) und die installierte Treiberversion anzeigen.

Installieren Sie als Nächstes das NVIDIA Container Toolkit. Die folgenden Befehle sind typisch für Debian-basierte Systeme wie Ubuntu, aber beachten Sie die offizielle, oben verlinkte Anleitung für Anweisungen, die speziell für Ihre Distribution gelten:

# Add NVIDIA package repositories (refer to official guide for latest setup)
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.list

# Update package list and install the toolkit
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

# Configure Docker to use the NVIDIA runtime
sudo nvidia-ctk runtime configure --runtime=docker

# Restart Docker service to apply changes
sudo systemctl restart docker

Verifizieren Sie abschließend, dass die NVIDIA-Runtime konfiguriert und für Docker verfügbar ist:

docker info | grep -i runtime

Sie sollten sehen nvidia als eine der verfügbaren Runtimes aufgeführt.

Schritt 1: Ziehen Sie das YOLOv5 Docker-Image

Ultralytics stellt offizielle YOLOv5-Images auf folgendem Ort bereit: Docker Hub. Der latest markiert den letzten Repository-Commit, um sicherzustellen, dass Sie immer die neueste Version erhalten. Laden Sie das Image mit dem folgenden Befehl:

# Define the image name with tag
t=ultralytics/yolov5:latest

# Pull the latest YOLOv5 image from Docker Hub
sudo docker pull $t

Sie können alle verfügbaren Bilder im Ultralytics YOLOv5 Docker Hub Repository durchsuchen.

Schritt 2: Den Docker-Container ausführen

Sobald das Image abgerufen wurde, können Sie es als Container ausführen.

Nur CPU verwenden

Um eine interaktive Container-Instanz nur mit der CPU auszuführen, verwenden Sie die -it Flag. Der --ipc=host Flag ermöglicht die gemeinsame Nutzung des Host-IPC-Namespace, was für den gemeinsamen Speicherzugriff wichtig ist.

# Run an interactive container instance using CPU
sudo docker run -it --ipc=host $t

Verwendung von GPU

Um den GPU-Zugriff innerhalb des Containers zu ermöglichen, verwenden Sie --gpus Flag. Dies erfordert, dass das NVIDIA Container Toolkit korrekt installiert ist.

# Run with access to all available GPUs
sudo docker run -it --ipc=host --gpus all $t

# Run with access to specific GPUs (e.g., GPUs 2 and 3)
sudo docker run -it --ipc=host --gpus '"device=2,3"' $t

Weitere Informationen zu den Befehlsoptionen finden Sie in der Docker Run Referenz.

Lokale Verzeichnisse einbinden

Um mit Ihren lokalen Dateien (Datensätze, Modellgewichte usw.) innerhalb des Containers zu arbeiten, verwenden Sie die -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 --gpus all -v /path/on/host:/path/in/container $t

Ersetzen Sie /path/on/host mit dem tatsächlichen Pfad auf Ihrem Rechner und /path/in/container mit dem gewünschten Pfad innerhalb des Docker-Containers (z. B. /usr/src/datasets), oder Auto-Modus mit angegebener Auslastungsfraktion (

Schritt 3: YOLOv5 🚀 innerhalb des Docker-Containers verwenden

Sie befinden sich jetzt im laufenden YOLOv5-Docker-Container! Von hier aus können Sie Standard-YOLOv5-Befehle für verschiedene Machine Learning- und Deep Learning-Aufgaben wie Objekterkennung ausführen.

# 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 model

Erkunde 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 entdecke verschiedene Optionen zur Modellbereitstellung. Denke daran, deine Modellgewichte effektiv zu verwalten.

YOLOv5 in einem Docker-Container auf GCP ausführen

Herzlichen Glückwunsch! Sie haben YOLOv5 erfolgreich in einem Docker-Container eingerichtet und ausgeführt.



📅 Erstellt vor 1 Jahr ✏️ Aktualisiert vor 4 Monaten

Kommentare