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
, GCP Deep Learning VM, e Amazon AWS.
Prerequisiti
- Docker: installare Docker dal sito ufficiale di Docker.
- DriverNVIDIA (per il supporto GPU ): Versione 455.23 o superiore. Scaricare dal sito Web diNVIDIA.
- 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:
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:
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:
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:
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