Primeros pasos con YOLOv5 🚀 en Docker
Este tutorial le guiará a través del proceso de configuración y ejecución de YOLOv5 en un contenedor Docker, proporcionando instrucciones completas tanto para entornos de CPU como de GPU .
También puede explorar otras opciones de inicio rápido para YOLOv5, como nuestro Cuaderno Colab
, GCP Deep Learning VMy Amazon AWS.
Requisitos previos
- Docker: Instale Docker desde el sitio web oficial de Docker.
- ControladorNVIDIA (para soporte de GPU ): Versión 455.23 o superior. Descarga desde el sitio web deNVIDIA.
- NVIDIA Docker Runtime (para soporte de GPU ): Permite a Docker interactuar con tu GPU local. Sigue las instrucciones de instalación que aparecen a continuación.
Configuración de NVIDIA Docker Runtime
Comprueba que los controladores NVIDIA están correctamente instalados:
Instala el Docker runtime NVIDIA :
# 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
Comprueba que el runtime NVIDIA está disponible:
Paso 1: Extraer la imagen Docker de YOLOv5
El repositorio DockerHub de Ultralytics YOLOv5 está disponible en https://hub.docker.com/r/ultralytics/yolov5. Docker Autobuild garantiza que el ultralytics/yolov5:latest
está siempre sincronizada con la confirmación más reciente del repositorio.
# Set image name as a variable
t=ultralytics/yolov5:latest
# Pull the latest image
sudo docker pull $t
Paso 2: Ejecutar el contenedor Docker
Uso exclusivo de CPU
Ejecute una instancia interactiva de la imagen Docker YOLOv5 (denominada "contenedor") utilizando el comando -it
bandera:
Uso de 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
Montaje de directorios locales
Para acceder a los archivos de su máquina local dentro del contenedor:
# Mount a local directory into the container
sudo docker run -it --ipc=host --gpus all -v /path/on/host:/path/in/container $t
Contenedor con acceso a GPU :
Para ejecutar un contenedor con acceso a GPU , utilice el comando --gpus all
bandera:
Paso 3: Utilizar YOLOv5 🚀 dentro del contenedor Docker.
Ahora puede entrenar, probar, detectar y exportar modelos YOLOv5 dentro del contenedor Docker en ejecución:
# 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