YOLO11 🚀 на AzureML
Что такое Azure?
Azure — это платформа облачных вычислений от Microsoft, разработанная для того, чтобы помочь организациям перенести свои рабочие нагрузки в облако из локальных центров обработки данных. Благодаря полному спектру облачных сервисов, включая сервисы для вычислений, баз данных, аналитики, машинного обучения и сетей, пользователи могут выбирать из этих сервисов для разработки и масштабирования новых приложений или запуска существующих приложений в публичном облаке.
Что такое Azure Machine Learning (AzureML)?
Azure Machine Learning, обычно называемый AzureML, — это полностью управляемая облачная служба, которая позволяет специалистам по обработке данных и разработчикам эффективно встраивать прогнозную аналитику в свои приложения, помогая организациям использовать огромные наборы данных и применять все преимущества облака в машинном обучении. AzureML предлагает множество сервисов и возможностей, направленных на то, чтобы сделать машинное обучение доступным, простым в использовании и масштабируемым. Он предоставляет такие возможности, как автоматизированное машинное обучение, перетаскивание для обучения моделей, а также надежный Python SDK, чтобы разработчики могли максимально эффективно использовать свои модели машинного обучения.
Какие преимущества AzureML предоставляет пользователям YOLO?
Для пользователей YOLO (You Only Look Once), AzureML предоставляет надежную, масштабируемую и эффективную платформу для обучения и развертывания моделей машинного обучения. Если вы хотите запускать быстрые прототипы или масштабироваться для обработки больших объемов данных, гибкая и удобная среда AzureML предлагает различные инструменты и сервисы, отвечающие вашим потребностям. Вы можете использовать AzureML для:
- Простое управление большими наборами данных и вычислительными ресурсами для обучения.
- Используйте встроенные инструменты для предварительной обработки данных, выбора признаков и обучения модели.
- Более эффективная совместная работа благодаря возможностям MLOps (Machine Learning Operations), включая, помимо прочего, мониторинг, аудит и контроль версий моделей и данных.
В последующих разделах вы найдете краткое руководство, подробно описывающее, как запускать модели обнаружения объектов YOLO11 с помощью AzureML, либо из вычислительного терминала, либо из блокнота.
Предварительные требования
Прежде чем начать, убедитесь, что у вас есть доступ к рабочей области AzureML. Если у вас ее нет, вы можете создать новую рабочую область AzureML, следуя официальной документации Azure. Эта рабочая область служит централизованным местом для управления всеми ресурсами AzureML.
Создайте вычислительный экземпляр
В вашей рабочей области AzureML выберите Compute > Compute instances > New, выберите экземпляр с необходимыми ресурсами.
Быстрый старт из терминала
Запустите вычисления и откройте терминал:
Создать virtualenv
Создайте свою виртуальную среду conda с предпочитаемой версией python и установите в ней pip: Python 3.13.1 имеет некоторые проблемы с некоторыми зависимостями в AzureML.
conda create --name yolo11env -y python=3.12
conda activate yolo11env
conda install pip -y
Установите необходимые зависимости:
cd ultralytics
pip install -r requirements.txt
pip install ultralytics
pip install onnx
Выполнение задач YOLO11
Predict:
yolo predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'
Обучите модель обнаружения в течение 10 эпох с начальной learning_rate 0.01:
yolo train data=coco8.yaml model=yolo11n.pt epochs=10 lr0=0.01
Вы можете найти больше инструкций по использованию Ultralytics CLI здесь.
Быстрый старт из Notebook
Создайте новое ядро IPython
Открыть вычислительный терминал.
В терминале вычислений необходимо создать новое ядро ipykernel (с определенной версией python, поскольку у Python 3.13.1 есть некоторые проблемы с некоторыми зависимостями в AzureML), которое будет использоваться вашей записной книжкой для управления зависимостями:
conda create --name yolo11env -y python=3.12
conda activate yolo11env
conda install pip -y
conda install ipykernel -y
python -m ipykernel install --user --name yolo11env --display-name "yolo11env"
Закройте свой терминал и создайте новый блокнот. В своем блокноте вы можете выбрать новое ядро.
Затем вы можете открыть ячейку Notebook и установить необходимые зависимости:
%%bash
source activate yolo11env
cd ultralytics
pip install -r requirements.txt
pip install ultralytics
pip install onnx
Обратите внимание, что нам нужно использовать source activate yolo11env
для всех ячеек %%bash, чтобы убедиться, что ячейка %%bash использует нужную нам среду.
Запустите несколько прогнозов, используя Ultralytics CLI:
%%bash
source activate yolo11env
yolo predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'
Или с помощью Python-интерфейса Ultralytics, например, для обучения модели:
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.pt") # load an official YOLO11n model
# Use the model
model.train(data="coco8.yaml", epochs=3) # train the model
metrics = model.val() # evaluate model performance on the validation set
results = model("https://ultralytics.com/images/bus.jpg") # predict on an image
path = model.export(format="onnx") # export the model to ONNX format
Вы можете использовать Ultralytics CLI или интерфейс python для выполнения задач YOLO11, как описано в разделе о терминале выше.
Следуя этим шагам, вы сможете быстро запустить YOLO11 на AzureML для быстрых испытаний. Для более продвинутого использования вы можете обратиться к полной документации AzureML, ссылка на которую приведена в начале этого руководства.
Узнайте больше об AzureML
Это руководство представляет собой введение, которое поможет вам быстро начать работу с YOLO11 в AzureML. Однако оно лишь поверхностно затрагивает то, что может предложить AzureML. Чтобы углубиться и раскрыть весь потенциал AzureML для ваших проектов машинного обучения, рассмотрите следующие ресурсы:
- Создание ресурса данных: узнайте, как эффективно настраивать ресурсы данных и управлять ими в среде AzureML.
- Инициация задания AzureML: получите полное представление о том, как запускать задания обучения машинного обучения в AzureML.
- Зарегистрируйте модель: Ознакомьтесь с практиками управления моделями, включая регистрацию, контроль версий и развертывание.
- Обучение YOLO11 с помощью AzureML Python SDK: Ознакомьтесь с пошаговым руководством по использованию AzureML Python SDK для обучения ваших моделей YOLO11.
- Обучение YOLO11 с помощью AzureML CLI: Узнайте, как использовать интерфейс командной строки для оптимизации обучения и управления моделями YOLO11 на AzureML.
Часто задаваемые вопросы
Как запустить YOLO11 на AzureML для обучения модели?
Запуск YOLO11 на AzureML для обучения модели включает в себя несколько этапов:
-
Создайте вычислительный экземпляр: В вашей рабочей области AzureML перейдите в раздел Compute > Compute instances > New и выберите необходимый экземпляр.
-
Настройка окружения: Запустите вычислительный экземпляр, откройте терминал и создайте окружение conda, и не забудьте установить версию python (python 3.13.1 пока не поддерживается) :
conda create --name yolo11env -y python=3.12 conda activate yolo11env conda install pip -y pip install ultralytics onnx
-
Запуск задач YOLO11: Используйте Ultralytics CLI для обучения вашей модели:
yolo train data=coco8.yaml model=yolo11n.pt epochs=10 lr0=0.01
Для получения более подробной информации вы можете обратиться к инструкциям по использованию Ultralytics CLI.
Каковы преимущества использования AzureML для обучения YOLO11?
AzureML предоставляет надежную и эффективную экосистему для обучения моделей YOLO11:
- Масштабируемость: Легко масштабируйте свои вычислительные ресурсы по мере роста сложности ваших данных и моделей.
- Интеграция MLOps: Используйте такие функции, как контроль версий, мониторинг и аудит, для оптимизации операций машинного обучения.
- Совместная работа: Делитесь ресурсами и управляйте ими в командах, улучшая совместные рабочие процессы.
Эти преимущества делают AzureML идеальной платформой для проектов, начиная от быстрых прототипов и заканчивая крупномасштабными развертываниями. Дополнительные советы можно найти в разделе AzureML Jobs.
Как устранить распространенные проблемы при запуске YOLO11 на AzureML?
Устранение распространенных проблем с YOLO11 в AzureML может включать следующие шаги:
- Проблемы с зависимостями: Убедитесь, что все необходимые пакеты установлены. Обратитесь к
requirements.txt
файл для зависимостей. - Настройка окружения: Убедитесь, что ваша среда conda правильно активирована перед выполнением команд.
- Распределение ресурсов: Убедитесь, что ваши вычислительные экземпляры имеют достаточно ресурсов для обработки рабочей нагрузки обучения.
Для получения дополнительных указаний ознакомьтесь с нашей документацией по Распространенным проблемам YOLO.
Могу ли я использовать Ultralytics CLI и интерфейс python в AzureML?
Да, AzureML позволяет вам беспрепятственно использовать как Ultralytics CLI, так и интерфейс Python:
-
CLI: Идеально подходит для быстрых задач и запуска стандартных скриптов непосредственно из терминала.
yolo predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'
-
Интерфейс Python: Полезен для более сложных задач, требующих пользовательского кодирования и интеграции в блокнотах.
from ultralytics import YOLO model = YOLO("yolo11n.pt") model.train(data="coco8.yaml", epochs=3)
Пошаговые инструкции см. в руководстве по быстрому старту CLI и руководстве по быстрому старту Python.
В чем преимущество использования Ultralytics YOLO11 по сравнению с другими моделями обнаружения объектов?
Ultralytics YOLO11 предлагает несколько уникальных преимуществ по сравнению с конкурирующими моделями обнаружения объектов:
- Скорость: Более быстрое время вывода и обучения по сравнению с такими моделями, как Faster R-CNN и SSD.
- Точность: Высокая точность в задачах обнаружения благодаря таким функциям, как конструкция без привязки к якорям и расширенные стратегии аугментации.
- Простота использования: Интуитивно понятный API и CLI для быстрой настройки, что делает его доступным как для новичков, так и для экспертов.
Чтобы узнать больше о функциях YOLO11, посетите страницу Ultralytics YOLO для получения подробной информации.