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

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=coco8.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="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 для твоих проектов машинного обучения, изучи следующие ресурсы:

ВОПРОСЫ И ОТВЕТЫ

Как запустить YOLOv8 на AzureML для обучения модели?

Запуск YOLOv8 на AzureML для обучения модели включает в себя несколько этапов:

  1. Создай вычислительный экземпляр: В рабочей области AzureML перейди в раздел Compute > Compute instances > New и выбери нужный экземпляр.

  2. Создай окружение: Запусти свой вычислительный экземпляр, открой терминал и создай окружение conda:

    conda create --name yolov8env -y
    conda activate yolov8env
    conda install pip -y
    pip install ultralytics onnx>=1.12.0
    
  3. Выполни YOLOv8 задания: Используй Ultralytics CLI для обучения своей модели:

    yolo train data=coco8.yaml model=yolov8n.pt epochs=10 lr0=0.01
    

За более подробной информацией ты можешь обратиться к инструкции по использованию 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: Идеально подходит для выполнения быстрых задач и запуска стандартных скриптов прямо из терминала.

    yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'
    
  • Python Интерфейс: Полезен для более сложных задач, требующих пользовательского кодирования и интеграции внутри блокнотов.

    from ultralytics import YOLO
    
    model = YOLO("yolov8n.pt")
    model.train(data="coco8.yaml", epochs=3)
    

Более подробные инструкции см. в руководствах по быстрому старту здесь и здесь.

В чем преимущество использования Ultralytics YOLOv8 перед другими моделями обнаружения объектов?

Ultralytics YOLOv8 предлагает несколько уникальных преимуществ по сравнению с конкурирующими моделями обнаружения объектов:

  • Скорость: Более быстрый вывод и время обучения по сравнению с такими моделями, как Faster R-CNN и SSD.
  • Точность: высокая точность в задачах обнаружения благодаря таким особенностям, как безъякорная конструкция и улучшенные стратегии дополнения.
  • Простота использования: интуитивно понятный API и CLI для быстрой настройки, что делает его доступным как для новичков, так и для экспертов.

Чтобы узнать больше о возможностях YOLOv8, посети Ultralytics YOLO страницу с подробным описанием.



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

Комментарии