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.