Ultralytics YOLOv5 🚀 на AzureML Quickstart
Добро пожаловать в Ultralytics YOLOv5 руководство по быстрому запуску для Microsoft Azure Machine Learning (AzureML)! В этом руководстве вы узнаете, как настроить YOLOv5 на вычислительном экземпляре AzureML, начиная с создания виртуальной среды и заканчивая обучением и выполнением вычислений с помощью модели.
Что такое Azure?
Azure - это комплексная платформа облачных вычислений Microsoft. Она предлагает широкий спектр услуг, включая вычислительные мощности, базы данных, инструменты аналитики, возможности машинного обучения и сетевые решения. Azure позволяет организациям создавать, развертывать и управлять приложениями и сервисами через Microsoft центры обработки данных, облегчая перенос рабочих нагрузок из локальной инфраструктуры в облако.
Что такое машинное обучение в Azure (AzureML)?
Azure Machine Learning (AzureML) - это специализированный облачный сервис, предназначенный для разработки, обучения и развертывания моделей машинного обучения. Он предоставляет среду для совместной работы с инструментами, подходящими для специалистов по изучению данных и разработчиков любого уровня квалификации. Среди ключевых особенностей - автоматическое машинное обучение (AutoML), интерфейс drag-and-drop для создания моделей, а также мощный Python SDK для более детального контроля над жизненным циклом ML. AzureML упрощает процесс встраивания прогностического моделирования в приложения.
Пререквизиты
Чтобы следовать этому руководству, вам понадобится активная подписка Azure и доступ к рабочему пространству AzureML. Если у вас нет настроенного рабочего пространства, обратитесь к официальной документации Azure, чтобы создать его.
Создание вычислительного экземпляра
Вычислительный экземпляр в AzureML представляет собой управляемую облачную рабочую станцию для специалистов по обработке данных.
- Перейдите в рабочую область AzureML.
- На левой панели выберите Вычислить.
- Перейдите на вкладку Вычислительные экземпляры и нажмите кнопку Создать.
- Настройте свой экземпляр, выбрав соответствующий CPU или GPU ресурсов в зависимости от ваших потребностей в обучении или выводах.
Откройте терминал
Когда ваш вычислительный экземпляр запущен, вы можете получить доступ к его терминалу прямо из студии AzureML.
- Перейдите в раздел Записные книжки на левой панели.
- Найдите свой экземпляр вычислителя в верхнем выпадающем меню.
- Щелкните на опции Terminal под файловым браузером, чтобы открыть интерфейс командной строки для вашего экземпляра.
Настройка и запуск YOLOv5
Теперь давайте настроим среду и запустим Ultralytics YOLOv5.
1. Создайте виртуальную среду
Лучше всего использовать виртуальную среду для управления зависимостями. Мы будем использовать Conda, которая предустановлена на вычислительных инстансах AzureML. Подробное руководство по настройке Conda можно найти в Ultralytics Conda Quickstart Guide.
Создайте среду Conda (например, yolov5env
) с определенной версией Python и активировать его:
conda create --name yolov5env -y python=3.10 # Create a new Conda environment
conda activate yolov5env # Activate the environment
conda install pip -y # Ensure pip is installed
2. Клонирование репозитория YOLOv5
Клонируйте официальный репозиторий Ultralytics YOLOv5 с GitHub, используя Git:
git clone https://github.com/ultralytics/yolov5 # Clone the repository
cd yolov5 # Navigate into the directory
# Initialize submodules (if any, though YOLOv5 typically doesn't require this step)
# git submodule update --init --recursive
3. Установите зависимые компоненты
Установите необходимые пакеты Python , перечисленные в requirements.txt
файл. Мы также устанавливаем ONNX для экспорта моделей.
pip install -r requirements.txt # Install core dependencies
pip install onnx > =1.12.0 # Install ONNX for exporting
4. Выполнение заданий YOLOv5
После завершения настройки вы можете обучать, проверять, делать выводы и экспортировать свою модель YOLOv5 .
-
Обучите модель на наборе данных, например COCO128. Более подробную информацию можно найти в документации по режиму обучения.
# Start training using yolov5s pretrained weights on the COCO128 dataset python train.py --data coco128.yaml --weights yolov5s.pt --img 640 --epochs 10 --batch 16
-
Проверьте эффективность обученной модели с помощью таких показателей, как Precision, Recall и mAP. Варианты см. в руководстве по режиму проверки.
# Validate the yolov5s model on the COCO128 validation set python val.py --weights yolov5s.pt --data coco128.yaml --img 640
-
Запустите режим прогнозирования на новых изображениях или видео. Изучите документацию по режиму прогнозирования для различных источников выводов.
# Run inference with yolov5s on sample images python detect.py --weights yolov5s.pt --source data/images --img 640
-
Экспортируйте модель в различные форматы, например ONNX, TensorRTили CoreML для развертывания. См. руководство по режиму экспорта и страницу интеграции сONNX .
# Export yolov5s to ONNX format python export.py --weights yolov5s.pt --include onnx --img 640
Использование блокнота
Если вы предпочитаете интерактивный режим работы, вы можете выполнять эти команды в блокноте AzureML. Вам нужно будет создать пользовательское ядро IPython, связанное с вашей средой Conda.
Создание нового ядра IPython
Выполните следующие команды в терминале экземпляра вычислительной машины:
# Ensure your Conda environment is active
# conda activate yolov5env
# Install ipykernel if not already present
conda install ipykernel -y
# Create a new kernel linked to your environment
python -m ipykernel install --user --name yolov5env --display-name "Python (yolov5env)"
После создания ядра обновите браузер. Когда вы открываете или создаете .ipynb
notebook, выберите новое ядро (Python (yolov5env)") из выпадающего меню kernel в правом верхнем углу.
Выполнение команд в ячейках блокнота
-
Клетки Python : Код в ячейках Python будет автоматически выполняться с использованием выбранного
yolov5env
Ядро. -
Клетки Bash : Чтобы запустить команды оболочки, используйте
%%bash
магическую команду в начале ячейки. Не забудьте активировать окружение Conda в каждой ячейке bash , поскольку они не наследуют автоматически контекст окружения ядра ноутбука.%%bash source activate yolov5env # Activate environment within the cell # Example: Run validation using the activated environment python val.py --weights yolov5s.pt --data coco128.yaml --img 640
Поздравляем! Вы успешно настроили и запустили Ultralytics YOLOv5 на AzureML. Для дальнейшего изучения обратитесь к другим интеграциямUltralytics или к подробной документации поYOLOv5 . Документация по AzureML также может оказаться полезной для таких продвинутых сценариев, как распределенное обучение или развертывание модели в качестве конечной точки.