Перейти к содержанию

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

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

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

TensorFlow GraphDef

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

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

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

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

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

TF GraphDef предлагает отличительные функции для оптимизации развертывания моделей и оптимизации.

Вот взгляд на его ключевые характеристики:

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

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

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

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

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

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

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

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

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

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

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

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

Вы можете преобразовать свою модель обнаружения объектов YOLO11 в формат TF GraphDef, совместимый с различными системами, чтобы повысить ее производительность на разных платформах.

Установка

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

Установка

# Install the required package for YOLO11
pip install ultralytics

Подробные инструкции и рекомендации, касающиеся процесса установки, см. в нашем руководстве по установке Ultralytics. Если во время установки необходимых пакетов для YOLO11 у вас возникнут какие-либо трудности, обратитесь к нашему руководству по распространенным проблемам для получения решений и советов.

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

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

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

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to TF GraphDef format
model.export(format="pb")  # creates 'yolo11n.pb'

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

# Run inference
results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TF GraphDef format
yolo export model=yolo11n.pt format=pb # creates 'yolo11n.pb'

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

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

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

Для получения более подробной информации о процессе экспорта посетите страницу документации Ultralytics по экспорту.

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

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

Однако для получения дополнительной информации о развертывании ваших моделей TF GraphDef ознакомьтесь со следующими ресурсами:

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

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

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

Обзор

В этом руководстве мы рассмотрели, как экспортировать модели Ultralytics YOLO11 в формат TF GraphDef. Это позволяет гибко развертывать оптимизированные модели YOLO11 в различных средах.

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

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

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

Как экспортировать модель YOLO11 в формат TF GraphDef?

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

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

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to TF GraphDef format
model.export(format="pb")  # creates 'yolo11n.pb'

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

# Run inference
results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TF GraphDef format
yolo export model="yolo11n.pt" format="pb" # creates 'yolo11n.pb'

# Run inference with the exported model
yolo predict model="yolo11n.pb" source="https://ultralytics.com/images/bus.jpg"

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

Каковы преимущества использования TF GraphDef для развертывания моделей YOLO11?

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

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

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

Почему мне следует использовать Ultralytics YOLO11 вместо других моделей обнаружения объектов?

Ultralytics YOLO11 предлагает многочисленные преимущества по сравнению с другими моделями, такими как YOLOv5 и YOLOv7. Некоторые ключевые преимущества включают:

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

Узнайте больше в нашем введении в YOLO11.

Как я могу развернуть модель YOLO11 на специализированном оборудовании, используя TF GraphDef?

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

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

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

Где я могу найти решения распространенных проблем при экспорте моделей YOLO11?

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

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



📅 Создано 1 год назад ✏️ Обновлено 5 дней назад
glenn-jocherlakshanthadUltralyticsAssistantMatthewNoyceRizwanMunawarBurhan-Qabirami-vina

Комментарии