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

Освоение развертывания YOLOv5 на Google Cloud Platform (GCP) Deep Learning VM

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

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

В дополнение к GCP, изучите другие доступные варианты быстрого старта для YOLOv5, такие как наши Google Colab Notebook Открыть в Colab для работы в браузере или масштабируемость Amazon AWSКроме того, любители контейнеров могут использовать наш официальный Docker-образ, доступный на Docker Hub Загрузки Docker для изолированной среды, следуя нашим Краткое руководство по Docker.

Шаг 1: Создайте и настройте свою виртуальную машину для глубокого обучения

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

  1. Перейдите в GCP marketplace и выберите Deep Learning VM.
  2. Выберите экземпляр n1-standard-8; он предлагает баланс из 8 vCPU и 30 ГБ памяти, что подходит для многих задач машинного обучения.
  3. Выберите GPU. Выбор зависит от вашей рабочей нагрузки; даже базовая GPU T4 значительно ускорит обучение модели.
  4. Для простой настройки установите флажок 'Автоматически установить драйвер NVIDIA GPU при первом запуске?'.
  5. Выделите постоянный диск SSD объемом 300 ГБ, чтобы предотвратить узкие места ввода-вывода.
  6. Нажмите «Deploy» и разрешите GCP подготовить вашу пользовательскую виртуальную машину Deep Learning.

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

Иллюстрация настройки Deep Learning VM в GCP Marketplace

Шаг 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 VM, используя 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 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 HUB для упрощенной работы без кода при обучении и управлении вашими моделями.

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

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



📅 Создано 1 год назад ✏️ Обновлено 2 месяца назад

Комментарии