YOLOv8 🚀 на AzureML
Что такое Azure?
Azure - это платформа облачных вычислений Microsoft, призванная помочь организациям перенести свои рабочие нагрузки в облако из локальных центров обработки данных. Благодаря полному спектру облачных сервисов, включая сервисы для вычислений, баз данных, аналитики, машинного обучения и сетей, пользователи могут выбирать из них, чтобы разрабатывать и масштабировать новые приложения или запускать существующие в публичном облаке.
Что такое машинное обучение в Azure (AzureML)?
Azure Machine Learning, обычно называемый AzureML, - это полностью управляемый облачный сервис, который позволяет специалистам по изучению данных и разработчикам эффективно внедрять предиктивную аналитику в свои приложения, помогая организациям использовать огромные массивы данных и привносить все преимущества облачных технологий в машинное обучение. AzureML предлагает множество сервисов и возможностей, направленных на то, чтобы сделать машинное обучение доступным, простым в использовании и масштабируемым. Он предоставляет такие возможности, как автоматическое машинное обучение, обучение моделей методом drag-and-drop, а также надежный Python SDK, чтобы разработчики могли извлечь максимум пользы из своих моделей машинного обучения.
Чем AzureML полезен пользователям YOLO ?
Для пользователей сайта YOLO (You Only Look Once) AzureML представляет собой надежную, масштабируемую и эффективную платформу для обучения и развертывания моделей машинного обучения. Независимо от того, хочешь ли ты запустить быстрые прототипы или масштабировать их для работы с более обширными данными, гибкая и удобная среда AzureML предлагает различные инструменты и сервисы для удовлетворения твоих потребностей. Ты можешь использовать AzureML для:
- Легко управляй большими наборами данных и вычислительными ресурсами для обучения.
- Используй встроенные инструменты для предварительной обработки данных, выбора признаков и обучения модели.
- Сотрудничай эффективнее благодаря возможностям для MLOps (Machine Learning Operations), включая, помимо прочего, мониторинг, аудит и версионирование моделей и данных.
В последующих разделах ты найдешь краткое руководство по запуску, в котором подробно описано, как запускать модели обнаружения объектов YOLOv8 с помощью AzureML, как с терминала вычислительной машины, так и из ноутбука.
Пререквизиты
Прежде чем приступить к работе, убедись, что у тебя есть доступ к рабочему пространству AzureML. Если у тебя его нет, ты можешь создать новое рабочее пространство AzureML, следуя официальной документации Azure. Это рабочее пространство выступает в качестве централизованного места для управления всеми ресурсами AzureML.
Создай вычислительный экземпляр
В рабочей области AzureML выбери Compute > Compute instances > New, выбери экземпляр с нужными тебе ресурсами.
Быстрый старт из терминала
Запусти свой комп и открой Терминал:
Создай virtualenv
Создай свой conda virtualenv и установи в него pip:
Установи необходимые зависимости:
Выполняй задания YOLOv8
Предсказывай:
Обучай модель обнаружения в течение 10 эпох с начальной скоростью обучения (learning_rate) 0.01:
Дополнительные инструкции по использованию Ultralytics CLI ты можешь найти здесь.
Быстрый старт с блокнота
Создай новое ядро IPython
Открой компьютерный терминал.
В терминале компьютера тебе нужно создать новый ipykernel, который будет использоваться твоим ноутбуком для управления зависимостями:
conda create --name yolov8env -y
conda activate yolov8env
conda install pip -y
conda install ipykernel -y
python -m ipykernel install --user --name yolov8env --display-name "yolov8env"
Закрой свой терминал и создай новый блокнот. В блокноте ты можешь выбрать новое ядро.
Затем ты можешь открыть ячейку блокнота и установить необходимые зависимости:
%%bash
source activate yolov8env
cd ultralytics
pip install -r requirements.txt
pip install ultralytics
pip install onnx>=1.12.0
Обратите внимание, что нам нужно использовать source activate yolov8env
для всех ячеек %%bash, чтобы убедиться, что в ячейке %%bash используется нужное нам окружение.
Выполни несколько предсказаний, используя Ultralytics CLI:
%%bash
source activate yolov8env
yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'
Или с помощью интерфейсаUltralytics Python , например, для обучения модели:
from ultralytics import YOLO
# Load a model
model = YOLO("yolov8n.pt") # load an official YOLOv8n 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 для выполнения заданий YOLOv8 , как описано в разделе "Терминал" выше.
Выполнив эти шаги, ты сможешь быстро запустить YOLOv8 на AzureML для быстрых испытаний. Для более продвинутого использования ты можешь обратиться к полной документации по AzureML, ссылка на которую находится в начале этого руководства.
Узнай больше с помощью AzureML
Это руководство служит введением, чтобы ты начал работать с YOLOv8 на AzureML. Однако это лишь поверхностное знакомство с тем, что может предложить AzureML. Чтобы углубиться и раскрыть весь потенциал AzureML для твоих проектов машинного обучения, изучи следующие ресурсы:
- Создай актив данных: узнай, как эффективно настраивать и управлять активами данных в среде AzureML.
- Запустите задание в AzureML: Получи полное представление о том, как запустить свои задания по обучению машинному обучению на AzureML.
- Зарегистрируй модель: Ознакомься с практикой управления моделями, включая регистрацию, создание версий и развертывание.
- Обучай модели YOLOv8 с помощью AzureML Python SDK: Изучи пошаговое руководство по использованию AzureML Python SDK для обучения твоих YOLOv8 -моделей.
- Обучение YOLOv8 с помощью AzureML CLI: Узнай, как использовать интерфейс командной строки для упрощенного обучения и управления моделями YOLOv8 на AzureML.
ВОПРОСЫ И ОТВЕТЫ
Как запустить YOLOv8 на AzureML для обучения модели?
Запуск YOLOv8 на AzureML для обучения модели включает в себя несколько этапов:
-
Создай вычислительный экземпляр: В рабочей области AzureML перейди в раздел Compute > Compute instances > New и выбери нужный экземпляр.
-
Создай окружение: Запусти свой вычислительный экземпляр, открой терминал и создай окружение conda:
-
Выполни YOLOv8 задания: Используй Ultralytics CLI для обучения своей модели:
За более подробной информацией ты можешь обратиться к инструкции по использованию Ultralytics CLI .
В чем преимущества использования AzureML для тренировок YOLOv8 ?
AzureML предоставляет надежную и эффективную экосистему для обучения моделей YOLOv8 :
- Масштабируемость: Легко масштабируй свои вычислительные ресурсы по мере роста сложности данных и моделей.
- Интеграция с MLOps: Используй такие функции, как версионирование, мониторинг и аудит, чтобы оптимизировать ML-операции.
- Совместная работа: Делись ресурсами и управляй ими внутри команд, улучшая совместные рабочие процессы.
Эти преимущества делают AzureML идеальной платформой для проектов, начиная от быстрых прототипов и заканчивая масштабными развертываниями. Чтобы получить больше советов, загляни в раздел " Вакансии AzureML".
Как устранить типичные проблемы при запуске YOLOv8 на AzureML?
Устранение распространенных проблем с YOLOv8 на AzureML может включать в себя следующие шаги:
- Проблемы зависимости: Убедись, что все необходимые пакеты установлены. Обратись к
requirements.txt
файл для поиска зависимостей. - Настройка окружения: Убедись, что твое окружение conda правильно активировано, прежде чем запускать команды.
- Распределение ресурсов: Убедись, что твои вычислительные экземпляры имеют достаточно ресурсов, чтобы справиться с тренировочной нагрузкой.
Для получения дополнительных рекомендаций просмотри нашу документацию YOLO Common Issues.
Могу ли я использовать оба интерфейса Ultralytics CLI и Python в AzureML?
Да, AzureML позволяет тебе беспрепятственно использовать как интерфейс Ultralytics CLI , так и Python :
-
CLI: Идеально подходит для выполнения быстрых задач и запуска стандартных скриптов прямо из терминала.
-
Python Интерфейс: Полезен для более сложных задач, требующих пользовательского кодирования и интеграции внутри блокнотов.
Более подробные инструкции см. в руководствах по быстрому старту здесь и здесь.
В чем преимущество использования Ultralytics YOLOv8 перед другими моделями обнаружения объектов?
Ultralytics YOLOv8 предлагает несколько уникальных преимуществ по сравнению с конкурирующими моделями обнаружения объектов:
- Скорость: Более быстрый вывод и время обучения по сравнению с такими моделями, как Faster R-CNN и SSD.
- Точность: высокая точность в задачах обнаружения благодаря таким особенностям, как безъякорная конструкция и улучшенные стратегии дополнения.
- Простота использования: интуитивно понятный API и CLI для быстрой настройки, что делает его доступным как для новичков, так и для экспертов.
Чтобы узнать больше о возможностях YOLOv8, посети Ultralytics YOLO страницу с подробным описанием.