Ultralytics YOLO27:

Как экспортировать YOLO26 в TF GraphDef для развёртывания#

При развёртывании передовых моделей компьютерного зрения, таких как YOLO26, в разных средах могут возникнуть проблемы совместимости. Google TensorFlow GraphDef, или TF GraphDef, решает эту проблему, предоставляя сериализованное, независимое от платформы представление твоей модели. Используя формат модели TF GraphDef, ты можешь развёртывать свою модель YOLO26 в средах, где полная экосистема TensorFlow может быть недоступна, например на мобильных устройствах или специализированном оборудовании.

В этом руководстве мы пошагово покажем, как экспортировать модели Ultralytics YOLO26 в формат модели TF GraphDef. Преобразовав модель, ты сможешь упростить развёртывание и использовать возможности YOLO26 в области компьютерного зрения в более широком спектре приложений и платформ.

TensorFlow GraphDef model serialization format

Зачем экспортировать в TF GraphDef?#

TF GraphDef — мощный компонент экосистемы TensorFlow, разработанный Google. Его можно использовать для оптимизации и развёртывания таких моделей, как YOLO26. Экспорт в TF GraphDef позволяет переносить модели из исследовательской среды в реальные приложения. Благодаря этому модели могут работать в средах без полноценной платформы TensorFlow.

Формат GraphDef представляет модель в виде сериализованного графа вычислений. Это позволяет применять различные методы оптимизации, такие как свёртка констант, квантизация и преобразование графа. Эти оптимизации обеспечивают эффективное выполнение, уменьшают использование памяти и ускоряют инференс.

Модели GraphDef могут использовать аппаратные ускорители, такие как GPU, TPU и AI-чипы, обеспечивая значительный прирост производительности конвейера инференса YOLO26. Формат TF GraphDef создаёт автономный пакет, содержащий модель и её зависимости, что упрощает развёртывание и интеграцию в различные системы.

Основные возможности моделей TF GraphDef#

TF GraphDef предоставляет специальные возможности для упрощения развёртывания моделей и их оптимизации.

Рассмотрим его основные характеристики:

  • Сериализация модели: TF GraphDef позволяет сериализовать и хранить модели TensorFlow в независимом от платформы формате. Такое сериализованное представление позволяет загружать и выполнять модели без исходной кодовой базы на Python, что упрощает развёртывание.

  • Оптимизация графа: TF GraphDef позволяет оптимизировать вычислительные графы. Эти оптимизации повышают производительность за счёт упрощения потока выполнения, устранения избыточности и адаптации операций к конкретному оборудованию.

  • Гибкость развёртывания: Модели, экспортированные в формат GraphDef, можно использовать в различных средах, включая устройства с ограниченными ресурсами, веб-браузеры и системы со специализированным оборудованием. Это открывает возможности для более широкого развёртывания моделей TensorFlow.

  • Ориентация на рабочие среды: GraphDef предназначен для развёртывания в рабочей среде. Он поддерживает эффективное выполнение, функции сериализации и оптимизации, соответствующие реальным сценариям использования.

Варианты развёртывания с TF GraphDef#

Прежде чем перейти к процессу экспорта моделей YOLO26 в TF GraphDef, рассмотрим типичные сценарии развёртывания, в которых используется этот формат.

Вот как можно эффективно развёртывать модели с TF GraphDef на различных платформах.

  • TensorFlow Serving: этот фреймворк предназначен для развёртывания моделей TensorFlow в рабочих средах. TensorFlow Serving предоставляет управление моделями, версионирование и инфраструктуру для эффективной работы моделей в большом масштабе. Это удобный способ интегрировать модели на основе GraphDef в рабочие веб-сервисы или API.

  • Мобильные и встраиваемые устройства: с помощью таких инструментов, как LiteRT, можно преобразовать модели TF GraphDef в форматы, оптимизированные для смартфонов, планшетов и различных встраиваемых устройств. Затем модели можно использовать для инференса непосредственно на устройстве, что часто обеспечивает прирост производительности и возможность работы без подключения к сети.

  • Веб-браузеры: TensorFlow.js позволяет развёртывать модели TF GraphDef непосредственно в веб-браузерах. Это открывает путь к приложениям для обнаружения объектов в реальном времени, работающим на стороне клиента и использующим возможности YOLO26 через JavaScript.

  • Специализированное оборудование: независимый от платформы характер TF GraphDef позволяет использовать его со специализированным оборудованием, например с ускорителями и TPU (тензорными процессорами). Такие устройства могут обеспечить прирост производительности для вычислительно сложных моделей.

Поддерживаемые задачи#

Экспорт TF GraphDef поддерживает шесть из семи задач Ultralytics. Семантическая сегментация и оценка глубины доступны только для YOLO26 — единственного семейства, поставляемого с такими головами. Модели поз можно экспортировать, но инференс Ultralytics GraphDef для них в настоящее время не поддерживается.

Экспорт моделей YOLO26 в TF GraphDef#

Ты можешь преобразовать свою модель YOLO26 в формат TF GraphDef, совместимый с различными системами, чтобы повысить её производительность на разных платформах.

Установка#

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

Установка
# Install the required package for YOLO26
pip install ultralytics

Подробные инструкции и рекомендации по установке смотри в нашем руководстве по установке Ultralytics. Если при установке необходимых для YOLO26 пакетов возникнут трудности, обратись к руководству по распространенным проблемам, где encontrarás решения и советы.

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

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

Формат TF GraphDef поддерживает режимы экспорта, предсказания и валидации, за исключением того, что для моделей поз в настоящее время поддерживается только экспорт. Экспортируй модель, затем загрузи экспортированную модель, чтобы выполнить инференс или проверить её точность.

Экспорт
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TF GraphDef format
model.export(format="pb")  # creates 'yolo26n.pb'
Predict
from ultralytics import YOLO

# Load the exported TF GraphDef model
model = YOLO("yolo26n.pb")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Валидация
from ultralytics import YOLO

# Load the exported TF GraphDef model
model = YOLO("yolo26n.pb")

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Аргументы экспорта#

АргументТипПо умолчаниюОписание
formatstr'pb'Целевой формат экспортированной модели, определяющий совместимость с различными средами развёртывания.
imgszint или tuple640Требуемый размер изображения для входных данных модели. Может быть целым числом для квадратных изображений или кортежем (height, width) для указания конкретных размеров.
quantizeint или strNoneЭкспорт с фиксированной точностью FP32. GraphDef не поддерживает преобразование точности FP16, INT8 или W8A16 во время экспорта.
opsetintNoneЗадает версию opset для промежуточного графа ONNX. Если параметр не задан, используется последняя поддерживаемая версия.
batchint1Задаёт размер пакета при инференсе экспортированной модели или максимальное количество изображений, которые экспортированная модель будет обрабатывать одновременно в режиме predict.
devicestrNoneУказывает устройство для экспорта: CPU (device=cpu), MPS для Apple silicon (device=mps).

Подробнее о процессе экспорта см. на странице документации Ultralytics об экспорте.

Развёртывание экспортированных моделей YOLO26 TF GraphDef#

После экспорта модели YOLO26 в формат TF GraphDef следующим шагом будет её развёртывание. Основной и рекомендуемый первый способ запуска модели TF GraphDef — использовать метод YOLO("model.pb"), как ранее показано во фрагменте кода.

Дополнительную информацию о развёртывании моделей TF GraphDef можно найти в следующих ресурсах:

  • TensorFlow Serving: руководство по TensorFlow Serving, в котором рассказывается, как эффективно развёртывать модели машинного обучения и предоставлять к ним доступ в рабочих средах.

  • TensorFlow Lite: на этой странице описывается преобразование моделей машинного обучения в формат, оптимизированный для инференса на устройстве с помощью TensorFlow Lite.

  • TensorFlow.js: руководство по преобразованию моделей, в котором рассказывается, как преобразовать модели TensorFlow или Keras в формат TensorFlow.js для использования в веб-приложениях.

Итоги#

В этом руководстве мы рассмотрели экспорт моделей Ultralytics YOLO26 в формат TF GraphDef. Благодаря этому ты можешь гибко развёртывать оптимизированные модели YOLO26 в различных средах.

Дополнительные сведения об использовании доступны в официальной документации TF GraphDef.

Дополнительную информацию об интеграции Ultralytics YOLO26 с другими платформами и фреймворками см. на нашей странице руководства по интеграции.

Часто задаваемые вопросы#

  • Модели Ultralytics YOLO26 можно без проблем экспортировать в формат TensorFlow GraphDef (TF GraphDef). Этот формат предоставляет сериализованное, независимое от платформы представление модели, идеально подходящее для развёртывания в различных средах, например на мобильных устройствах и в веб-приложениях. Чтобы экспортировать модель YOLO26 в TF GraphDef, выполни следующие шаги:

    Использование
    from ultralytics import YOLO
    
    # Load a YOLO26 model
    model = YOLO("yolo26n.pt")
    
    # Export the model to TF GraphDef format
    model.export(format="pb")  # creates 'yolo26n.pb'
    
    # Load the exported TF GraphDef model
    tf_graphdef_model = YOLO("yolo26n.pb")
    
    # Run inference
    results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")

    Дополнительную информацию о различных вариантах экспорта см. в документации Ultralytics по экспорту моделей.

  • Экспорт моделей YOLO26 в формат TF GraphDef даёт несколько преимуществ, включая:

    1. Независимость от платформы: TF GraphDef предоставляет независимый от платформы формат, позволяющий развёртывать модели в различных средах, включая мобильные устройства и веб-браузеры.
    2. Оптимизации: формат поддерживает несколько оптимизаций, таких как свёртка констант, квантизация и преобразование графа, которые повышают эффективность выполнения и уменьшают использование памяти.
    3. Аппаратное ускорение: модели в формате TF GraphDef могут использовать аппаратные ускорители, такие как GPU, TPU и AI-чипы, для повышения производительности.

    Подробнее о преимуществах см. в разделе TF GraphDef нашей документации.

  • Ultralytics YOLO26 предоставляет множество преимуществ по сравнению с другими моделями, такими как YOLOv5 и YOLOv7. К основным преимуществам относятся:

    1. Современная производительность: YOLO26 обеспечивает исключительную скорость и точность для обнаружения объектов в реальном времени, сегментации экземпляров, семантической сегментации и классификации.
    2. Простота использования: удобный API для обучения, валидации, предсказания и экспорта моделей делает решение доступным как новичкам, так и экспертам.
    3. Широкая совместимость: поддержка нескольких форматов экспорта, включая ONNX, TensorRT, CoreML и TensorFlow, обеспечивает гибкие варианты развёртывания.

    Подробнее см. в нашем введении в YOLO26.

  • После экспорта модели YOLO26 в формат TF GraphDef её можно развёртывать на различных платформах специализированного оборудования. Типичные сценарии развёртывания включают:

    • TensorFlow Serving: используй TensorFlow Serving для масштабируемого развёртывания моделей в рабочих средах. Он поддерживает управление моделями и эффективное предоставление к ним доступа.
    • Мобильные устройства: преобразуй модели TF GraphDef в TensorFlow Lite, оптимизированный для мобильных и встраиваемых устройств, чтобы выполнять инференс непосредственно на устройстве.
    • Веб-браузеры: развёртывай модели с помощью TensorFlow.js для инференса на стороне клиента в веб-приложениях.
    • AI-ускорители: используй TPU и специализированные AI-чипы для ускорения инференса.

    Подробную информацию см. в разделе вариантов развёртывания.

  • Для устранения распространённых проблем при экспорте моделей YOLO26 Ultralytics предоставляет подробные руководства и ресурсы. Если при установке или экспорте модели возникают проблемы, обратись к следующим материалам:

    Эти ресурсы должны помочь решить большинство проблем, связанных с экспортом и развёртыванием модели YOLO26.

Комментарии