Overslaan naar inhoud

Docker snelstartgids voor Ultralytics

Ultralytics Docker pakket visueel

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.

Docker trekt

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-smi

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:

docker info | grep -i runtime

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.



Gemaakt op 2023-11-12, Bijgewerkt op 2023-11-16
Auteurs: glenn-jocher (2)

Reacties