Salta para o conteúdo

Guia de início rápido do Docker para Ultralytics

Ultralytics Visual do pacote Docker

Este guia serve como uma introdução abrangente à configuração de um ambiente Docker para seus projetos Ultralytics . O Docker é uma plataforma para desenvolver, enviar e executar aplicativos em contêineres. É particularmente benéfico para garantir que o software será sempre executado da mesma forma, independentemente de onde for implantado. Para obter mais detalhes, visita o repositório do Docker Ultralytics no Docker Hub.

Docker Pulls

O que vais aprender

  • Configurando o Docker com suporte da NVIDIA
  • Instalar imagens do Ultralytics Docker
  • Executar Ultralytics num contentor Docker
  • Montagem de directórios locais no contentor

Pré-requisitos

  • Certifica-te de que o Docker está instalado no teu sistema. Se não estiver, podes transferi-lo e instalá-lo a partir do site do Docker.
  • Certifica-te de que o teu sistema tem uma GPU NVIDIA e que os controladores NVIDIA estão instalados.

Configurando o Docker com o suporte da NVIDIA

Primeiro, verifica se os drivers NVIDIA estão instalados corretamente, executando:

nvidia-smi

Instalando o tempo de execução do NVIDIA Docker

Agora, vamos instalar o tempo de execução do NVIDIA Docker para habilitar o suporte a GPU em contêineres 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 o tempo de execução NVIDIA com o Docker

Corre docker info | grep -i runtime para garantir que nvidia aparece na lista de tempos de execução:

docker info | grep -i runtime

Instalando Ultralytics Imagens Docker

Ultralytics oferece várias imagens Docker optimizadas para várias plataformas e casos de utilização:

  • Dockerfile: Imagem GPU, ideal para treinamento.
  • Dockerfile-arm64: Para a arquitetura ARM64, adequada para dispositivos como o Raspberry Pi.
  • Dockerfile-cpu: versão apenas para CPU para ambientes de inferência e não-GPU.
  • Dockerfile-jetson: Otimizado para dispositivos NVIDIA Jetson.
  • Dockerfile-python: Ambiente mínimo Python para aplicações leves.
  • Dockerfile-conda: Inclui o pacote Miniconda3 e Ultralytics instalado via Conda.

Para obteres a imagem mais recente:

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

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

Executa Ultralytics no Docker Container

Vê aqui como executar o contentor 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

O -it atribui um pseudo-TTY e mantém o stdin aberto, permitindo-te interagir com o contentor. O sinalizador --ipc=host permite a partilha do espaço de nomes IPC do anfitrião, essencial para a partilha de memória entre processos. O sinalizador --gpus permite que o contentor aceda às GPUs do anfitrião.

Nota sobre a acessibilidade dos ficheiros

Para trabalhar com ficheiros na tua máquina local dentro do contentor, podes utilizar os 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

Substitui /path/on/host com o caminho do diretório na tua máquina local e /path/in/container com o caminho desejado dentro do contentor Docker.


Parabéns! Agora estás preparado para usar Ultralytics com o Docker e pronto para tirar partido das suas poderosas capacidades. Para métodos de instalação alternativos, fica à vontade para explorar a documentação de início rápido doUltralytics .



Criado em 2023-11-12, Atualizado em 2023-11-16
Autores: glenn-jocher (2)

Comentários