Ultralytics YOLOv5 🚀 на AzureML Quickstart
Добро пожаловать в руководство по быстрому старту Ultralytics YOLOv5 для Microsoft Azure Machine Learning (AzureML)! Это руководство проведет вас через настройку YOLOv5 на вычислительном экземпляре AzureML, охватывая все, от создания виртуальной среды до обучения и запуска инференса с моделью.
Что такое Azure?
Azure — это комплексная платформа облачных вычислений Microsoft. Она предлагает широкий спектр сервисов, включая вычислительные мощности, базы данных, инструменты аналитики, возможности машинного обучения и сетевые решения. Azure позволяет организациям создавать, развертывать и управлять приложениями и сервисами через управляемые Microsoft центры обработки данных, облегчая перенос рабочих нагрузок из локальной инфраструктуры в облако.
Что такое Azure Machine Learning (AzureML)?
Azure Machine Learning (AzureML) — это специализированный облачный сервис, предназначенный для разработки, обучения и развертывания моделей машинного обучения. Он предоставляет среду для совместной работы с инструментами, подходящими для специалистов по данным и разработчиков всех уровней квалификации. Ключевые функции включают автоматизированное машинное обучение (AutoML), интерфейс перетаскивания для создания моделей и мощный Python SDK для более детального контроля над жизненным циклом ML. AzureML упрощает процесс встраивания прогностического моделирования в приложения.
Предварительные требования
Чтобы следовать этому руководству, вам понадобится активная подписка Azure и доступ к рабочей области AzureML. Если у вас нет настроенной рабочей области, обратитесь к официальной документации Azure, чтобы ее создать.
Создайте вычислительный экземпляр (Compute Instance)
Вычислительный инстанс в AzureML предоставляет управляемую облачную рабочую станцию для специалистов по обработке и анализу данных.
- Перейдите в свою рабочую область AzureML.
- В левой панели выберите Вычислительные ресурсы.
- Перейдите на вкладку Compute instances и нажмите New.
- Настройте свой инстанс, выбрав соответствующие ресурсы CPU или GPU в зависимости от ваших потребностей для обучения или инференса.
Открыть терминал
После запуска экземпляра вы можете получить доступ к его терминалу непосредственно из AzureML studio.
- Перейдите в раздел Notebooks в левой панели.
- Найдите свой вычислительный инстанс в верхнем выпадающем меню.
- Нажмите на опцию Terminal под файловым браузером, чтобы открыть интерфейс командной строки для вашего экземпляра.
Установка и запуск YOLOv5
Теперь давайте настроим среду и запустим Ultralytics YOLOv5.
1. Создайте виртуальную среду
Рекомендуется использовать виртуальную среду для управления зависимостями. Мы будем использовать 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
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
-
Запуск Inference на новых изображениях или видео. Изучите документацию Режима Prediction для различных источников inference.
# 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
Использование Notebook
Если вы предпочитаете интерактивный опыт, вы можете выполнить эти команды в AzureML Notebook. Вам нужно будет создать пользовательское ядро 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)") из выпадающего меню ядра в правом верхнем углу.
Выполнение команд в ячейках Notebook
-
Ячейки python: Код в ячейках Python будет автоматически выполняться с использованием выбранного
yolov5env
kernel. -
Ячейки Bash: Чтобы запускать команды shell, используйте
%%bash
magic command в начале ячейки. Не забудьте активировать вашу среду 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 для продвинутых сценариев, таких как распределенное обучение или развертывание модели в качестве конечной точки.