Перейти к содержанию

Начните работу с YOLOv5 🚀 в Docker

Добро пожаловать в руководство по быстрому запуску Ultralytics YOLOv5 Docker! В этом руководстве содержатся пошаговые инструкции по настройке и запуску YOLOv5 в контейнере Docker. Использование Docker позволяет запускать YOLOv5 в изолированной, согласованной среде, упрощая развертывание и управление зависимостями в различных системах. Этот подход использует контейнеризацию для упаковки приложения и его зависимостей вместе.

В качестве альтернативных методов установки рассмотрите наши Блокнот Colab Open In Colab Открыть в Kaggle, GCP Deep Learning VM, или Amazon AWS руководства. Для общего обзора использования Docker с моделями Ultralytics см. Руководство по быстрому запуску Ultralytics Docker.

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

Прежде чем приступить к работе, убедитесь, что у вас установлено следующее:

  1. Docker: Загрузите и установите Docker с официального сайта Docker. Docker необходим для создания и управления контейнерами.
  2. ДрайверыNVIDIA (требуются для GPU поддержки): Убедитесь, что у вас установлены драйверы NVIDIA версии 455.23 или выше. Последние версии драйверов можно загрузить с сайтаNVIDIA.
  3. NVIDIA Container Toolkit (требуется для поддержки GPU ): Этот набор инструментов позволяет контейнерам Docker получить доступ к графическим процессорам NVIDIA на вашей хост-машине. Следуйте официальному руководству по установкеNVIDIA Container Toolkit для получения подробных инструкций.

Настройка NVIDIA Container ToolkitGPU ПользователиGPU )

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

nvidia-smi

Эта команда должна отобразить информацию о вашем GPU(процессорах) и установленной версии драйвера.

Затем установите NVIDIA Container Toolkit. Команды ниже типичны для систем на базе Debian, таких как Ubuntu, но обратитесь к официальному руководству по ссылке выше, чтобы получить инструкции для вашего дистрибутива:

# Add NVIDIA package repositories (refer to official guide for latest setup)
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list \
  | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' \
    | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

# Update package list and install the toolkit
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

# Configure Docker to use the NVIDIA runtime
sudo nvidia-ctk runtime configure --runtime=docker

# Restart Docker service to apply changes
sudo systemctl restart docker

Наконец, убедитесь, что среда выполнения NVIDIA настроена и доступна для Docker:

docker info | grep -i runtime

Вы должны увидеть nvidia указан как один из доступных режимов выполнения.

Шаг 1: Извлеките образ Docker YOLOv5 .

Ultralytics предоставляет официальные изображения YOLOv5 на Docker Hub. Сайт latest тег отслеживает последнюю фиксацию в репозитории, что позволяет всегда получать самую свежую версию. Извлеките изображение с помощью следующей команды:

# Define the image name with tag
t=ultralytics/yolov5:latest

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

Вы можете просмотреть все доступные образы в репозиторииUltralytics YOLOv5 Docker Hub.

Шаг 2: Запустите контейнер Docker

После того как образ создан, вы можете запустить его как контейнер.

Использование только CPU

Чтобы запустить интерактивный экземпляр контейнера, используя только CPU, используйте -it флаг. Сайт --ipc=host Флаг позволяет совместно использовать пространство имен IPC хоста, что важно для совместного доступа к памяти.

# Run an interactive container instance using CPU
sudo docker run -it --ipc=host $t

Использование GPU

Чтобы включить доступ к GPU в контейнере, используйте --gpus флаг. Для этого требуется корректная установка NVIDIA Container Toolkit.

# Run with access to all available GPUs
sudo docker run -it --ipc=host --gpus all $t

# Run with access to specific GPUs (e.g., GPUs 2 and 3)
sudo docker run -it --ipc=host --gpus '"device=2,3"' $t

Более подробную информацию о параметрах команд см. в справочнике Docker run.

Монтирование локальных каталогов

Чтобы работать с локальными файлами (наборами данных, весами моделей и т. д.) внутри контейнера, воспользуйтесь командой -v флаг для монтирования каталога хоста в контейнер:

# Mount /path/on/host (your local machine) to /path/in/container (inside 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 (например, /usr/src/datasets).

Шаг 3: Используйте YOLOv5 🚀 внутри контейнера Docker.

Теперь вы находитесь внутри запущенного Docker-контейнера YOLOv5 ! Отсюда вы можете выполнять стандартные команды YOLOv5 для различных задач машинного обучения и глубокого обучения, таких как обнаружение объектов.

# Train a YOLOv5 model on your custom dataset (ensure data is mounted or downloaded)
python train.py --data your_dataset.yaml --weights yolov5s.pt --img 640 # Start training

# Validate the trained model's performance (Precision, Recall, mAP)
python val.py --weights path/to/your/best.pt --data your_dataset.yaml # Validate accuracy

# Run inference on images or videos using a trained model
python detect.py --weights yolov5s.pt --source path/to/your/images_or_videos # Perform detection

# Export the trained model to various formats like ONNX, CoreML, or TFLite for deployment
python export.py --weights yolov5s.pt --include onnx coreml tflite # Export model

Изучите документацию для получения подробной информации об использовании различных режимов:

Узнайте больше о таких метриках оценки, как Precision, Recall и mAP. Разберитесь в различных форматах экспорта, таких как ONNX, CoreMLи TFLite, а также изучите различные варианты развертывания моделей. Не забывайте эффективно управлять весами моделей.

Запуск YOLOv5 внутри контейнера Docker на GCP

Поздравляем! Вы успешно установили и запустили YOLOv5 в контейнере Docker.



📅 Создано 1 год назад ✏️ Обновлено 1 месяц назад

Комментарии