Guida rapida a Docker per Ultralytics
Questa guida è un'introduzione completa alla creazione di un ambiente Docker per i tuoi progetti Ultralytics . Docker è una piattaforma per sviluppare, spedire ed eseguire applicazioni in container. È particolarmente utile per garantire che il software venga eseguito sempre nello stesso modo, indipendentemente dal luogo in cui viene distribuito. Per maggiori dettagli, visita il repository Docker di Ultralytics su Docker Hub.
Cosa imparerai
- Impostazione di Docker con supporto NVIDIA
- Installare le immagini Docker di Ultralytics
- Eseguire Ultralytics in un contenitore Docker
- Montare le directory locali nel contenitore
Prerequisiti
- Assicurati che Docker sia installato sul tuo sistema. In caso contrario, puoi scaricarlo e installarlo dal sito web di Docker.
- Assicurati che il tuo sistema abbia una GPU NVIDIA e che i driver NVIDIA siano installati.
Configurazione di Docker con il supporto di NVIDIA
Per prima cosa, verifica che i driver NVIDIA siano installati correttamente eseguendo:
Installazione di NVIDIA Docker Runtime
Ora installiamo il runtime NVIDIA Docker per abilitare il supporto delle GPU nei container 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
Verifica di NVIDIA Runtime con Docker
Corri docker info | grep -i runtime
per garantire che nvidia
appare nell'elenco dei runtime:
Installazione delle immagini Docker di Ultralytics
Ultralytics offre diverse immagini Docker ottimizzate per varie piattaforme e casi d'uso:
- Profilo Docker: Immagine GPU, ideale per la formazione.
- Dockerfile-arm64: Per l'architettura ARM64, adatto a dispositivi come Raspberry Pi.
- Dockerfile-cpu: versione solo per CPU per l'inferenza e gli ambienti non-GPU.
- Dockerfile-jetson: Ottimizzato per i dispositivi NVIDIA Jetson.
- Dockerfile-python: Ambiente minimale Python per applicazioni leggere.
- Dockerfile-conda: include il pacchetto Miniconda3 e Ultralytics installato tramite Conda.
Per prelevare l'ultima immagine:
# Set image name as a variable
t=ultralytics/ultralytics:latest
# Pull the latest Ultralytics image from Docker Hub
sudo docker pull $t
Eseguire Ultralytics in un contenitore Docker
Ecco come eseguire il contenitore 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
Il -it
assegna una pseudo-TTY e mantiene aperto lo stdin, permettendoti di interagire con il contenitore. Il flag --ipc=host
consente di condividere lo spazio dei nomi IPC dell'host, essenziale per condividere la memoria tra i processi. Il flag --gpus
permette al contenitore di accedere alle GPU dell'host.
Nota sull'accessibilità dei file
Per lavorare con i file sul tuo computer locale all'interno del container, puoi utilizzare i volumi Docker:
# Mount a local directory into the container
sudo docker run -it --ipc=host --gpus all -v /path/on/host:/path/in/container $t
Sostituisci /path/on/host
con il percorso della directory sul computer locale e /path/in/container
con il percorso desiderato all'interno del contenitore Docker.
Congratulazioni! Ora sei configurato per utilizzare Ultralytics con Docker e sei pronto a sfruttare le sue potenti funzionalità . Per metodi di installazione alternativi, non esitare a consultare la documentazione di avvio rapido diUltralytics .