Освоение развертывания 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 для работы в браузере или масштабируемость Amazon AWS. Кроме того, любители контейнеров могут использовать наш официальный образ Docker на Docker Hub
для изолированной среды, следуя нашему руководству Docker Quickstart Guide.
Шаг 1: Создай и настрой свою виртуальную машину глубокого обучения#
Давай начнем с создания виртуальной машины, оптимизированной для deep learning:
- Перейди в маркетплейс GCP marketplace и выбери Deep Learning VM.
- Выбери инстанс n1-standard-8; он предлагает оптимальный баланс из 8 vCPU и 30 ГБ оперативной памяти, что подходит для многих задач МО.
- Выбери GPU. Выбор зависит от твоей рабочей нагрузки; даже базовый графический процессор T4 значительно ускорит обучение модели.
- Поставь галочку «Установить драйвер NVIDIA GPU автоматически при первом запуске?» для беспроблемной настройки.
- Выдели SSD Persistent Disk объемом 300 ГБ, чтобы избежать «узких мест» ввода-вывода (I/O).
- Нажми «Развернуть» (Deploy) и позволь GCP подготовить твою собственную виртуальную машину глубокого обучения.
Эта виртуальная машина поставляется с предустановленными необходимыми инструментами и фреймворками, включая дистрибутив Python Anaconda, который удобно объединяет множество необходимых зависимостей для 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 или новее. Наши скрипты автоматически загружают 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 после экспорта.

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