Перейти к содержимому

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, выбери экземпляр с нужными тебе ресурсами.

Создайте вычислительный экземпляр Azure

Быстрый старт из терминала

Запусти свой комп и открой Терминал:

Открытый терминал

Создай virtualenv

Создай свой conda virtualenv и установи в него pip:

conda create --name yolov8env -y
conda activate yolov8env
conda install pip -y

Установи необходимые зависимости:

cd ultralytics
pip install -r requirements.txt
pip install ultralytics
pip install onnx>=1.12.0

Выполняй задания YOLOv8

Предсказывай:

yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'

Обучай модель обнаружения в течение 10 эпох с начальной скоростью обучения (learning_rate) 0.01:

yolo train data=coco128.yaml model=yolov8n.pt epochs=10 lr0=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="coco128.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 для твоих проектов машинного обучения, изучи следующие ресурсы:



Создано 2023-11-12, Обновлено 2023-11-16
Авторы: glenn-jocher (2), ouphi (1)

Комментарии