Как экспортировать в TF GraphDef из YOLO11 для развертывания
Когда вы развертываете передовые модели компьютерного зрения, такие как YOLO11, в различных средах, вы можете столкнуться с проблемами совместимости. Google TensorFlow GraphDef, или TF GraphDef, предлагает решение, предоставляя сериализованное, платформенно-независимое представление вашей модели. Используя формат модели TF GraphDef, вы можете развернуть свою модель YOLO11 в средах, где полная экосистема TensorFlow может быть недоступна, например, на мобильных устройствах или специализированном оборудовании.
В этом руководстве мы шаг за шагом расскажем, как экспортировать ваши модели Ultralytics YOLO11 в формат модели TF GraphDef. Преобразовав свою модель, вы можете упростить развертывание и использовать возможности компьютерного зрения YOLO11 в более широком диапазоне приложений и платформ.
Зачем экспортировать в 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 предоставляет множество преимуществ, включая:
- Независимость от платформы: TF GraphDef предоставляет платформо-независимый формат, позволяющий развертывать модели в различных средах, включая мобильные и веб-браузеры.
- Оптимизации: Формат обеспечивает несколько оптимизаций, таких как свертка констант, квантование и преобразования графов, которые повышают эффективность выполнения и снижают использование памяти.
- Аппаратное ускорение: Модели в формате TF GraphDef могут использовать аппаратные ускорители, такие как GPU, TPU и AI-чипы, для повышения производительности.
Узнайте больше о преимуществах в разделе TF GraphDef нашей документации.
Почему мне следует использовать Ultralytics YOLO11 вместо других моделей обнаружения объектов?
Ultralytics YOLO11 предлагает многочисленные преимущества по сравнению с другими моделями, такими как YOLOv5 и YOLOv7. Некоторые ключевые преимущества включают:
- Современная производительность: YOLO11 обеспечивает исключительную скорость и точность для обнаружения, сегментации и классификации объектов в реальном времени.
- Простота использования: Имеет удобный API для обучения, проверки, прогнозирования и экспорта моделей, что делает его доступным как для начинающих, так и для экспертов.
- Широкая совместимость: Поддерживает несколько форматов экспорта, включая 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.