YOLO Vision 2026:

Ultralytics YOLOv5 🚀 на AWS Deep Learning Instance: твое полное руководство#

Настройка среды deep learning высокой производительности может показаться сложной задачей, особенно для новичков. Но не бойся! 🛠️ Это руководство содержит пошаговое описание того, как запустить Ultralytics YOLOv5 на инстансе AWS Deep Learning. Используя возможности Amazon Web Services (AWS), даже новички в machine learning (ML) могут начать работу быстро и с минимальными затратами. Масштабируемость платформы AWS делает ее идеальной как для экспериментов, так и для развертывания в продакшене.

Другие варианты быстрого старта для YOLOv5 включают наш Google Colab Notebook Open In Colab, среды Kaggle Open In Kaggle, GCP Deep Learning VM, а также наш готовый образ Docker, доступный на Docker Hub Docker Pulls.

Шаг 1: Вход в консоль AWS#

Начни с создания аккаунта или входа в AWS Management Console. После входа перейди на панель управления сервисом EC2, где ты сможешь управлять своими виртуальными серверами (инстансами).

AWS Management Console sign-in page

Шаг 2: Запуск инстанса#

На панели управления EC2 нажми кнопку Launch Instance. Это инициирует процесс создания нового виртуального сервера, настроенного под твои нужды.

Launch Instance Button

Выбор подходящего образа Amazon Machine Image (AMI)#

Выбор правильного AMI имеет решающее значение. Это определяет операционную систему и предварительно установленное ПО для твоего инстанса. Введи в строке поиска 'Deep Learning' и выбери новейший образ Deep Learning AMI на базе Ubuntu (если у тебя нет особых требований к другой ОС). Образы Deep Learning AMI от Amazon поставляются с предварительно настроенными популярными фреймворками глубокого обучения (такими как PyTorch, используемый в YOLOv5) и необходимыми драйверами GPU, что значительно упрощает процесс настройки.

AWS EC2 Deep Learning AMI selection

Выбор типа инстанса#

Для ресурсоемких задач, таких как обучение моделей глубокого обучения, настоятельно рекомендуется выбирать тип инстанса с поддержкой GPU. GPU могут значительно сократить время, необходимое для обучения модели, по сравнению с CPU. При выборе размера инстанса убедись, что его объем памяти (RAM) достаточен для твоей модели и набора данных.

Примечание: Размер модели и набора данных являются критическими факторами. Если твоя ML-задача требует больше памяти, чем предоставляет выбранный инстанс, тебе нужно будет выбрать инстанс большего размера, чтобы избежать проблем с производительностью или ошибок.

Ознакомься с доступными типами инстансов с GPU на странице типов инстансов EC2, в частности в категории Accelerated Computing.

AWS EC2 GPU instance type selection

Для получения подробной информации о мониторинге и оптимизации использования GPU обратись к руководству AWS по мониторингу и оптимизации GPU. Сравни затраты с помощью On-Demand Pricing и изучи потенциальную экономию с Spot Instance Pricing.

Настройка инстанса#

Рассмотри использование Amazon EC2 Spot Instances для более экономичного подхода. Spot Instances позволяют делать ставки на неиспользуемые мощности EC2, зачастую с существенной скидкой по сравнению с ценами по запросу (On-Demand). Для задач, требующих сохранения состояния (сохранение данных даже в случае прерывания Spot Instance), выбери persistent request. Это гарантирует сохранение твоего тома хранилища.

Spot Request Configuration

Пройди шаги 4-7 мастера запуска инстанса, чтобы настроить хранилище, добавить теги, настроить группы безопасности (убедись, что SSH-порт 22 открыт для твоего IP) и просмотреть настройки перед нажатием кнопки Launch. Тебе также нужно будет создать новую или выбрать существующую пару ключей для безопасного доступа по SSH.

Шаг 3: Подключение к инстансу#

Когда статус твоего инстанса отобразится как 'running', выбери его на панели управления EC2. Нажми кнопку Connect, чтобы просмотреть варианты подключения. Используй пример команды SSH в своем локальном терминале (например, Terminal в macOS/Linux или PuTTY/WSL в Windows), чтобы установить безопасное соединение. Тебе понадобится файл приватного ключа (.pem), который ты создал или выбрал во время запуска.

AWS EC2 instance SSH connection options

Шаг 4: Запуск Ultralytics YOLOv5#

Теперь, когда ты подключен через SSH, ты можешь настроить и запустить YOLOv5. Сначала клонируй официальный репозиторий YOLOv5 с GitHub и перейди в директорию. Затем установи необходимые зависимости с помощью pip. Рекомендуется использовать среду Python версии 3.8 или новее. Необходимые модели и датасеты будут загружены автоматически из последнего релиза YOLOv5 при выполнении таких команд, как обучение или детекция.

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

# Install required packages
pip install -r requirements.txt

Когда среда готова, ты можешь начать использовать YOLOv5 для различных задач:

# Train a YOLOv5 model on a custom dataset (e.g., coco128.yaml)
python train.py --data coco128.yaml --weights yolov5s.pt --img 640

# Validate the performance (Precision, Recall, mAP) of a trained model (e.g., yolov5s.pt)
python val.py --weights yolov5s.pt --data coco128.yaml --img 640

# Run inference (object detection) on images or videos using a trained model
python detect.py --weights yolov5s.pt --source path/to/your/images_or_videos/ --img 640

# Export the trained model to various formats like ONNX, CoreML, TFLite for deployment
# See https://docs.ultralytics.com/modes/export/ for more details
python export.py --weights yolov5s.pt --include onnx coreml tflite --img 640

Обратись к документации Ultralytics для получения подробных руководств по обучению, валидации, предсказанию (инференсу) и экспорту.

Дополнительно: увеличение объема swap-памяти#

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

# Allocate a 64GB swap file (adjust size as needed)
sudo fallocate -l 64G /swapfile

# Set correct permissions
sudo chmod 600 /swapfile

# Set up the file as a Linux swap area
sudo mkswap /swapfile

# Enable the swap file
sudo swapon /swapfile

# Verify the swap memory is active
free -h

Поздравляем! 🎉 Ты успешно настроил инстанс AWS Deep Learning, установил Ultralytics YOLOv5 и готов выполнять задачи обнаружения объектов. Экспериментируешь ли ты с предобученными моделями или обучаешь модель на собственных данных — эта мощная конфигурация обеспечит масштабируемую основу для твоих проектов по computer vision. Если у тебя возникнут какие-либо проблемы, обратись к обширной документации AWS и полезным ресурсам сообщества Ultralytics, таким как FAQ. Удачной детекции!

Комментарии