Перейти к содержимому

Руководство по быстрому запуску Docker для Ultralytics

Ultralytics Визуальный пакет Docker

Это руководство служит исчерпывающим введением в настройку среды Docker для твоих проектов Ultralytics . Docker - это платформа для разработки, доставки и запуска приложений в контейнерах. Она особенно полезна для обеспечения того, что программное обеспечение всегда будет работать одинаково, независимо от того, где оно развернуто. Для получения более подробной информации посети репозиторий Ultralytics Docker на Docker Hub.

Docker Pulls

Чему ты научишься

  • Настройка Docker с поддержкой NVIDIA
  • Установка Ultralytics Docker-образов
  • Запуск Ultralytics в контейнере Docker
  • Монтирование локальных директорий в контейнер

Пререквизиты

  • Убедись, что Docker установлен в твоей системе. Если нет, то ты можешь скачать и установить его с сайта Docker.
  • Убедись, что в твоей системе есть графический процессор NVIDIA и установлены драйверы NVIDIA.

Настройка Docker с поддержкой NVIDIA

Сначала проверь, правильно ли установлены драйверы NVIDIA, запустив их:

nvidia-smi

Установка NVIDIA Docker Runtime

Теперь давай установим NVIDIA Docker runtime, чтобы включить поддержку GPU в контейнерах 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

Проверка NVIDIA Runtime с помощью Docker

Запускай docker info | grep -i runtime чтобы убедиться, что nvidia появляется в списке режимов выполнения:

docker info | grep -i runtime

Установка Ultralytics Docker Images

Ultralytics предлагает несколько Docker-образов, оптимизированных под разные платформы и случаи использования:

  • Докерфайл: Образ GPU, идеально подходящий для тренировок.
  • Dockerfile-arm64: Для архитектуры ARM64, подходит для устройств вроде Raspberry Pi.
  • Dockerfile-cpu: версия только для процессора для выводов и окружений без GPU.
  • Dockerfile-jetson: Оптимизирован для устройств NVIDIA Jetson.
  • Dockerfile-python: Минимальное окружение Python для легких приложений.
  • Dockerfile-conda: включает в себя пакет Miniconda3 и Ultralytics , установленный через Conda.

Чтобы вытащить последний образ:

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

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

Запуск Ultralytics в контейнере Docker

Вот как выполнить 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

The -it Флаг назначает псевдо-TTY и держит stdin открытым, позволяя тебе взаимодействовать с контейнером. Флаг --ipc=host Флаг позволяет совместно использовать IPC-пространство имен хоста, что необходимо для разделения памяти между процессами. Флаг --gpus Флаг позволяет контейнеру получить доступ к графическим процессорам хоста.

Заметка о доступности файлов

Чтобы работать с файлами на твоей локальной машине внутри контейнера, ты можешь использовать тома Docker:

# Mount a local directory into the container
sudo docker run -it --ipc=host --gpus all -v /path/on/host:/path/in/container $t

Замени /path/on/host путь к директории на твоей локальной машине и /path/in/container с указанием нужного пути внутри контейнера Docker.


Поздравляю! Теперь ты настроен на использование Ultralytics с Docker и готов воспользоваться его мощными возможностями. Чтобы узнать об альтернативных методах установки, не стесняйся изучить документацию по быстрому запускуUltralytics .



Создано 2023-11-12, Обновлено 2023-11-16
Авторы: glenn-jocher (2)

Комментарии