Освоение развёртывания YOLOv5 на виртуальной машине для глубокого обучения Google Cloud Platform (GCP)#
Погружение в мир искусственного интеллекта (AI) и машинного обучения (ML) может быть захватывающим, особенно если использовать возможности и гибкость платформы облачных вычислений. Google Cloud Platform (GCP) предлагает мощные инструменты, рассчитанные как на энтузиастов ML, так и на профессионалов. Один из таких инструментов — виртуальная машина для глубокого обучения, предварительно настроенная для задач анализа данных и ML. В этом руководстве мы рассмотрим процесс настройки Ultralytics YOLOv5 на виртуальной машине для глубокого обучения GCP. Независимо от того, делаешь ли ты первые шаги в ML или являешься опытным специалистом, это руководство поможет тебе реализовать модели обнаружения объектов на базе YOLOv5.
🆓 Кроме того, если ты новый пользователь GCP, тебе повезло: для запуска проектов доступен $300 бесплатного кредита.
Помимо GCP, ознакомься с другими доступными вариантами быстрого старта для YOLOv5, например с нашим блокнотом Google Colab для работы в браузере или с возможностями масштабирования Amazon AWS. Кроме того, любители контейнеров могут использовать наш официальный образ Docker, доступный на Docker Hub
, для изолированной среды, следуя нашему руководству по быстрому старту Docker.
Шаг 1. Создание и настройка виртуальной машины для глубокого обучения#
Начнём с создания виртуальной машины, оптимизированной для глубокого обучения:
- Перейди на маркетплейс GCP и выбери виртуальную машину для глубокого обучения.
- Выбери экземпляр n1-standard-8: он обеспечивает баланс из 8 виртуальных CPU и 30 ГБ памяти, что подходит для многих задач ML.
- Выбери GPU. Выбор зависит от твоей рабочей нагрузки; даже базовый GPU T4 значительно ускорит обучение модели.
- Установи флажок «Install NVIDIA GPU driver automatically on first startup?» для беспроблемной настройки.
- Выдели SSD Persistent Disk объёмом 300 ГБ, чтобы избежать узких мест при выполнении операций ввода-вывода.
- Нажми «Deploy» и подожди, пока GCP подготовит твою пользовательскую виртуальную машину для глубокого обучения.
Эта виртуальная машина поставляется с предустановленными необходимыми инструментами и фреймворками, включая дистрибутив Anaconda Python, который удобно объединяет множество зависимостей, необходимых для YOLOv5.

Шаг 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 позволяет обучать пользовательские модели обнаружения объектов, адаптированные под твои конкретные задачи, или использовать предварительно обученные веса для быстрого получения результатов в различных сценариях. После экспорта изучи разные варианты развёртывания моделей.

Выделение пространства подкачки (необязательно)#
Если ты работаешь с особенно большими датасетами, которые могут превысить объём оперативной памяти виртуальной машины, добавь пространство подкачки, чтобы избежать ошибок памяти:
# 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, выполни следующие общие шаги:
-
Подготовь датасет в соответствии с форматом YOLOv5 (изображения и соответствующие файлы меток). Руководство смотри в нашем обзоре датасетов.
-
Загрузи датасет на свою виртуальную машину GCP с помощью
gcloud compute scpили функции SSH в веб-консоли. -
Создай YAML-файл конфигурации датасета (
custom_dataset.yaml), в котором указаны пути к данным для обучения и валидации, количество классов и их названия. -
Начни процесс обучения, используя 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 продолжается!