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

CoreML Экспорт для моделей YOLOv8

Развертывание моделей компьютерного зрения на устройствах Apple, таких как iPhone и Mac, требует формата, обеспечивающего бесперебойную работу.

Формат экспорта CoreML позволяет оптимизировать твои Ultralytics YOLOv8 модели для эффективного обнаружения объектов в приложениях для iOS и macOS. В этом руководстве мы расскажем тебе о том, как конвертировать твои модели в формат CoreML , благодаря чему твои модели будут хорошо работать на устройствах Apple.

CoreML

CoreML Обзор

CoreML Это основополагающий фреймворк машинного обучения Apple, который базируется на Accelerate, BNNS и Metal Performance Shaders. Он предоставляет формат моделей машинного обучения, который легко интегрируется в iOS-приложения и поддерживает такие задачи, как анализ изображений, обработка естественного языка, преобразование аудио в текст и анализ звука.

Приложения могут использовать преимущества Core ML без необходимости подключения к сети или вызовов API, потому что фреймворк Core ML работает с использованием вычислений на устройстве. Это означает, что вывод модели может быть выполнен локально на устройстве пользователя.

Ключевые особенности моделей CoreML

Фреймворк CoreML от Apple предлагает широкие возможности для машинного обучения на устройствах. Вот ключевые особенности, которые делают CoreML мощным инструментом для разработчиков:

  • Всесторонняя поддержка моделей: Конвертирует и запускает модели из таких популярных фреймворков, как TensorFlow, PyTorch, scikit-learn, XGBoost и LibSVM.

CoreML Поддерживаемые модели

  • Машинное обучение на устройстве: Обеспечивает конфиденциальность данных и быструю обработку, выполняя модели непосредственно на устройстве пользователя, что исключает необходимость подключения к сети.

  • Производительность и оптимизация: Используй CPU, GPU и нейронный движок устройства для оптимальной производительности при минимальном потреблении энергии и памяти. Предлагает инструменты для сжатия и оптимизации моделей при сохранении точности.

  • Простота интеграции: Предоставляет единый формат для различных типов моделей и удобный API для беспроблемной интеграции в приложения. Поддерживает специфические для конкретной области задачи с помощью таких фреймворков, как Vision и Natural Language.

  • Расширенные возможности: Включает в себя возможности обучения на устройстве для персонализированного опыта, асинхронные прогнозы для интерактивного ML-опыта, а также инструменты проверки и подтверждения модели.

CoreML Варианты развертывания

Прежде чем мы рассмотрим код для экспорта моделей YOLOv8 в формат CoreML , давай разберемся, где обычно используются модели CoreML .

CoreML предлагает различные варианты развертывания моделей машинного обучения, включая:

  • Развертывание на устройстве: Этот метод напрямую интегрирует модели CoreML в твое приложение для iOS. Он особенно выгоден тем, что обеспечивает низкую задержку, повышенную конфиденциальность (так как данные остаются на устройстве) и автономную функциональность. Однако такой подход может быть ограничен аппаратными возможностями устройства, особенно для больших и сложных моделей. Развертывание на устройстве может быть выполнено следующими двумя способами.

    • Встроенные модели: Эти модели включаются в пакет приложений и сразу же становятся доступными. Они идеально подходят для небольших моделей, которые не требуют частых обновлений.

    • Загруженные модели: Эти модели загружаются с сервера по мере необходимости. Такой подход подходит для больших моделей или тех, которые нуждаются в регулярных обновлениях. Он помогает уменьшить размер пакета приложения.

  • Развертывание в облаке: модели CoreML размещаются на серверах, а доступ к ним iOS-приложение получает через API-запросы. Этот масштабируемый и гибкий вариант позволяет легко обновлять модели без пересмотра приложения. Он идеально подходит для сложных моделей или масштабных приложений, требующих регулярных обновлений. Однако он требует подключения к интернету и может создавать проблемы с задержками и безопасностью.

Экспорт моделей YOLOv8 в CoreML

Экспорт YOLOv8 на CoreML позволяет оптимизировать работу машинного обучения на устройствах в экосистеме Apple, обеспечивая преимущества в плане эффективности, безопасности и бесшовной интеграции с платформами iOS, macOS, watchOS и tvOS.

Установка

Чтобы установить нужный пакет, выполни:

Установка

# Install the required package for YOLOv8
pip install ultralytics

Для получения подробных инструкций и лучших практик, связанных с процессом установки, ознакомься с нашим руководством по установкеYOLOv8 . Во время установки необходимых пакетов для YOLOv8, если у тебя возникнут какие-либо трудности, обратись к нашему руководству по общим проблемам, чтобы найти решения и советы.

Использование

Прежде чем погрузиться в инструкцию по использованию, обязательно ознакомься с ассортиментом моделейYOLOv8 , которые предлагает Ultralytics. Это поможет тебе выбрать наиболее подходящую модель под требования твоего проекта.

Использование

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO('yolov8n.pt')

# Export the model to CoreML format
model.export(format='coreml')  # creates 'yolov8n.mlpackage'

# Load the exported CoreML model
coreml_model = YOLO('yolov8n.mlpackage')

# Run inference
results = coreml_model('https://ultralytics.com/images/bus.jpg')
# Export a YOLOv8n PyTorch model to CoreML format
yolo export model=yolov8n.pt format=coreml  # creates 'yolov8n.mlpackage''

# Run inference with the exported model
yolo predict model=yolov8n.mlpackage source='https://ultralytics.com/images/bus.jpg'

Более подробно о процессе экспорта можно узнать на странице документацииUltralytics , посвященной экспорту.

Развертывание экспортированных YOLOv8 CoreML моделей

После успешного экспорта твоих моделей Ultralytics YOLOv8 в CoreML следующий критический этап - эффективное развертывание этих моделей. Подробное руководство по развертыванию моделей CoreML в различных средах ты найдешь на этих ресурсах:

  • CoreML Инструменты: Это руководство содержит инструкции и примеры по преобразованию моделей из TensorFlow, PyTorch и других библиотек в Core ML.

  • ML и Vision: Коллекция исчерпывающих видео, в которых рассматриваются различные аспекты использования и внедрения моделей CoreML .

  • Интеграция основной ML-модели в твое приложение: Исчерпывающее руководство по интеграции модели CoreML в iOS-приложение, подробно описывающее шаги от подготовки модели до ее внедрения в приложение для различных функциональных возможностей.

Резюме

В этом руководстве мы рассмотрели, как экспортировать модели Ultralytics YOLOv8 в формат CoreML . Следуя шагам, описанным в этом руководстве, ты сможешь обеспечить максимальную совместимость и производительность при экспорте моделей YOLOv8 в формат CoreML.

Более подробную информацию об использовании можно найти в официальной документацииCoreML .

Также, если ты хочешь узнать больше о других интеграциях Ultralytics YOLOv8 , посети страницу нашего руководства по интеграции. Там ты найдешь множество ценных ресурсов и идей.



Создано 2024-02-07, Обновлено 2024-02-07
Авторы: chr043416@gmail.com (1), abirami-vina (1)

Комментарии