Ultralytics YOLOv5 🚀 на AWS Deep Learning Instance: Ваше полное руководство
Создание высокопроизводительной среды глубокого обучения может показаться сложной задачей, особенно для новичков. Но не бойтесь! 🛠️ В этом руководстве вы найдете пошаговую инструкцию по созданию Ultralytics YOLOv5 на экземпляре AWS Deep Learning. Используя возможности Amazon Web Services (AWS), даже новички в области машинного обучения (ML) могут начать работу быстро и с минимальными затратами. Масштабируемость платформы AWS делает ее идеальной как для экспериментов, так и для производственного развертывания.
Другие варианты быстрого старта для YOLOv5 включают наши Блокнот Google Colab , Среды Kaggle
, GCP Deep Learning VM, а также наш готовый образ Docker, доступный на Docker Hub
.
Шаг 1: Вход в консоль AWS
Начните с создания учетной записи или входа в консоль управления AWS. После входа в систему перейдите на панель управления службы EC2, где вы можете управлять своими виртуальными серверами (экземплярами).
Шаг 2: Запустите свой экземпляр
На панели инструментов EC2 нажмите кнопку Launch Instance. Это запустит процесс создания нового виртуального сервера, отвечающего вашим потребностям.
Выбор подходящего образа машины Amazon (AMI)
Выбор правильного AMI имеет решающее значение. Он определяет операционную систему и предустановленное программное обеспечение для вашего экземпляра. В строке поиска введите"Deep Learning" и выберите последнюю версию Deep Learning AMI на базе Ubuntu (если у вас нет особых требований к другой ОС). AMI для глубокого обучения от Amazon поставляются с предустановленными популярными фреймворками глубокого обучения (такими как PyTorchиспользуемый в YOLOv5) и необходимыми драйверамиGPU , что значительно упрощает процесс настройки.
Выбор типа экземпляра
Для таких сложных задач, как обучение моделей глубокого обучения, настоятельно рекомендуется выбирать тип экземпляра GPU. Графические процессоры позволяют значительно сократить время обучения модели по сравнению с центральными процессорами. При выборе размера экземпляра убедитесь, что объем его памяти (RAM) достаточен для вашей модели и набора данных.
Примечание: Размер вашей модели и набора данных являются критическими факторами. Если ваша задача ML требует больше памяти, чем предоставляет выбранный экземпляр, вам нужно выбрать более крупный тип экземпляра, чтобы избежать проблем с производительностью или ошибок.
Изучите доступные типы экземпляров GPU на странице Типы экземпляров EC2, в частности в категории Ускоренные вычисления.
Подробную информацию о мониторинге и оптимизации использования GPU можно найти в руководстве AWS по мониторингу и оптимизацииGPU . Сравните затраты с помощью ценообразования по требованию и изучите потенциальную экономию с помощью ценообразования для точечных экземпляров.
Настройка вашего экземпляра
Рассмотрите возможность использования Amazon EC2 Spot Instances для более экономичного подхода. Spot Instances позволяют участвовать в торгах на неиспользуемые мощности EC2, часто со значительной скидкой по сравнению с ценами On-Demand. Для задач, требующих постоянства (сохранения данных даже при прерывании работы Spot Instance), выбирайте постоянный запрос. Это гарантирует сохранение объема хранилища.
Выполните шаги 4-7 мастера запуска экземпляра, чтобы настроить хранилище, добавить теги, установить группы безопасности (убедитесь, что порт SSH 22 открыт с вашего IP-адреса) и просмотреть настройки, прежде чем нажать кнопку "Запуск". Вам также потребуется создать или выбрать существующую пару ключей для безопасного доступа по SSH.
Шаг 3: Подключитесь к вашему экземпляру
Как только состояние экземпляра отобразится как "работающий", выберите его на панели EC2. Нажмите кнопку Подключайтесь для просмотра параметров подключения. Используйте предоставленный пример команды SSH в локальном терминале (например, Terminal на macOS/Linux или PuTTY/WSL на Windows), чтобы установить безопасное соединение. Вам понадобится файл закрытого ключа (.pem
), который вы создали или выбрали во время запуска.
Шаг 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 .
Дополнительные возможности: Увеличение объема памяти подкачки
Если вы работаете с очень большими наборами данных или сталкиваетесь с нехваткой памяти во время обучения, иногда может помочь увеличение объема памяти подкачки на экземпляре. Место подкачки позволяет системе использовать дисковое пространство в качестве виртуальной оперативной памяти.
# 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. Счастливого обнаружения!