Saltar al contenido

Guía de inicio rápido de Docker para Ultralytics

Ultralytics Paquete Docker Visual

Esta guía es una introducción completa a la configuración de un entorno Docker para tus proyectos en Ultralytics . Docker es una plataforma para desarrollar, enviar y ejecutar aplicaciones en contenedores. Es especialmente beneficioso para garantizar que el software se ejecute siempre igual, independientemente de dónde se despliegue. Para más detalles, visita el repositorio Docker de Ultralytics en Docker Hub.

Tirones de Docker

Lo que aprenderás

  • Configurar Docker con soporte NVIDIA
  • Instalación de imágenes Docker Ultralytics
  • Ejecuta Ultralytics en un contenedor Docker
  • Montar directorios locales en el contenedor

Requisitos previos

  • Asegúrate de que Docker está instalado en tu sistema. Si no es así, puedes descargarlo e instalarlo desde el sitio web de Docker.
  • Asegúrate de que tu sistema tiene una GPU NVIDIA y los controladores NVIDIA están instalados.

Configurar Docker con soporte NVIDIA

Primero, comprueba que los controladores NVIDIA están correctamente instalados ejecutando:

nvidia-smi

Instalar NVIDIA Docker Runtime

Ahora, vamos a instalar el tiempo de ejecución NVIDIA Docker para habilitar el soporte de GPU en los contenedores 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 to apply changes
sudo systemctl restart docker

Verificar NVIDIA Runtime con Docker

Ejecuta docker info | grep -i runtime para garantizar que nvidia aparece en la lista de tiempos de ejecución:

docker info | grep -i runtime

Instalar imágenes Docker de Ultralytics

Ultralytics ofrece varias imágenes Docker optimizadas para diversas plataformas y casos de uso:

  • Archivo Docker: Imagen de GPU, ideal para entrenamiento.
  • Dockerfile-arm64: Para arquitectura ARM64, adecuado para dispositivos como Raspberry Pi.
  • Dockerfile-cpu: versión sólo para CPU para entornos de inferencia y sin GPU.
  • Dockerfile-jetson: Optimizado para dispositivos NVIDIA Jetson.
  • Dockerfile-python: Entorno mínimo Python para aplicaciones ligeras.
  • Dockerfile-conda: Incluye Miniconda3 y el paquete Ultralytics instalado a través de Conda.

Para sacar la última imagen:

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

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

Ejecutar Ultralytics en un contenedor Docker

A continuación te explicamos cómo ejecutar el contenedor Docker Ultralytics :

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

# Run specifying which GPUs to use
sudo docker run -it --ipc=host --gpus '"device=2,3"' $t

En -it asigna un pseudo-TTY y mantiene stdin abierto, permitiéndote interactuar con el contenedor. La opción --ipc=host permite compartir el espacio de nombres IPC del host, esencial para compartir memoria entre procesos. La dirección --gpus permite al contenedor acceder a las GPUs del host.

Nota sobre la accesibilidad de los archivos

Para trabajar con archivos de tu máquina local dentro del contenedor, puedes utilizar los volúmenes Docker:

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

Sustituye /path/on/host con la ruta del directorio en tu máquina local y /path/in/container con la ruta deseada dentro del contenedor Docker.


¡Enhorabuena! Ya estás configurado para utilizar Ultralytics con Docker y listo para aprovechar sus potentes capacidades. Para conocer métodos de instalación alternativos, no dudes en explorar la documentación de inicio rápido deUltralytics .



Creado 2023-11-12, Actualizado 2023-11-16
Autores: glenn-jocher (2)

Comentarios