Как экспортировать YOLO26 в TF GraphDef для развертывания#
Когда ты развертываешь передовые модели computer vision, такие как YOLO26, в различных средах, ты можешь столкнуться с проблемами совместимости. TensorFlow GraphDef от Google, или TF GraphDef, предлагает решение, предоставляя сериализованное, независимое от платформы представление твоей модели. Используя формат модели TF GraphDef, ты можешь развернуть свою модель YOLO26 в средах, где полная экосистема TensorFlow может быть недоступна, например на мобильных устройствах или специализированном оборудовании.
В этом руководстве мы пошагово разберем, как экспортировать твои модели Ultralytics YOLO26 в формат модели TF GraphDef. Конвертируя свою модель, ты сможешь упростить развертывание и использовать возможности computer vision модели YOLO26 в более широком спектре приложений и платформ.
Зачем экспортировать в 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.
-
Мобильные и встраиваемые устройства: С помощью таких инструментов, как 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, за исключением того, что модели поз в настоящее время поддерживают только экспорт. Экспортируй свою модель, а затем загрузи экспортированную модель для запуска инференса или проверки ее точности.
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")Аргументы экспорта#
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
format | str | 'pb' | Целевой формат для экспортированной модели, определяющий совместимость с различными средами развертывания. |
imgsz | int или tuple | 640 | Желаемый размер изображения для входа модели. Может быть целым числом для квадратных изображений или кортежем (height, width) для конкретных размеров. |
quantize | int или str | None | Исправлен экспорт в FP32. GraphDef не поддерживает преобразование точности в FP16, INT8 или W8A16 во время экспорта. |
opset | int | None | Указывает версию ONNX opset для промежуточного графа ONNX. Если не задано, используется последняя поддерживаемая версия. |
batch | int | 1 | Указывает размер пакета для пакетного инференса экспортированной модели или максимальное количество изображений, которые экспортированная модель будет обрабатывать одновременно в режиме predict. |
device | str | None | Указывает устройство для экспорта: 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: На этой странице описано, как конвертировать модели machine learning в формат, оптимизированный для инференса на устройстве с помощью TensorFlow Lite.
-
TensorFlow.js: Руководство по конвертации моделей, которое учит, как преобразовывать модели TensorFlow или Keras в формат TensorFlow.js для использования в веб-приложениях.
Резюме#
В этом руководстве мы изучили, как экспортировать модели Ultralytics YOLO26 в формат TF GraphDef. Благодаря этому ты можешь гибко развертывать свои оптимизированные модели YOLO26 в различных средах.
Для получения дополнительных сведений об использовании посети официальную документацию по TF GraphDef.
Для получения дополнительной информации об интеграции Ultralytics YOLO26 с другими платформами и фреймворками см. нашу страницу руководства по интеграции.
FAQ#
Модели 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 по экспорту моделей.
Экспорт моделей YOLO26 в формат TF GraphDef предлагает множество преимуществ, включая:
- Независимость от платформы: TF GraphDef предоставляет независимый от платформы формат, позволяющий развертывать модели в различных средах, включая мобильные устройства и веб-браузеры.
- Оптимизации: Формат позволяет выполнять ряд оптимизаций, таких как свертка констант, квантование и преобразования графа, которые повышают эффективность выполнения и снижают использование памяти.
- Аппаратное ускорение: Модели в формате TF GraphDef могут использовать аппаратные ускорители, такие как GPU, TPU и AI-чипы, для повышения производительности.
Узнай больше о преимуществах в разделе TF GraphDef нашей документации.
Ultralytics YOLO26 предлагает многочисленные преимущества по сравнению с другими моделями, такими как YOLOv5 и YOLOv7. Вот некоторые ключевые преимущества:
- Производительность государственного уровня: YOLO26 обеспечивает исключительную скорость и accuracy для object detection, instance segmentation, semantic segmentation и classification в реальном времени.
- Простота использования: Обладает удобным API для обучения, валидации, предсказания и экспорта моделей, что делает его доступным как для новичков, так и для экспертов.
- Широкая совместимость: Поддерживает множество форматов экспорта, включая ONNX, TensorRT, CoreML и TensorFlow, что обеспечивает универсальные варианты развертывания.
Узнай больше в нашем введении в YOLO26.
После того как модель YOLO26 экспортирована в формат TF GraphDef, ты можешь развернуть ее на различных платформах со специализированным оборудованием. Типичные сценарии развертывания включают:
- TensorFlow Serving: Используй TensorFlow Serving для масштабируемого развертывания моделей в промышленной среде. Он поддерживает управление моделями и эффективное обслуживание.
- Мобильные устройства: Конвертируй модели TF GraphDef в TensorFlow Lite, оптимизированные для мобильных и встроенных устройств, что позволяет выполнять вывод на самом устройстве.
- Веб-браузеры: Развертывай модели с помощью TensorFlow.js для вывода на стороне клиента в веб-приложениях.
- AI-ускорители: Используй TPU и кастомные AI-чипы для ускоренного вывода.
Ознакомься с разделом deployment options для получения подробной информации.
Для устранения распространенных проблем при экспорте моделей YOLO26 Ultralytics предоставляет исчерпывающие руководства и ресурсы. Если ты столкнулся с проблемами во время установки или экспорта модели, обратись к:
- Common Issues Guide: Содержит решения часто возникающих проблем.
- Installation Guide: Пошаговые инструкции по настройке необходимых пакетов.
Эти ресурсы должны помочь тебе решить большинство проблем, связанных с экспортом и развертыванием моделей YOLO26.