Освоение развертывания 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 Open In Colab для работы в браузере или масштабируемость Amazon AWS. Кроме того, любители контейнеров могут использовать наш официальный Docker-образ, доступный на Docker Hub Docker Pulls, для создания изолированной среды, следуя нашему руководству по быстрому запуску Docker.

Шаг 1: Создание и настройка твоей Deep Learning VM

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

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

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

Иллюстрация маркетплейса GCP по настройке 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 или более поздняя. Наши скрипты автоматически загружают модели и наборы данных из последнего релиза 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

Выделение пространства подкачки (опционально)

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

# 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

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

Комментарии