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

Как экспортировать в 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'

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

Аргумент Тип По умолчанию Описание
format str 'pb' Целевой формат для экспортируемой модели, определяющий совместимость с различными средами развертывания.
imgsz int или tuple 640 Желаемый размер изображения для ввода модели. Может быть целым числом для квадратных изображений или кортежем (height, width) для конкретных размеров.
batch int 1 Указывает размер пакета для модели экспорта или максимальное количество изображений, которые экспортируемая модель будет обрабатывать одновременно в режиме predict режиме.
device str None Указывает устройство для экспорта: 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 год назад ✏️ Обновлено 3 месяца назад

Комментарии