Meet YOLO26: next-gen vision AI.

Link to this sectionОсвоение развертывания YOLOv5 на виртуальной машине глубокого обучения (Deep Learning VM) в 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.

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

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

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

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

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

Link to this sectionШаг 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, упрощая процесс начала обучения модели.

Link to this sectionШаг 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

Link to this sectionВыделение области подкачки (Swap) (опционально)#

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

# 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

Link to this sectionОбучение на пользовательских наборах данных#

Чтобы обучить 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.

Link to this sectionИспользование 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/

Этот подход позволяет безопасно и экономично хранить большие наборы данных и обученные модели в облаке, минимизируя требования к хранилищу на твоей виртуальной машине.

Link to this sectionЗаключительные мысли#

Поздравляю! Теперь ты готов использовать возможности Ultralytics YOLOv5 в сочетании с вычислительной мощностью Google Cloud Platform. Эта настройка обеспечивает масштабируемость, эффективность и универсальность для твоих проектов по обнаружению объектов. Будь то личное исследование, академическая работа или создание промышленных решений, ты сделал важный шаг в мир ИИ и МО в облаке.

Рассмотри использование платформы Ultralytics для упрощенного процесса обучения и управления моделями без написания кода.

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

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

Авторы

Комментарии