YOLO Vision 2026:

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

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

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

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

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

Страница входа в консоль управления AWS

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

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

Кнопка Launch Instance

Выбор подходящего образа машины Amazon (AMI)#

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

Выбор AMI Deep Learning в AWS EC2

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

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

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

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

Выбор типа инстанса GPU в AWS EC2

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

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

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

Настройка запроса Spot

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

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

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

Варианты SSH-подключения к инстансу AWS EC2

Шаг 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-пространство позволяет системе использовать дисковое пространство как виртуальную RAM.

# 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 instance, установил Ultralytics YOLOv5 и готов выполнять задачи обнаружения объектов. Экспериментируешь ли ты с предварительно обученными моделями или выполняешь обучение на собственных данных, эта мощная конфигурация обеспечивает масштабируемую основу для твоих проектов в области компьютерного зрения. Если возникнут проблемы, обратись к подробной документации AWS и полезным ресурсам сообщества Ultralytics, например к разделу FAQ. Удачного обнаружения объектов!

Комментарии