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

Поймите, как экспортировать в формат 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 моделей.

Теперь, когда вы экспортировали модель YOLO11 в формат TF SavedModel , следующим шагом будет ее развертывание. Основным и рекомендуемым первым шагом для запуска модели TF GraphDef является использование метода YOLO("./yolo11n_saved_model"), как было показано ранее в фрагменте кода использования.

Однако для получения подробных инструкций по развертыванию моделей 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 .

📅 Создано 8 месяцев назад ✏️ Обновлено 2 месяца назад

Комментарии