Docker snelstartgids voor Ultralytics
Deze handleiding is een uitgebreide inleiding tot het opzetten van een Docker-omgeving voor je Ultralytics projecten. Docker is een platform voor het ontwikkelen, verschepen en draaien van applicaties in containers. Het is vooral handig om ervoor te zorgen dat de software altijd hetzelfde draait, ongeacht waar het wordt ingezet. Ga voor meer informatie naar de Ultralytics Docker repository op Docker Hub.
Wat je zult leren
- Docker instellen met NVIDIA-ondersteuning
- Installatie van Ultralytics Docker-images
- Ultralytics draaien in een Docker-container
- Lokale mappen in de container aankoppelen
Vereisten
- Zorg ervoor dat Docker is geïnstalleerd op je systeem. Zo niet, dan kun je het downloaden en installeren vanaf de website van Docker.
- Zorg ervoor dat je systeem een NVIDIA GPU heeft en dat de NVIDIA stuurprogramma's zijn geïnstalleerd.
Docker instellen met NVIDIA-ondersteuning
Controleer eerst of de NVIDIA-stuurprogramma's goed zijn geïnstalleerd door ze uit te voeren:
NVIDIA Docker Runtime installeren
Laten we nu de NVIDIA Docker runtime installeren om GPU-ondersteuning in Docker-containers mogelijk te maken:
# 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
NVIDIA Runtime verifiëren met Docker
Ren docker info | grep -i runtime
om ervoor te zorgen dat nvidia
verschijnt in de lijst met runtimes:
Installatie van Ultralytics Docker-afbeeldingen
Ultralytics biedt verschillende Docker-images die geoptimaliseerd zijn voor verschillende platforms en gebruikssituaties:
- Dockerfile: GPU-afbeelding, ideaal voor training.
- Dockerfile-arm64: Voor ARM64 architectuur, geschikt voor apparaten zoals Raspberry Pi.
- Dockerfile-cpu: alleen CPU-versie voor inferentie en niet-GPU-omgevingen.
- Dockerfile-jetson: Geoptimaliseerd voor NVIDIA Jetson apparaten.
- Dockerbestand-python: Minimale Python omgeving voor lichtgewicht applicaties.
- Dockerfile-conda: Inclusief Miniconda3 en Ultralytics pakket geïnstalleerd via Conda.
Om de nieuwste afbeelding op te halen:
# Set image name as a variable
t=ultralytics/ultralytics:latest
# Pull the latest Ultralytics image from Docker Hub
sudo docker pull $t
Ultralytics draaien in Docker-container
Zo voer je de Ultralytics Docker container uit:
# 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
De -it
wijst een pseudo-TTY toe en houdt stdin open, zodat je met de container kunt communiceren. De --ipc=host
vlag maakt het delen van de IPC naamruimte van de host mogelijk, wat essentieel is voor het delen van geheugen tussen processen. De --gpus
vlag geeft de container toegang tot de GPU's van de host.
Opmerking over toegankelijkheid van bestanden
Om met bestanden op je lokale machine binnen de container te werken, kun je Docker volumes gebruiken:
# Mount a local directory into the container
sudo docker run -it --ipc=host --gpus all -v /path/on/host:/path/in/container $t
vervangen /path/on/host
met het mappad op je lokale machine en /path/in/container
met het gewenste pad in de Docker-container.
Gefeliciteerd! Je bent nu klaar om Ultralytics met Docker te gebruiken en je kunt gebruik maken van de krachtige mogelijkheden. Voor alternatieve installatiemethoden kun je terecht in de Ultralytics quickstart documentatie.