Ultralytics YOLO27:
Get Started

Развертывание YOLOv5 на виртуальной машине Google Cloud Platform (GCP) Deep Learning#

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

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

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

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

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

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

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

Иллюстрация настройки виртуальной машины Deep Learning в магазине 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

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

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

# 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

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

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

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

Часто задаваемые вопросы#

  • Для большинства задач обучения и инференса YOLOv5 хватит машины n1-standard-8 с одним GPU T4. Для больших наборов данных или моделей перейди на L4 или A100 и обязательно отметь опцию автоматической установки драйвера NVIDIA при первом запуске.

  • Останови виртуальную машину на странице Compute Engine, когда она простаивает. Плата за подключённый диск продолжит начисляться, поэтому после завершения проекта удали виртуальную машину и диск, предварительно надёжно скопировав веса в Cloud Storage.

  • Для небольших наборов данных используй gcloud compute scp. Всё, что больше, загрузи в сегмент Cloud Storage и скачай с помощью gsutil cp -r gs://your-bucket/dataset ./datasets/ — во внутренней сети Google это гораздо быстрее.

  • Да. На виртуальной машине Deep Learning уже установлен PyTorch, поэтому pip install ultralytics добавляет обучение YOLO26 и экспорт через CLI yolo. Подробности смотри в кратком руководстве.

Комментарии