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

Когда ты развертываешь передовые модели computer vision, такие как 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 представляет модель как сериализованный вычислительный граф. Это позволяет использовать различные методы оптимизации, такие как свертка констант (constant folding), квантование и преобразования графа. Эти оптимизации обеспечивают эффективное выполнение, уменьшенное использование памяти и более высокую скорость вывода.

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

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

TF GraphDef предлагает отличительные особенности для упрощения model deployment и оптимизации.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Установка

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

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

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

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

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

Использование
from ultralytics import YOLO

# Load the 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")

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

АргументТипПо умолчаниюОписание
formatstr'pb'Целевой формат для экспортируемой модели, определяющий совместимость с различными средами развертывания.
imgszint или tuple640Желаемый размер изображения для входных данных модели. Может быть целым числом для квадратных изображений или кортежем (height, width) для указания конкретных размеров.
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, которое учит, как эффективно развертывать и обслуживать модели machine learning в рабочих средах.

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

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

Резюме

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

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

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

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

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

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

Использование
from ultralytics import YOLO

# Load the 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 по экспорту моделей.

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

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

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

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

Почему мне стоит использовать Ultralytics YOLO26 вместо других моделей object detection?

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

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

Изучи подробности в нашем введении в YOLO26.

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

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

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

Проверь раздел варианты развертывания для получения подробной информации.

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

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

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

Комментарии