Skip to content

Guide de démarrage rapide de Docker pour Ultralytics

Ultralytics Docker Package Visual

Ce guide sert d'introduction complète à la mise en place d'un environnement Docker pour tes projets Ultralytics . Docker est une plateforme qui permet de développer, d'expédier et d'exécuter des applications dans des conteneurs. Elle est particulièrement bénéfique pour s'assurer que le logiciel fonctionnera toujours de la même façon, quel que soit l'endroit où il est déployé. Pour plus de détails, visite le dépôt Ultralytics Docker sur Docker Hub.

Les tirages de Docker

Ce que tu apprendras

  • Configurer Docker avec la prise en charge de NVIDIA
  • Installation de Ultralytics Images Docker
  • ExĂ©cuter Ultralytics dans un conteneur Docker
  • Montage des rĂ©pertoires locaux dans le conteneur

Conditions préalables

  • Assure-toi que Docker est installĂ© sur ton système. Si ce n'est pas le cas, tu peux le tĂ©lĂ©charger et l'installer Ă  partir du site web de Docker.
  • Assure-toi que ton système est Ă©quipĂ© d'un GPU NVIDIA et que les pilotes NVIDIA sont installĂ©s.

Configurer Docker avec le support de NVIDIA

Tout d'abord, vérifie que les pilotes NVIDIA sont correctement installés en lançant :

nvidia-smi

Installation du moteur d'exécution NVIDIA Docker

Maintenant, installons le runtime NVIDIA Docker pour activer la prise en charge du GPU dans les conteneurs 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

VĂ©rifier le runtime NVIDIA avec Docker

Exécuter docker info | grep -i runtime pour s'assurer que nvidia apparaît dans la liste des durées d'exécution :

docker info | grep -i runtime

Installation de Ultralytics Images Docker

Ultralytics propose plusieurs images Docker optimisées pour différentes plateformes et cas d'utilisation :

  • Dockerfile : Image GPU, idĂ©ale pour la formation.
  • Dockerfile-arm64 : Pour l'architecture ARM64, adaptĂ©e aux appareils comme le Raspberry Pi.
  • Dockerfile-cpu : version rĂ©servĂ©e au processeur pour l'infĂ©rence et les environnements sans GPU.
  • Dockerfile-jetson : OptimisĂ© pour les appareils NVIDIA Jetson.
  • Dockerfile-python: Environnement minimal Python pour les applications lĂ©gères.
  • Dockerfile-conda : inclut le paquet Miniconda3 et Ultralytics installĂ© via Conda.

Pour obtenir la dernière image :

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

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

Exécuter Ultralytics dans un conteneur Docker

Voici comment exécuter le conteneur 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

Le -it attribue un pseudo-TTY et garde stdin ouvert, ce qui te permet d'interagir avec le conteneur. Le drapeau --ipc=host permet de partager l'espace de noms IPC de l'hôte, ce qui est essentiel pour partager la mémoire entre les processus. L'indicateur --gpus permet au conteneur d'accéder aux GPU de l'hôte.

Note sur l'accessibilité des fichiers

Pour travailler avec des fichiers sur ta machine locale au sein du conteneur, tu peux utiliser les volumes Docker :

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

Remplacer /path/on/host avec le chemin du répertoire sur ta machine locale et /path/in/container avec le chemin souhaité à l'intérieur du conteneur Docker.


Félicitations ! Tu es maintenant configuré pour utiliser Ultralytics avec Docker et prêt à profiter de ses puissantes capacités. Pour d'autres méthodes d'installation, n'hésite pas à explorer la documentation de démarrage rapide deUltralytics .



Créé le 2023-11-12, Mis à jour le 2023-11-16
Auteurs : glenn-jocher (2)

Commentaires