Перейти к содержанию

Поймите, как экспортировать в формат TF SavedModel из YOLO11

Развертывание моделей машинного обучения может быть непростой задачей. Однако использование эффективного и гибкого формата модели может облегчить вашу работу. TF SavedModel - это фреймворк машинного обучения с открытым исходным кодом, используемый TensorFlow для последовательной загрузки моделей машинного обучения. Это как чемоданчик для моделей TensorFlow , позволяющий легко переносить их и использовать на различных устройствах и системах.

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

Почему вы должны экспортировать на TF SavedModel ?

Формат TensorFlow SavedModel является частью экосистемы TensorFlow , разработанной Google , как показано ниже. Он предназначен для сохранения и сериализации моделей TensorFlow . Он содержит все детали моделей, такие как архитектура, веса и даже информация о компиляции. Это упрощает обмен, развертывание и продолжение обучения в различных средах.

TF SavedModel

У 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 , вы повышаете их адаптивность и легкость развертывания на различных платформах.

Установка

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

Установка

# Install the required package for YOLO11
pip install ultralytics

Для получения подробных инструкций и лучших практик, связанных с процессом установки, ознакомьтесь с нашим руководством по установке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")
# Export a YOLO11n PyTorch model to TF SavedModel format
yolo export model=yolo11n.pt format=saved_model  # creates '/yolo11n_saved_model'

# Run inference with the exported model
yolo predict model='./yolo11n_saved_model' source='https://ultralytics.com/images/bus.jpg'

Более подробную информацию о поддерживаемых вариантах экспорта можно найти на странице документацииUltralytics , посвященной вариантам развертывания.

Развертывание экспортированных YOLO11 TF SavedModel моделей.

Now that you have exported your YOLO11 model to the TF SavedModel format, the next step is to deploy it. The primary and recommended first step for running a TF GraphDef model is to use the YOLO("yolo11n_saved_model/") method, as previously shown in the usage code snippet.

Однако для получения подробных инструкций по развертыванию моделей TF SavedModel ознакомьтесь со следующими ресурсами:

Резюме

В этом руководстве мы рассмотрели, как экспортировать модели 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")
# Export the YOLO11 model to TF SavedModel format
yolo export model=yolo11n.pt format=saved_model  # creates '/yolo11n_saved_model'

# Run inference with the exported model
yolo predict model='./yolo11n_saved_model' source='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 пакет. Выполните следующую команду в терминале:

pip install ultralytics

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

Каковы ключевые особенности формата TensorFlow SavedModel ?

TF SavedModel Формат полезен для разработчиков ИИ благодаря следующим особенностям:

  • Портативность: Позволяет без особых усилий предоставлять общий доступ и развертывать систему в различных средах.
  • Простота развертывания: Инкапсулирует вычислительный граф, параметры обучения и метаданные в единый пакет, что упрощает загрузку и вывод.
  • Управление активами: Поддерживает внешние активы, например, словари, обеспечивая их доступность при загрузке модели.

Для получения более подробной информации изучите официальную документацию TensorFlow .

📅 Создано 9 месяцев назад ✏️ Обновлено 7 дней назад

Комментарии