Guia de início rápido do Docker para Ultralytics
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.
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:
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:
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 .