Перейти к содержанию

Освоение развертывания YOLOv5 на виртуальной машине глубокого обучения Google Cloud Platform (GCP)

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

🆓 Кроме того, если вы новый пользователь GCP, то вам повезло: вы можете получить бесплатный кредит в размере 300 долларов США, чтобы начать работу над своими проектами.

Помимо GCP, изучите другие доступные варианты быстрого старта для YOLOv5, например, наши Блокнот Google Colab 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 ГБ памяти, что подходит для многих задач ML.
  3. Выберите GPU. Выбор зависит от рабочей нагрузки; даже базовый GPU T4 значительно ускорит обучение модели.
  4. Установите флажок "Устанавливать драйвер NVIDIA GPU автоматически при первом запуске?" для беспроблемной установки.
  5. Выделите постоянный диск SSD емкостью 300 ГБ, чтобы предотвратить узкие места ввода-вывода.
  6. Нажмите "Развернуть" и позвольте GCP предоставить вашу пользовательскую виртуальную машину Deep Learning.

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

Иллюстрация GCP Marketplace по настройке виртуальной машины Deep Learning VM

Шаг 2: Подготовка виртуальной машины для YOLOv5

После настройки среды давайте установим и подготовим YOLOv5 :

# Clone the YOLOv5 repository from GitHub
git clone https://github.com/ultralytics/yolov5

# Navigate into the cloned repository directory
cd yolov5

# Install the required Python packages listed in requirements.txt
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 позволяет обучать пользовательские модели обнаружения объектов, отвечающие вашим специфическим потребностям, или использовать предварительно обученные веса для получения быстрых результатов в различных задачах. Изучите различные варианты развертывания моделей после экспорта.

Изображение команды терминала, иллюстрирующее обучение модели на виртуальной машине GCP Deep Learning VM

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

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

# 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 Train.

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

Для эффективного управления данными, особенно при работе с большими массивами данных или многочисленными экспериментами, интегрируйте рабочий процесс YOLOv5 с облачным хранилищемGoogle :

# 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 HUB для упрощенного обучения и управления моделями без использования кода.

Не забывайте документировать свой прогресс, делиться идеями с активным сообществом Ultralytics и использовать такие ресурсы, как обсуждения на GitHub, для сотрудничества и поддержки. А теперь вперед, к инновациям с YOLOv5 и GCP!

Хотите и дальше совершенствовать свои навыки работы с ML? Погрузитесь в нашу документацию и изучите блогUltralytics , чтобы узнать больше об обучающих программах. Пусть ваши приключения в области ИИ продолжаются!

📅 Создано 1 год назад ✏️ Обновлено 3 дня назад

Комментарии