Пойми, как экспортировать в формат TF SavedModel из YOLO11
Deploying machine learning models can be challenging. However, using an efficient and flexible model format can make your job easier. TF SavedModel is an open-source machine-learning framework used by TensorFlow to load machine-learning models in a consistent way. It is like a suitcase for TensorFlow models, making them easy to carry and use on different devices and systems.
Learning how to export to TF SavedModel from Ultralytics YOLO11 models can help you deploy models easily across different platforms and environments. In this guide, we'll walk through how to convert your models to the TF SavedModel format, simplifying the process of running inferences with your models on different devices.
Почему тебе стоит экспортировать на TF SavedModel ?
Формат TensorFlow SavedModel является частью экосистемы TensorFlow , разработанной Google , как показано ниже. Он предназначен для беспрепятственного сохранения и сериализации моделей TensorFlow . В нем заключены все детали моделей, такие как архитектура, веса и даже информация о компиляции. Это упрощает обмен, развертывание и продолжение обучения в различных средах.
У TF SavedModel есть ключевое преимущество - совместимость. Она отлично работает с TensorFlow Serving, TensorFlow Lite и TensorFlow.js. Такая совместимость упрощает совместное использование и развертывание моделей на различных платформах, включая веб- и мобильные приложения. Формат TF SavedModel полезен как для исследований, так и для производства. Он обеспечивает единый способ управления твоими моделями, гарантируя, что они готовы для любого приложения.
Ключевые особенности TF SavedModels
Вот ключевые особенности, которые делают TF SavedModel отличным вариантом для разработчиков ИИ:
Переносимость: TF SavedModel обеспечивает нейтральный к языку, восстанавливаемый, герметичный формат сериализации. Они позволяют системам и инструментам более высокого уровня создавать, потреблять и преобразовывать TensorFlow модели. Сохраненными моделями можно легко делиться и разворачивать их на разных платформах и в разных средах.
Простота развертывания: TF SavedModel объединяет вычислительный граф, обученные параметры и необходимые метаданные в единый пакет. Их можно легко загрузить и использовать для выводов, не требуя оригинального кода, который построил модель. Это делает развертывание моделей TensorFlow простым и эффективным в различных производственных средах.
Asset Management: TF SavedModel supports the inclusion of external assets such as vocabularies, embeddings, or lookup tables. These assets are stored alongside the graph definition and variables, ensuring they are available when the model is loaded. This feature simplifies the management and distribution of models that rely on external resources.
Варианты развертывания с TF SavedModel
Прежде чем мы погрузимся в процесс экспорта моделей YOLO11 в формат TF SavedModel , давай изучим несколько типичных сценариев развертывания, в которых используется этот формат.
TF SavedModel предоставляет ряд возможностей для развертывания твоих моделей машинного обучения:
TensorFlow Сервировка: TensorFlow Serving - это гибкая, высокопроизводительная система обслуживания, предназначенная для производственных сред. Она поддерживает TF SavedModels, что позволяет легко развертывать и обслуживать твои модели на облачных платформах, локальных серверах или пограничных устройствах.
Облачные платформы: Крупные облачные провайдеры, такие как Google Cloud Platform (GCP), Amazon Web Services (AWS) и Microsoft Azure, предлагают сервисы для развертывания и запуска TensorFlow моделей, включая TF SavedModels. Эти сервисы предоставляют масштабируемую и управляемую инфраструктуру, что позволяет тебе легко разворачивать и масштабировать свои модели.
Мобильные и встраиваемые устройства: TensorFlow Lite, легкое решение для запуска моделей машинного обучения на мобильных, встраиваемых и IoT-устройствах, поддерживает конвертацию TF SavedModels в формат TensorFlow Lite. Это позволит тебе развернуть свои модели на широком спектре устройств, от смартфонов и планшетов до микроконтроллеров и пограничных устройств.
TensorFlow Время выполнения: TensorFlow Время выполнения (
tfrt
) is a high-performance runtime for executing TensorFlow graphs. It provides lower-level APIs for loading and running TF SavedModels in C++ environments. TensorFlow Runtime offers better performance compared to the standard TensorFlow runtime. It is suitable for deployment scenarios that require low-latency inference and tight integration with existing C++ codebases.
Экспорт моделей YOLO11 в TF SavedModel
Экспортируя модели YOLO11 в формат TF SavedModel , ты повышаешь их адаптивность и простоту развертывания на различных платформах.
Установка
Чтобы установить нужный пакет, выполни:
Подробные инструкции и лучшие практики, связанные с процессом установки, ты найдешь в нашем руководстве по установкеUltralytics . Во время установки необходимых пакетов для YOLO11, если у тебя возникнут какие-либо трудности, обратись к нашему руководству по общим проблемам, чтобы найти решения и советы.
Использование
Прежде чем погрузиться в инструкцию по использованию, важно отметить, что хотя все моделиUltralytics YOLO11 доступны для экспорта, ты можешь убедиться, что выбранная тобой модель поддерживает функцию экспорта , здесь.
Использование
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TF SavedModel format
model.export(format="saved_model") # creates '/yolo11n_saved_model'
# Load the exported TF SavedModel model
tf_savedmodel_model = YOLO("./yolo11n_saved_model")
# Run inference
results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")
Более подробно о поддерживаемых вариантах экспорта можно узнать на странице документацииUltralytics , посвященной вариантам развертывания.
Развертывание экспортированных моделей YOLO11 TF SavedModel
Теперь, когда ты экспортировал свою модель YOLO11 в формат TF SavedModel , следующим шагом будет ее развертывание. Основным и рекомендуемым первым шагом для запуска модели TF GraphDef является использование метода YOLO("./yolo11n_saved_model"), как было показано ранее в фрагменте кода использования.
Однако для получения подробных инструкций по развертыванию твоих моделей TF SavedModel посмотри следующие ресурсы:
TensorFlow Обслуживание: Вот документация для разработчиков о том, как развернуть твои TF SavedModel модели с помощью TensorFlow Serving.
Запусти TensorFlow SavedModel в Node.js: Статья в блоге TensorFlow о том, как запустить TensorFlow SavedModel в Node.js напрямую, без преобразования.
Развертывание в облаке: Статья в блоге TensorFlow о развертывании модели TensorFlow SavedModel на платформе Cloud AI Platform.
Резюме
В этом руководстве мы рассмотрели, как экспортировать Ultralytics модели YOLO11 в формат TF SavedModel . Экспортируя в формат TF SavedModel , ты получаешь гибкость в оптимизации, развертывании и масштабировании моделей YOLO11 на широком спектре платформ.
Более подробную информацию об использовании можно найти в официальной документацииTF SavedModel .
For more information on integrating Ultralytics YOLO11 with other platforms and frameworks, don't forget to check out our integration guide page. It's packed with great resources to help you make the most of YOLO11 in your projects.
ВОПРОСЫ И ОТВЕТЫ
Как экспортировать модель Ultralytics YOLO в формат TensorFlow SavedModel ?
Экспортировать модель Ultralytics YOLO в формат TensorFlow SavedModel очень просто. Для этого ты можешь использовать либо Python , либо CLI :
Экспорт YOLO11 в TF SavedModel
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TF SavedModel format
model.export(format="saved_model") # creates '/yolo11n_saved_model'
# Load the exported TF SavedModel for inference
tf_savedmodel_model = YOLO("./yolo11n_saved_model")
results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")
За подробностями обращайся к документацииUltralytics Export.
Почему я должен использовать формат TensorFlow SavedModel ?
The TensorFlow SavedModel format offers several advantages for model deployment:
- Переносимость: Он обеспечивает нейтральный к языку формат, что упрощает обмен моделями и их развертывание в различных средах.
- Совместимость: Легко интегрируется с такими инструментами, как TensorFlow Serving, TensorFlow Lite и TensorFlow.js, которые необходимы для развертывания моделей на различных платформах, включая веб- и мобильные приложения.
- Полная инкапсуляция: Кодирует архитектуру модели, веса и информацию о компиляции, что позволяет легко делиться ими и продолжать обучение.
О дополнительных преимуществах и вариантах развертывания читай на сайте Ultralytics YOLO Варианты развертывания модели.
Каковы типичные сценарии развертывания TF SavedModel ?
TF SavedModel может быть развернут в различных средах, включая:
- TensorFlow Сервировка: Идеально подходит для производственных сред, требующих масштабируемого и высокопроизводительного обслуживания моделей.
- Облачные платформы: Поддерживает основные облачные сервисы, такие как Google Cloud Platform (GCP), Amazon Web Services (AWS) и Microsoft Azure, для масштабируемого развертывания моделей.
- Мобильные и встраиваемые устройства: Использование TensorFlow Lite для преобразования TF SavedModels позволяет развернуть его на мобильных устройствах, IoT-устройствах и микроконтроллерах.
- TensorFlow Время выполнения: Для сред на C++, где нужны выводы с низкой задержкой и высокой производительностью.
Подробные варианты развертывания можно найти в официальных руководствах по развертыванию моделей TensorFlow .
Как установить необходимые пакеты для экспорта моделей YOLO11?
Чтобы экспортировать модели YOLO11, тебе нужно установить ultralytics
Пакет. Выполни следующую команду в своем терминале:
Более подробные инструкции по установке и лучшие практики ты найдешь в нашем руководстве по установкеUltralytics . Если у тебя возникнут проблемы, обратись к нашему руководству "Общие проблемы".
Каковы ключевые особенности формата TensorFlow SavedModel ?
TF SavedModel Формат выгоден для разработчиков ИИ благодаря следующим особенностям:
- Портативность: Позволяет без особых усилий делиться и разворачиваться в различных средах.
- Простота развертывания: Инкапсулирует вычислительный граф, обученные параметры и метаданные в единый пакет, что упрощает загрузку и вывод.
- Управление активами: Поддерживает внешние активы, такие как словари, обеспечивая их доступность при загрузке модели.
Для получения более подробной информации изучи официальную документацию TensorFlow .