Краткое руководство: 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), интерфейс для создания моделей методом перетаскивания и мощный SDK для Python, позволяющий точнее управлять жизненным циклом ML. AzureML упрощает встраивание предиктивного моделирования в приложения.
Предварительные требования#
Для работы по этому руководству тебе понадобится активная подписка Azure и доступ к рабочей области AzureML. Если рабочая область ещё не настроена, обратись к официальной документации Azure, чтобы создать её.
Создание вычислительного экземпляра#
Вычислительный экземпляр AzureML — это управляемая облачная рабочая станция для специалистов по анализу данных.
- Открой рабочую область AzureML.
- На панели слева выбери Compute.
- Перейди на вкладку Compute instances и нажми New.
- Настрой экземпляр, выбрав подходящие ресурсы CPU или GPU с учётом своих задач обучения или инференса.
Открой терминал#
Когда вычислительный экземпляр запустится, ты сможешь открыть его терминал прямо в AzureML Studio.
- Перейди в раздел Notebooks на панели слева.
- Найди свой вычислительный экземпляр в раскрывающемся меню вверху.
- Нажми Terminal под обозревателем файлов, чтобы открыть интерфейс командной строки своего экземпляра.

Настройка и запуск YOLOv5#
Теперь настроим окружение и запустим Ultralytics YOLOv5.
1. Создай виртуальное окружение#
Для управления зависимостями рекомендуется использовать виртуальное окружение. Мы воспользуемся Conda, которая предустановлена на вычислительных экземплярах AzureML. Подробные инструкции по настройке Conda смотри в кратком руководстве Ultralytics по Conda.
Создай окружение 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 installed2. Клонируй репозиторий YOLOv5#
Клонируй официальный репозиторий Ultralytics YOLOv5 с помощью Git из GitHub:
git clone https://github.com/ultralytics/yolov5 # Clone the repository
cd yolov5 # Navigate into the directory3. Установи зависимости#
Установи необходимые пакеты Python, указанные в файле requirements.txt. Также установи ONNX, чтобы экспортировать модели.
pip install -r requirements.txt # Install core dependencies
pip install "onnx>=1.12.0" # Install ONNX for exporting4. Выполняй задачи 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 -
Оцени производительность обученной модели с помощью таких метрик, как точность, полнота и mAP. Чтобы увидеть все параметры, запусти
python val.py --help.# Validate the yolov5s model on the COCO128 validation set python val.py --weights yolov5s.pt --data coco128.yaml --img 640 -
Запусти инференс на новых изображениях или видео. Список поддерживаемых источников смотри в кратком руководстве по YOLOv5.
# 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.
Часто задаваемые вопросы#
Экземпляра с CPU хватит для инференса и коротких тестовых запусков на COCO128, но для полноценного обучения понадобится экземпляр с GPU. При создании вычислительного экземпляра выбери виртуальную машину с GPU и проверь, что PyTorch его видит, с помощью
python -c "import torch; print(torch.cuda.is_available())".Ячейки Bash не наследуют окружение ядра Notebook. В начале каждой ячейки
%%bashзапускайsource activate yolov5envили выполняй ячейки Python с созданным тобой ядромPython (yolov5env).Файлы в общей папке рабочей области, смонтированной по пути
~/cloudfiles, сохраняются после остановки и доступны с других вычислительных экземпляров. Всё, что находится в другом месте на диске экземпляра, сохраняется, пока существует сам экземпляр, но будет потеряно при его удалении.Да. Пакет
pip install ultralyticsпозволяет обучать и проверять YOLO26, а также экспортировать модель с помощью CLIyoloв том же окружении Conda. Инструкции по работе с пакетом смотри в кратком руководстве по AzureML.