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