Meet YOLO26: next-gen vision AI.

Link to this sectionUltralytics YOLOv5 🚀 в AzureML: краткое руководство#

Добро пожаловать в краткое руководство Ultralytics YOLOv5 для Microsoft Azure Machine Learning (AzureML)! Это руководство поможет тебе настроить YOLOv5 на вычислительном экземпляре AzureML, охватывая все этапы: от создания виртуальной среды до обучения и запуска инференса с моделью.

Link to this sectionЧто такое Azure?#

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

Link to this sectionЧто такое Azure Machine Learning (AzureML)?#

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

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

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

Link to this sectionСоздание вычислительного экземпляра (Compute Instance)#

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

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

Link to this sectionОткрытие терминала#

Как только твой вычислительный экземпляр будет запущен, ты сможешь получить доступ к его терминалу прямо из студии AzureML.

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

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

Link to this sectionНастройка и запуск YOLOv5#

Теперь давай настроим среду и запустим Ultralytics YOLOv5.

Link to this sectionСоздание виртуальной среды#

Использование виртуальной среды для управления зависимостями — это лучшая практика. Мы будем использовать 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

Link to this sectionКлонирование репозитория 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

Link to this sectionУстановка зависимостей#

Установи необходимые Python-пакеты, перечисленные в файле requirements.txt. Мы также устанавливаем ONNX для возможностей экспорта моделей.

pip install -r requirements.txt # Install core dependencies
pip install "onnx>=1.12.0"      # Install ONNX for exporting

Link to this sectionВыполнение задач 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

Link to this sectionИспользование Notebook#

Если ты предпочитаешь интерактивный подход, ты можешь выполнять эти команды в AzureML Notebook. Тебе потребуется создать собственное ядро IPython, связанное с твоей средой Conda.

Link to this sectionСоздание нового ядра 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)") в раскрывающемся меню ядер в правом верхнем углу.

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

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

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

Авторы

Комментарии