Перейти к содержанию

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 предоставляет управляемую облачную рабочую станцию для специалистов по обработке и анализу данных.

  1. Перейдите в свою рабочую область AzureML.
  2. В левой панели выберите Вычислительные ресурсы.
  3. Перейдите на вкладку Compute instances и нажмите New.
  4. Настройте свой инстанс, выбрав соответствующие ресурсы CPU или GPU в зависимости от ваших потребностей для обучения или инференса.

create-compute-arrow

Открыть терминал

После запуска экземпляра вы можете получить доступ к его терминалу непосредственно из AzureML studio.

  1. Перейдите в раздел Notebooks в левой панели.
  2. Найдите свой вычислительный инстанс в верхнем выпадающем меню.
  3. Нажмите на опцию Terminal под файловым браузером, чтобы открыть интерфейс командной строки для вашего экземпляра.

open-terminal-arrow

Установка и запуск 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 для продвинутых сценариев, таких как распределенное обучение или развертывание модели в качестве конечной точки.



📅 Создано 1 год назад ✏️ Обновлено 3 месяца назад

Комментарии