YOLO Vision 2026:

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

Погружение в мир artificial intelligence (AI) и machine learning (ML) может быть захватывающим, особенно когда ты задействуешь мощность и гибкость платформы cloud computing. Google Cloud Platform (GCP) предлагает надежные инструменты, созданные как для энтузиастов, так и для профессионалов в области ML. Одним из таких инструментов является Deep Learning VM, предварительно настроенная для задач Data Science и ML. В этом руководстве мы пройдем процесс настройки Ultralytics YOLOv5 на виртуальной машине GCP Deep Learning VM. Независимо от того, делаешь ли ты первые шаги в ML или являешься опытным специалистом, это руководство предоставляет понятный путь для реализации моделей object detection на базе YOLOv5.

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

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

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

Давай начнем с создания виртуальной машины, оптимизированной для deep learning:

  1. Перейди в маркетплейс GCP marketplace и выбери Deep Learning VM.
  2. Выбери инстанс n1-standard-8; он предлагает оптимальный баланс из 8 vCPU и 30 ГБ оперативной памяти, что подходит для многих задач МО.
  3. Выбери GPU. Выбор зависит от твоей рабочей нагрузки; даже базовый графический процессор T4 значительно ускорит обучение модели.
  4. Поставь галочку «Установить драйвер NVIDIA GPU автоматически при первом запуске?» для беспроблемной настройки.
  5. Выдели SSD Persistent Disk объемом 300 ГБ, чтобы избежать «узких мест» ввода-вывода (I/O).
  6. Нажми «Развернуть» (Deploy) и позволь GCP подготовить твою собственную виртуальную машину глубокого обучения.

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

GCP Marketplace illustration of setting up a Deep Learning VM

Шаг 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 или новее. Наши скрипты автоматически загружают models и datasets из последнего релиза release YOLOv5, упрощая процесс запуска обучения моделей.

Шаг 3: Обучай и разворачивай свои модели YOLOv5#

После завершения настройки ты готов к train, validate, predict и export с помощью 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 позволяет обучать кастомные модели object detection, адаптированные под твои конкретные нужды, или использовать предобученные веса для быстрого получения результатов в различных задачах. Изучи различные model deployment options после экспорта.

YOLOv5 model training on GCP VM

Выделение области подкачки (Swap) (опционально)#

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

# 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 (изображения и соответствующие файлы меток). Инструкции см. в нашем datasets overview.

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

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

  4. Начни training process, используя 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 Train documentation.

Использование Cloud Storage#

Для эффективного управления данными, особенно при работе с большими датасетами или многочисленными экспериментами, интегрируй свой рабочий процесс 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. Эта настройка обеспечивает масштабируемость, эффективность и универсальность для твоих проектов по обнаружению объектов. Будь то личные исследования, академические изыскания или создание промышленных solutions, ты сделал важный шаг в мир ИИ и машинно обучения в облаке.

Подумай об использовании Ultralytics Platform для удобной работы без написания кода при обучении и управлении своими моделями.

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

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

Комментарии