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

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

Аргументы экспорта

Аргумент Тип По умолчанию Описание
format str 'saved_model' Целевой формат экспортируемой модели, определяющий совместимость с различными средами развертывания.
imgsz int или tuple 640 Желаемый размер изображения для входных данных модели. Может быть целым числом для квадратных изображений или кортежем (height, width) для получения конкретных размеров.
keras bool False Позволяет экспортировать данные в формат Keras, обеспечивая совместимость с сервисами и API TensorFlow .
int8 bool False Активирует квантование INT8, что еще больше сжимает модель и ускоряет вывод с минимальной потерей точности, в первую очередь для пограничных устройств.
nms bool False Добавляет не максимальное подавление (NMS), необходимое для точной и эффективной постобработки обнаружения.
batch int 1 Указывает размер пакетного вывода экспортной модели или максимальное количество изображений, которые экспортируемая модель будет обрабатывать одновременно в predict режим.

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

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

Теперь, когда вы экспортировали модель YOLO11 в формат TF SavedModel , следующим шагом будет ее развертывание. Основным и рекомендуемым первым шагом для запуска модели TF SavedModel является использование функции 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 .

📅 Создано 1 год назад ✏️ Обновлено 3 дня назад

Комментарии