Поймите, как экспортировать в формат TF SavedModel из YOLO11
Развертывание моделей машинного обучения может быть непростой задачей. Однако использование эффективного и гибкого формата модели может облегчить вашу работу. TF SavedModel - это фреймворк машинного обучения с открытым исходным кодом, используемый TensorFlow для последовательной загрузки моделей машинного обучения. Это как чемоданчик для моделей TensorFlow , позволяющий легко переносить их и использовать на различных устройствах и системах.
Изучение способов экспорта в TF SavedModel из Ultralytics YOLO11 моделей поможет вам легко развернуть модели на разных платформах и в разных средах. В этом руководстве мы расскажем о том, как конвертировать ваши модели в формат TF SavedModel , что упростит процесс проведения выводов с помощью ваших моделей на различных устройствах.
Почему вы должны экспортировать на 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 простым и эффективным в различных производственных средах.
-
Управление активами: TF SavedModel поддерживает включение внешних активов, таких как словари, вкрапления или таблицы поиска. Эти активы хранятся вместе с определением графа и переменными, обеспечивая их доступность при загрузке модели. Эта функция упрощает управление и распространение моделей, которые опираются на внешние ресурсы.
Варианты развертывания с 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
) - это высокопроизводительная среда выполнения для выполнения TensorFlow графики. Он предоставляет API нижнего уровня для загрузки и запуска TF SavedModels в среде C++. TensorFlow Время выполнения обеспечивает более высокую производительность по сравнению со стандартным временем выполнения TensorFlow . Она подходит для сценариев развертывания, требующих выводов с низкой задержкой и тесной интеграции с существующими кодовыми базами C++.
Экспорт моделей 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 .
Для получения дополнительной информации об интеграции Ultralytics YOLO11 с другими платформами и фреймворками, не забудьте заглянуть на страницу нашего руководства по интеграции. На ней собраны отличные ресурсы, которые помогут вам максимально эффективно использовать YOLO11 в своих проектах.
ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ
Как экспортировать модель 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 .
Почему я должен использовать формат TensorFlow SavedModel ?
Формат TensorFlow SavedModel предоставляет ряд преимуществ для развертывания моделей:
- Переносимость: Он обеспечивает нейтральный по отношению к языку формат, что упрощает обмен моделями и их развертывание в различных средах.
- Совместимость: Легко интегрируется с такими инструментами, как 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 .