Vai al contenuto

Iniziare con YOLOv5 🚀 in Docker

Questa esercitazione vi guiderà attraverso il processo di impostazione e di esecuzione di YOLOv5 in un container Docker, fornendo istruzioni complete per gli ambienti CPU e GPU .

È inoltre possibile esplorare altre opzioni di avvio rapido per YOLOv5, come ad esempio le nostre Taccuino Colab Aprire in Colab Aprire in Kaggle, GCP Deep Learning VM, e Amazon AWS.

Prerequisiti

  1. Docker: installare Docker dal sito ufficiale di Docker.
  2. DriverNVIDIA (per il supporto GPU ): Versione 455.23 o superiore. Scaricare dal sito Web diNVIDIA.
  3. NVIDIA Docker Runtime (per il supporto GPU ): Permette a Docker di interagire con la GPU locale. Seguire le istruzioni di installazione riportate di seguito.

Impostazione di NVIDIA Docker Runtime

Verificare che i driver NVIDIA siano installati correttamente:

nvidia-smi

Installare il runtime NVIDIA Docker:

# Add NVIDIA package repositories
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
distribution=$(lsb_release -cs)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

# Install NVIDIA Docker runtime
sudo apt-get update
sudo apt-get install -y nvidia-docker2

# Restart Docker service
sudo systemctl restart docker

Verificare che il runtime NVIDIA sia disponibile:

docker info | grep -i runtime

Passo 1: Estrarre l'immagine Docker di YOLOv5

Il repository DockerHub di Ultralytics YOLOv5 è disponibile all'indirizzo https://hub.docker.com/r/ultralytics/yolov5. Docker Autobuild assicura che il file ultralytics/yolov5:latest è sempre sincronizzata con il commit più recente del repository.

# Set image name as a variable
t=ultralytics/yolov5:latest

# Pull the latest image
sudo docker pull $t

Passo 2: Eseguire il contenitore Docker

Utilizzo della sola CPU

Eseguire un'istanza interattiva dell'immagine Docker YOLOv5 (chiamata "container") utilizzando il metodo -it bandiera:

# Run without GPU
sudo docker run -it --ipc=host $t

Utilizzo della GPU

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

# Run with specific GPUs
sudo docker run -it --ipc=host --gpus '"device=2,3"' $t

Montaggio delle directory locali

Per accedere ai file del computer locale all'interno del contenitore:

# Mount a local directory into the container
sudo docker run -it --ipc=host --gpus all -v /path/on/host:/path/in/container $t

Contenitore con accesso a GPU :

Per eseguire un contenitore con accesso a GPU , usare il metodo --gpus all bandiera:

sudo docker run --ipc=host -it --gpus all ultralytics/yolov5:latest

Passo 3: Utilizzare YOLOv5 🚀 all'interno del contenitore Docker

Ora è possibile addestrare, testare, rilevare ed esportare i modelli YOLOv5 all'interno del contenitore Docker in esecuzione:

# Train a model on your data
python train.py

# Validate the trained model for Precision, Recall, and mAP
python val.py --weights yolov5s.pt

# Run inference using the trained model on your images or videos
python detect.py --weights yolov5s.pt --source path/to/images

# Export the trained model to other formats for deployment
python export.py --weights yolov5s.pt --include onnx coreml tflite

GCP con Docker

📅C reato 1 anno fa ✏️ Aggiornato 11 giorni fa

Commenti