YOLO Vision 2026:

Ultralytics YOLOv5 🚀 в AzureML: краткое руководство#

Добро пожаловать в краткое руководство по YOLOv5 для Microsoft Azure Machine Learning (AzureML)! В этом руководстве ты узнаешь, как настроить YOLOv5 на вычислительном экземпляре AzureML — от создания виртуального окружения до обучения модели и выполнения инференса.

Что такое Azure?#

Azure — комплексная платформа Microsoft для облачных вычислений. Она предлагает широкий спектр сервисов, включая вычислительные ресурсы, базы данных, инструменты аналитики, возможности машинного обучения и сетевые решения. Azure позволяет организациям создавать, развертывать и управлять приложениями и сервисами через дата-центры под управлением Microsoft, упрощая перенос рабочих нагрузок из локальной инфраструктуры в облако.

Что такое Машинное обучение Azure (AzureML)?#

Azure Machine Learning (AzureML) — специализированный облачный сервис для разработки, обучения и развертывания моделей машинного обучения. Он предоставляет совместную среду с инструментами, подходящими для специалистов по данным и разработчиков любого уровня подготовки. Ключевые функции включают автоматизированное машинное обучение (AutoML), интерфейс создания моделей методом перетаскивания и мощный Python SDK для более детального управления жизненным циклом ML. AzureML упрощает внедрение предиктивного моделирования в приложения.

Предварительные требования#

Для выполнения этого руководства тебе понадобятся активная подписка Azure и доступ к рабочей области AzureML. Если рабочая область еще не настроена, обратись к официальной документации Azure, чтобы создать ее.

Создание вычислительного экземпляра#

Вычислительный экземпляр в AzureML предоставляет специалистам по данным управляемую рабочую станцию в облаке.

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

Открой терминал#

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

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

Расположение кнопки открытия терминала Azure ML

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

    # 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#

Если ты предпочитаешь интерактивную работу, можешь выполнять эти команды в Notebook 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)"

После создания ядра обнови браузер. Когда ты откроешь или создашь файл Notebook .ipynb, выбери новое ядро ("Python (yolov5env)") в раскрывающемся меню ядер в правом верхнем углу.

Выполнение команд в ячейках Notebook#

  • Ячейки Python: код в ячейках Python будет автоматически выполняться с использованием выбранного ядра yolov5env.

  • Ячейки Bash: для выполнения команд оболочки используй магическую команду %%bash в начале ячейки. Не забывай активировать окружение Conda в каждой ячейке bash, поскольку они автоматически не наследуют контекст окружения ядра Notebook.

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

Комментарии