Освоение развертывания 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 для работы в браузере, или масштабируемость Amazon AWS. Кроме того, любители контейнеров могут использовать наш официальный образ Docker, доступный на сайте Docker Hub
для инкапсулированной среды, следуя нашим Руководство по быстрому запуску Docker.
Шаг 1: Создание и настройка виртуальной машины Deep Learning VM
Начнем с создания виртуальной машины, оптимизированной для глубокого обучения:
- Перейдите на торговую площадку GCP и выберите виртуальную машину Deep Learning VM.
- Выберите экземпляр n1-standard-8; он предлагает баланс из 8 vCPU и 30 ГБ памяти, что подходит для многих задач ML.
- Выберите GPU. Выбор зависит от рабочей нагрузки; даже базовый GPU T4 значительно ускорит обучение модели.
- Установите флажок "Устанавливать драйвер NVIDIA GPU автоматически при первом запуске?" для беспроблемной установки.
- Выделите постоянный диск SSD емкостью 300 ГБ, чтобы предотвратить узкие места ввода-вывода.
- Нажмите "Развернуть" и позвольте GCP предоставить вашу пользовательскую виртуальную машину Deep Learning.
Эта ВМ поставляется с предустановленными необходимыми инструментами и фреймворками, включая дистрибутив Anaconda Python , в котором удобно собраны многие необходимые зависимости для YOLOv5.
Шаг 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 позволяет обучать пользовательские модели обнаружения объектов, отвечающие вашим специфическим потребностям, или использовать предварительно обученные веса для получения быстрых результатов в различных задачах. Изучите различные варианты развертывания моделей после экспорта.
Распределение пространства подкачки (необязательно)
Если вы работаете с особенно большими массивами данных, которые могут превысить объем оперативной памяти вашей виртуальной машины, подумайте о добавлении пространства подкачки для предотвращения ошибок памяти:
# 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 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 , чтобы узнать больше об обучающих программах. Пусть ваши приключения в области ИИ продолжаются!