Guide de démarrage rapide de Docker pour Ultralytics
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 manière, quel que soit l'endroit où il est déployé. Pour plus de détails, visite le dépôt Docker Ultralytics sur Docker Hub.
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 :
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 :
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. L'indicateur --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 connaître d'autres méthodes d'installation, n'hésite pas à explorer la documentation de démarrage rapide deUltralytics .