YOLO Vision 2026:

Освоение развёртывания YOLOv5 на виртуальной машине для глубокого обучения Google Cloud Platform (GCP)#

Погружение в мир искусственного интеллекта (AI) и машинного обучения (ML) может быть захватывающим, особенно если использовать возможности и гибкость платформы облачных вычислений. Google Cloud Platform (GCP) предлагает мощные инструменты, рассчитанные как на энтузиастов ML, так и на профессионалов. Один из таких инструментов — виртуальная машина для глубокого обучения, предварительно настроенная для задач анализа данных и ML. В этом руководстве мы рассмотрим процесс настройки Ultralytics YOLOv5 на виртуальной машине для глубокого обучения GCP. Независимо от того, делаешь ли ты первые шаги в ML или являешься опытным специалистом, это руководство поможет тебе реализовать модели обнаружения объектов на базе YOLOv5.

🆓 Кроме того, если ты новый пользователь GCP, тебе повезло: для запуска проектов доступен $300 бесплатного кредита.

Помимо GCP, ознакомься с другими доступными вариантами быстрого старта для YOLOv5, например с нашим блокнотом Google Colab Open In Colab для работы в браузере или с возможностями масштабирования Amazon AWS. Кроме того, любители контейнеров могут использовать наш официальный образ Docker, доступный на Docker Hub Docker Pulls, для изолированной среды, следуя нашему руководству по быстрому старту Docker.

Шаг 1. Создание и настройка виртуальной машины для глубокого обучения#

Начнём с создания виртуальной машины, оптимизированной для глубокого обучения:

  1. Перейди на маркетплейс GCP и выбери виртуальную машину для глубокого обучения.
  2. Выбери экземпляр n1-standard-8: он обеспечивает баланс из 8 виртуальных CPU и 30 ГБ памяти, что подходит для многих задач ML.
  3. Выбери GPU. Выбор зависит от твоей рабочей нагрузки; даже базовый GPU T4 значительно ускорит обучение модели.
  4. Установи флажок «Install NVIDIA GPU driver automatically on first startup?» для беспроблемной настройки.
  5. Выдели SSD Persistent Disk объёмом 300 ГБ, чтобы избежать узких мест при выполнении операций ввода-вывода.
  6. Нажми «Deploy» и подожди, пока GCP подготовит твою пользовательскую виртуальную машину для глубокого обучения.

Эта виртуальная машина поставляется с предустановленными необходимыми инструментами и фреймворками, включая дистрибутив Anaconda Python, который удобно объединяет множество зависимостей, необходимых для YOLOv5.

Иллюстрация настройки виртуальной машины для глубокого обучения на маркетплейсе GCP

Шаг 2. Подготовка виртуальной машины для YOLOv5#

После настройки среды установим YOLOv5 и подготовим его к работе:

# Clone the YOLOv5 repository
git clone https://github.com/ultralytics/yolov5
cd yolov5

# Install dependencies
pip install -r requirements.txt

Этот процесс настройки гарантирует, что у тебя будут среда Python версии 3.8.0 или новее и PyTorch версии 1.8 или новее. Наши скрипты автоматически скачивают модели и датасеты из последнего релиза YOLOv5, упрощая начало обучения модели.

Шаг 3. Обучение и развёртывание моделей YOLOv5#

После завершения настройки ты готов обучать, валидировать, выполнять предсказания и экспортировать модели YOLOv5 на своей виртуальной машине GCP:

# Train a YOLOv5 model on your dataset (e.g., yolov5s)
python train.py --data coco128.yaml --weights yolov5s.pt --img 640

# Validate the trained model to check Precision, Recall, and mAP
python val.py --weights yolov5s.pt --data coco128.yaml

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

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

Всего несколькими командами YOLOv5 позволяет обучать пользовательские модели обнаружения объектов, адаптированные под твои конкретные задачи, или использовать предварительно обученные веса для быстрого получения результатов в различных сценариях. После экспорта изучи разные варианты развёртывания моделей.

Обучение модели YOLOv5 на виртуальной машине GCP

Выделение пространства подкачки (необязательно)#

Если ты работаешь с особенно большими датасетами, которые могут превысить объём оперативной памяти виртуальной машины, добавь пространство подкачки, чтобы избежать ошибок памяти:

# Allocate a 64GB swap file
sudo fallocate -l 64G /swapfile

# Set the correct permissions for the swap file
sudo chmod 600 /swapfile

# Set up the Linux swap area
sudo mkswap /swapfile

# Enable the swap file
sudo swapon /swapfile

# Verify the swap space allocation (should show increased swap memory)
free -h

Обучение на пользовательских датасетах#

Чтобы обучить YOLOv5 на своём датасете в GCP, выполни следующие общие шаги:

  1. Подготовь датасет в соответствии с форматом YOLOv5 (изображения и соответствующие файлы меток). Руководство смотри в нашем обзоре датасетов.

  2. Загрузи датасет на свою виртуальную машину GCP с помощью gcloud compute scp или функции SSH в веб-консоли.

  3. Создай YAML-файл конфигурации датасета (custom_dataset.yaml), в котором указаны пути к данным для обучения и валидации, количество классов и их названия.

  4. Начни процесс обучения, используя YAML-файл своего датасета и, при необходимости, начав с предварительно обученных весов:

    # Example: Train YOLOv5s on a custom dataset for 100 epochs
    python train.py --img 640 --batch 16 --epochs 100 --data custom_dataset.yaml --weights yolov5s.pt

Подробные инструкции по подготовке данных и обучению на пользовательских датасетах смотри в документации Ultralytics YOLOv5 по обучению.

Использование облачного хранилища#

Для эффективного управления данными, особенно при работе с большими датасетами или многочисленными экспериментами, интегрируй рабочий процесс YOLOv5 с Google Cloud Storage:

# Ensure Google Cloud SDK is installed and initialized
# If not installed: curl https://sdk.cloud.google.com/ | bash
# Then initialize: gcloud init

# Example: Copy your dataset from a GCS bucket to your VM
gsutil cp -r gs://your-data-bucket/my_dataset ./datasets/

# Example: Copy trained model weights from your VM to a GCS bucket
gsutil cp -r ./runs/train/exp/weights gs://your-models-bucket/yolov5_custom_weights/

Такой подход позволяет безопасно и экономично хранить в облаке большие датасеты и обученные модели, уменьшая требования к хранилищу на экземпляре виртуальной машины.

Заключение#

Поздравляем! Теперь ты можешь использовать возможности Ultralytics YOLOv5 в сочетании с вычислительной мощностью Google Cloud Platform. Такая конфигурация обеспечивает масштабируемость, эффективность и универсальность для твоих проектов по обнаружению объектов. Для личных экспериментов, академических исследований или создания промышленных решений ты сделал важный шаг в мир AI и ML в облаке.

Рассмотри Ultralytics Platform для удобного обучения и управления моделями без написания кода.

Не забывай документировать свои результаты, делиться знаниями с активным сообществом Ultralytics и использовать такие ресурсы, как обсуждения на GitHub, для совместной работы и поддержки. Теперь вперёд — твори инновации с YOLOv5 и GCP!

Хочешь и дальше развивать навыки ML? Изучи нашу документацию и загляни в блог Ultralytics, где найдёшь новые руководства и полезные материалы. Пусть твоё приключение в мире AI продолжается!

Комментарии