Как экспортировать в TF GraphDef из YOLO11 для развертывания
При развертывании передовых моделей компьютерного зрения, таких как YOLO11, в различных средах вы можете столкнуться с проблемами совместимости. Google's 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 и чипы искусственного интеллекта, обеспечивая значительный прирост производительности для конвейера вывода YOLO11 . Формат TF GraphDef создает самодостаточный пакет с моделью и ее зависимостями, что упрощает развертывание и интеграцию в различные системы.
Ключевые особенности моделей TF GraphDef
TF GraphDef предлагает отличные возможности для упрощения развертывания и оптимизации моделей.
Вот обзор его ключевых характеристик:
-
Сериализация моделей: TF GraphDef предоставляет возможность сериализации и хранения моделей TensorFlow в платформонезависимом формате. Это сериализованное представление позволяет загружать и выполнять модели без исходной Python кодовой базы, что упрощает развертывание.
-
Оптимизация графов: TF GraphDef позволяет оптимизировать вычислительные графы. Эти оптимизации позволяют повысить производительность за счет оптимизации потока выполнения, сокращения избыточности и адаптации операций под конкретное оборудование.
-
Гибкость развертывания: Модели, экспортированные в формат GraphDef , можно использовать в различных средах, включая устройства с ограниченными ресурсами, веб-браузеры и системы со специализированным оборудованием. Это открывает возможности для более широкого развертывания ваших моделей TensorFlow .
-
Ориентация на производство: GraphDef предназначен для развертывания на производстве. Он поддерживает эффективное выполнение, функции сериализации и оптимизации, которые соответствуют реальным ситуациям использования.
Варианты развертывания с TF GraphDef
Прежде чем мы погрузимся в процесс экспорта моделей YOLO11 в TF GraphDef , давайте рассмотрим некоторые типичные ситуации развертывания, в которых используется этот формат.
Вот как можно эффективно развернуть TF GraphDef на различных платформах.
-
TensorFlow Обслуживание: Этот фреймворк предназначен для развертывания моделей TensorFlow в производственных средах. TensorFlow Serving предлагает управление моделями, версионирование и инфраструктуру для эффективного обслуживания моделей в масштабе. Это удобный способ интегрировать модели, основанные на GraphDef, в производственные веб-сервисы или API.
-
Мобильные и встраиваемые устройства: С помощью таких инструментов, как TensorFlow Lite, вы можете конвертировать модели TF GraphDef в форматы, оптимизированные для смартфонов, планшетов и различных встраиваемых устройств. Затем ваши модели можно использовать для выводов на устройстве, где выполнение происходит локально, что часто обеспечивает прирост производительности и возможность работы в автономном режиме.
-
Веб-браузеры: TensorFlow.js позволяет развертывать модели TF GraphDef непосредственно в веб-браузерах. Это открывает путь к созданию приложений для обнаружения объектов в реальном времени, работающих на стороне клиента, используя возможности YOLO11 через JavaScript.
-
Специализированное аппаратное обеспечение: TF GraphDef 's platform-agnostic nature allows it to target custom hardware, such as accelerators and TPUs (Tensor Processing Units). Эти устройства могут обеспечить преимущества в производительности для моделей с интенсивными вычислениями.
Экспорт моделей YOLO11 в TF GraphDef
Вы можете преобразовать модель обнаружения объектов YOLO11 в формат TF GraphDef , совместимый с различными системами, чтобы улучшить ее работу на разных платформах.
Установка
Чтобы установить необходимый пакет, выполните команду:
Для получения подробных инструкций и лучших практик, связанных с процессом установки, ознакомьтесь с нашим руководством по установке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")
Аргументы экспорта
Аргумент | Тип | По умолчанию | Описание |
---|---|---|---|
format |
str |
'pb' |
Целевой формат экспортируемой модели, определяющий совместимость с различными средами развертывания. |
imgsz |
int или tuple |
640 |
Желаемый размер изображения для входных данных модели. Может быть целым числом для квадратных изображений или кортежем (height, width) для получения конкретных размеров. |
batch |
int |
1 |
Указывает размер пакетного вывода экспортной модели или максимальное количество изображений, которые экспортируемая модель будет обрабатывать одновременно в predict режим. |
Более подробную информацию о процессе экспорта можно найти на странице документацииUltralytics , посвященной экспорту.
Развертывание экспортированных YOLO11 TF GraphDef моделей.
После того как вы экспортировали модель YOLO11 в формат TF GraphDef , следующий шаг - развертывание. Основным и рекомендуемым первым шагом для запуска модели TF GraphDef является использование метода YOLO("model.pb"), как было показано ранее в фрагменте кода использования.
Однако для получения дополнительной информации о развертывании моделей TF GraphDef ознакомьтесь со следующими ресурсами:
-
TensorFlow Обслуживание: Руководство по 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")
Дополнительные сведения о различных вариантах экспорта см. в документации по экспорту моделей на сайтеUltralytics .
В чем преимущества использования TF GraphDef для развертывания модели YOLO11 ?
Экспорт моделей YOLO11 в формат TF GraphDef имеет множество преимуществ, в том числе:
- Независимость от платформы: TF GraphDef предоставляет платформонезависимый формат, позволяющий развертывать модели в различных средах, включая мобильные и веб-браузеры.
- Оптимизации: Формат позволяет использовать несколько оптимизаций, таких как сворачивание констант, квантование и преобразование графов, которые повышают эффективность выполнения и сокращают потребление памяти.
- Аппаратное ускорение: Модели в формате TF GraphDef могут использовать аппаратные ускорители, такие как GPU, TPU и чипы искусственного интеллекта, для повышения производительности.
Подробнее о преимуществах читайте в разделеTF GraphDef нашей документации.
Почему стоит использовать Ultralytics YOLO11 , а не другие модели обнаружения объектов?
Ultralytics YOLO11 обладает множеством преимуществ по сравнению с другими моделями, такими как YOLOv5 и YOLOv7. Среди основных преимуществ можно выделить следующие:
- Современная производительность: YOLO11 обеспечивает исключительную скорость и точность обнаружения, сегментации и классификации объектов в режиме реального времени.
- Простота использования: Удобный API для обучения, проверки, прогнозирования и экспорта моделей, что делает его доступным как для новичков, так и для экспертов.
- Широкая совместимость: Поддерживает множество форматов экспорта, включая ONNX, TensorRT, CoreML и TensorFlow, что обеспечивает широкие возможности развертывания.
Более подробную информацию вы найдете в нашем обзоре YOLO11.
Как развернуть модель YOLO11 на специализированном оборудовании с помощью TF GraphDef ?
После экспорта модели YOLO11 в формат TF GraphDef вы можете развернуть ее на различных специализированных аппаратных платформах. Типичные сценарии развертывания включают:
- TensorFlow Сервировка: Используйте TensorFlow Serving для масштабируемого развертывания моделей в производственных средах. Он поддерживает управление моделями и эффективное обслуживание.
- Мобильные устройства: Преобразование моделей TF GraphDef в TensorFlow Lite, оптимизированные для мобильных и встроенных устройств, что позволяет делать выводы на устройстве.
- Веб-браузеры: Развертывание моделей с помощью TensorFlow.js для выводов на стороне клиента в веб-приложениях.
- Ускорители ИИ: Использование TPU и пользовательских чипов ИИ для ускорения вычислений.
Подробную информацию см. в разделе "Параметры развертывания ".
Где можно найти решения распространенных проблем при экспорте моделей YOLO11 ?
Для устранения распространенных проблем с экспортом моделей YOLO11 на сайте Ultralytics представлены подробные руководства и ресурсы. Если вы столкнулись с проблемами при установке или экспорте модели, см:
- Руководство по общим вопросам: Предлагает решения часто встречающихся проблем.
- Руководство по установке: Пошаговые инструкции по установке необходимых пакетов.
Эти ресурсы помогут вам решить большинство проблем, связанных с экспортом и развертыванием моделей YOLO11 .