Link to this sectionUltralytics YOLOv5 🚀 на инстансе AWS Deep Learning: Твое полное руководство#
Настройка высокопроизводительной среды для глубокого обучения может показаться сложной задачей, особенно для новичков. Но не бойся! 🛠️ Это руководство содержит пошаговое описание того, как запустить Ultralytics YOLOv5 на инстансе AWS Deep Learning. Используя возможности Amazon Web Services (AWS), даже новички в машинном обучении (ML) смогут быстро и экономично начать работу. Масштабируемость платформы AWS делает ее идеальной как для экспериментов, так и для развертывания в продакшене.
Другие варианты быстрого старта для YOLOv5 включают наш ноутбук Google Colab , среды Kaggle
, GCP Deep Learning VM и наш готовый Docker-образ, доступный на Docker Hub
.
Link to this sectionШаг 1: Вход в консоль AWS#
Начни с создания учетной записи или входа в консоль управления AWS. После входа перейди к панели управления сервисом EC2, где ты сможешь управлять своими виртуальными серверами (инстансами).

Link to this sectionШаг 2: Запуск твоего инстанса#
На панели управления EC2 нажми кнопку Launch Instance. Это запустит процесс создания нового виртуального сервера, настроенного под твои нужды.

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

Link to this sectionВыбор типа инстанса#
Для ресурсоемких задач, таких как обучение моделей глубокого обучения, настоятельно рекомендуется выбирать тип инстанса с ускорением GPU. GPU могут значительно сократить время обучения модели по сравнению с CPU. При выборе размера инстанса убедись, что объема оперативной памяти (RAM) достаточно для твоей модели и набора данных.
Примечание: Размер модели и набора данных являются критическими факторами. Если для твоей ML-задачи требуется больше памяти, чем предоставляет выбранный инстанс, тебе нужно будет выбрать инстанс большего размера, чтобы избежать проблем с производительностью или ошибок.
Изучи доступные типы GPU-инстансов на странице типов инстансов EC2, особенно в категории Accelerated Computing.

Для получения подробной информации о мониторинге и оптимизации использования GPU обратись к руководству AWS по мониторингу и оптимизации GPU. Сравни расходы с помощью ценообразования по требованию (On-Demand) и изучи потенциальную экономию с ценами на Spot-инстансы.
Link to this sectionНастройка твоего инстанса#
Рассмотри возможность использования Spot-инстансов Amazon EC2 для более экономичного подхода. Spot-инстансы позволяют делать ставки на неиспользуемые мощности EC2, часто с существенной скидкой по сравнению с ценами по требованию. Для задач, требующих сохранения данных (даже если работа Spot-инстанса будет прервана), выбери persistent request. Это гарантирует сохранение твоего тома хранилища.

Продолжай выполнение шагов 4-7 мастера запуска инстанса, чтобы настроить хранилище, добавить теги, установить группы безопасности (убедись, что SSH-порт 22 открыт для твоего IP), и проверь настройки перед нажатием кнопки Launch. Тебе также потребуется создать новую или выбрать существующую пару ключей для безопасного SSH-доступа.
Link to this sectionШаг 3: Подключение к твоему инстансу#
Как только состояние твоего инстанса сменится на 'running', выбери его на панели управления EC2. Нажми кнопку Connect, чтобы просмотреть варианты подключения. Используй предоставленный пример SSH-команды в своем локальном терминале (например, Terminal в macOS/Linux или PuTTY/WSL в Windows) для установки безопасного соединения. Тебе понадобится файл закрытого ключа (.pem), который ты создал или выбрал при запуске.

Link to this sectionШаг 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 за подробными руководствами по обучению, валидации, предсказанию (выводу) и экспорту.
Link to this sectionДополнительно: Увеличение размера файла подкачки (swap memory)#
Если ты работаешь с очень большими наборами данных или сталкиваешься с ограничениями памяти во время обучения, увеличение размера файла подкачки на инстансе может помочь. Пространство подкачки позволяет системе использовать дисковое пространство как виртуальную 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, установил Ultralytics YOLOv5 и готов к выполнению задач по обнаружению объектов. Независимо от того, экспериментируешь ли ты с предобученными моделями или обучаешь свои данные, эта мощная настройка обеспечивает масштабируемый фундамент для твоих проектов по компьютерному зрению. Если возникнут какие-либо проблемы, изучи обширную документацию AWS и полезные ресурсы сообщества Ultralytics, такие как FAQ. Удачи в детекции!