Освоение развертывания YOLOv5 на виртуальной машине глубокого обучения Google Cloud Platform (GCP)
Путь в искусственный интеллект (ИИ) и машинное обучение (МО) может быть захватывающим, особенно когда ты используешь мощь и гибкость платформы облачных вычислений. Google Cloud Platform (GCP) предлагает надежные инструменты, созданные как для энтузиастов МО, так и для профессионалов. Один из таких инструментов — виртуальная машина глубокого обучения (Deep Learning VM), предварительно настроенная для задач анализа данных и МО. В этом руководстве мы пройдем путь настройки Ultralytics YOLOv5 на GCP Deep Learning VM. Независимо от того, делаешь ли ты первые шаги в МО или уже являешься опытным практиком, это руководство даст тебе четкий план внедрения моделей обнаружения объектов, работающих на YOLOv5.
🆓 Кроме того, если ты новый пользователь GCP, тебе повезло: ты получишь $300 в качестве бесплатного кредита для запуска своих проектов.
Помимо GCP, изучи другие доступные варианты быстрого запуска для YOLOv5, такие как наш Google Colab Notebook для работы в браузере или масштабируемость Amazon AWS. Кроме того, любители контейнеров могут использовать наш официальный Docker-образ, доступный на Docker Hub
, для создания изолированной среды, следуя нашему руководству по быстрому запуску Docker.
Шаг 1: Создание и настройка твоей Deep Learning VM
Давай начнем с создания виртуальной машины, оптимизированной для глубокого обучения:
- Перейди на маркетплейс GCP и выбери Deep Learning VM.
- Выбери инстанс n1-standard-8; он предлагает баланс из 8 vCPU и 30 ГБ оперативной памяти, что подходит для многих задач МО.
- Выбери GPU. Выбор зависит от твоей нагрузки; даже базовый GPU T4 значительно ускорит обучение моделей.
- Поставь галочку «Install NVIDIA GPU driver automatically on first startup?» для беспроблемной настройки.
- Выдели SSD Persistent Disk объемом 300 ГБ, чтобы предотвратить узкие места ввода-вывода.
- Нажми «Deploy» и позволь GCP развернуть твою пользовательскую Deep Learning VM.
Эта виртуальная машина поставляется с предустановленными основными инструментами и фреймворками, включая дистрибутив 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.
Использование 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. Эта установка обеспечивает масштабируемость, эффективность и универсальность для твоих проектов по обнаружению объектов. Будь то личные исследования, академическая работа или создание промышленных решений, ты сделал важный шаг в мир ИИ и МО в облаке.
Рассмотри использование платформы Ultralytics для оптимизированного процесса обучения и управления твоими моделями без написания кода.
Не забывай документировать свой прогресс, делиться инсайтами с активным сообществом Ultralytics и использовать ресурсы, такие как GitHub discussions, для сотрудничества и поддержки. Теперь вперед, к инновациям с YOLOv5 и GCP!
Хочешь продолжить совершенствовать свои навыки в МО? Погрузись в нашу документацию и изучи блог Ultralytics, чтобы найти больше руководств и инсайтов. Пусть твое приключение в сфере ИИ продолжается!