Meet YOLO26: next-gen vision AI.

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

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

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

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

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

Страница входа в консоль AWS Management Console

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, что значительно упрощает процесс настройки.

Выбор AMI для глубокого обучения в AWS EC2

Link to this sectionВыбор типа инстанса#

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

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

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

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

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

Link to this sectionНастройка инстанса#

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

Конфигурация запроса Spot-инстанса

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

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

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

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

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-памяти#

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

Авторы

Комментарии