Ultralytics YOLOv5 🚀 в AzureML: быстрое начало
Добро пожаловать в руководство по быстрому началу работы с Ultralytics YOLOv5 для Microsoft Azure Machine Learning (AzureML)! Это руководство поможет тебе настроить YOLOv5 на вычислительном экземпляре AzureML, охватывая все этапы: от создания виртуальной среды до обучения и запуска инференса с помощью модели.
Что такое Azure?
Azure — это комплексная платформа облачных вычислений от Microsoft. Она предлагает широкий спектр сервисов, включая вычислительные мощности, базы данных, инструменты аналитики, возможности машинного обучения и сетевые решения. Azure позволяет организациям создавать, развертывать и управлять приложениями и сервисами через центры обработки данных под управлением Microsoft, облегчая перенос рабочих нагрузок из локальной инфраструктуры в облако.
Что такое Azure Machine Learning (AzureML)?
Azure Machine Learning (AzureML) — это специализированный облачный сервис, предназначенный для разработки, обучения и развертывания моделей машинного обучения. Он предоставляет среду для совместной работы с инструментами, подходящими для специалистов по анализу данных и разработчиков любого уровня подготовки. Ключевые функции включают автоматизированное машинное обучение (AutoML), интерфейс перетаскивания (drag-and-drop) для создания моделей и мощный Python SDK для более детального контроля жизненного цикла ML. AzureML упрощает процесс внедрения прогнозного моделирования в приложения.
Предварительные требования
Для работы с этим руководством тебе потребуется активная подписка Azure и доступ к рабочей области AzureML. Если у тебя еще нет настроенной рабочей области, обратись к официальной документации Azure, чтобы создать ее.
Создание вычислительного экземпляра
Вычислительный экземпляр в AzureML предоставляет управляемую облачную рабочую станцию для специалистов по анализу данных.
- Перейди в свою рабочую область AzureML.
- На левой панели выбери Compute (Вычисления).
- Перейди на вкладку Compute instances (Вычислительные экземпляры) и нажми New (Создать).
- Настрой свой экземпляр, выбрав соответствующие ресурсы CPU или GPU в зависимости от твоих потребностей в обучении или инференсе.
Открытие терминала
Как только твой вычислительный экземпляр будет запущен, ты сможешь получить доступ к его терминалу прямо из студии AzureML.
- Перейди в раздел Notebooks (Блокноты) на левой панели.
- Найди свой вычислительный экземпляр в верхнем выпадающем меню.
- Нажми на опцию Terminal (Терминал) под файловым браузером, чтобы открыть интерфейс командной строки для твоего экземпляра.

Настройка и запуск YOLOv5
Теперь давай настроим среду и запустим Ultralytics YOLOv5.
Создание виртуальной среды
Использование виртуальной среды для управления зависимостями — это лучшая практика. Мы будем использовать Conda, которая предустановлена на вычислительных экземплярах AzureML. Подробное руководство по настройке Conda см. в руководстве по быстрому запуску Conda от Ultralytics.
Создай среду 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Клонирование репозитория 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Установка зависимостей
Установи необходимые пакеты Python, перечисленные в файле requirements.txt. Мы также устанавливаем ONNX для возможностей экспорта моделей.
pip install -r requirements.txt # Install core dependencies
pip install "onnx>=1.12.0" # Install ONNX for exportingВыполнение задач YOLOv5
После завершения настройки ты можешь обучать, проверять, выполнять инференс и экспортировать свою модель YOLOv5.
-
Обучай (Train) модель на таком наборе данных, как COCO128. Ознакомься с документацией по режиму обучения (Training Mode) для получения дополнительной информации.
# 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 -
Проверяй (Validate) эффективность обученной модели с помощью таких метрик, как Precision, Recall и mAP. См. руководство по режиму проверки (Validation Mode) для ознакомления с доступными опциями.
# Validate the yolov5s model on the COCO128 validation set python val.py --weights yolov5s.pt --data coco128.yaml --img 640 -
Запускай инференс (Run Inference) на новых изображениях или видео. Изучи документацию по режиму предсказания (Prediction Mode) для различных источников инференса.
# Run inference with yolov5s on sample images python detect.py --weights yolov5s.pt --source data/images --img 640 -
Экспортируй (Export) модель в различные форматы, такие как ONNX, TensorRT или CoreML для развертывания. Обратись к руководству по режиму экспорта (Export Mode) и странице интеграции с ONNX.
# Export yolov5s to ONNX format python export.py --weights yolov5s.pt --include onnx --img 640
Использование блокнота
Если ты предпочитаешь интерактивный подход, ты можешь выполнять эти команды в блокноте AzureML. Тебе нужно будет создать пользовательское ядро IPython (IPython kernel), связанное с твоей средой 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, выбери свое новое ядро ("Python (yolov5env)") в выпадающем меню ядра в правом верхнем углу.
Выполнение команд в ячейках блокнота
-
Ячейки 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 для решения сложных задач, таких как распределенное обучение или развертывание моделей в качестве конечных точек (endpoints).