YOLO Vision 2026:

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

При развертывании передовых моделей компьютерного зрения, таких как YOLO26, в различных средах ты можешь столкнуться с проблемами совместимости. GraphDef от TensorFlow, или 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 предлагает уникальные возможности для упрощения развертывания моделей и их оптимизации.

Вот основные характеристики этого формата:

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

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

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

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

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

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

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

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

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

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

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

Поддерживаемые задачи#

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

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

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

Установка#

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

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

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

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

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

Формат TF GraphDef поддерживает режимы Export, Predict и Validate, за исключением того, что модели pose в настоящее время поддерживают только экспорт. Экспортируй свою модель, а затем загрузи экспортированную модель для запуска инференса или проверки её точности.

Экспорт
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TF GraphDef format
model.export(format="pb")  # creates 'yolo26n.pb'
Предсказание
from ultralytics import YOLO

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

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Валидация
from ultralytics import YOLO

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

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

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

АргументТипПо умолчаниюОписание
formatstr'pb'Целевой формат для экспортированной модели, определяющий совместимость с различными средами развертывания.
imgszint или tuple640Желаемый размер изображения для входных данных модели. Может быть целым числом для квадратных изображений или кортежем (height, width) для конкретных размеров.
quantizeint или strNoneИсправлен экспорт в FP32. GraphDef не поддерживает преобразование точности в FP16, INT8 или W8A16 во время экспорта.
opsetintNoneУказывает версию ONNX opset для промежуточного графа ONNX. Если не задано, используется последняя поддерживаемая версия.
batchint1Задает размер пакета (batch) для вывода экспортированной модели или максимальное количество изображений, которые модель будет обрабатывать одновременно в режиме 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, которое учит, как эффективно развертывать и обслуживать модели машинного обучения в промышленной среде.

  • 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 a 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 вместо других моделей объектного обнаружения?#

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

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

Изучи дополнительные детали в нашем введении в YOLO26.

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

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

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

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

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

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

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

Комментарии