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

Как экспортировать модели YOLO11 в формат TF SavedModel

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

Умение экспортировать модели Ultralytics YOLO11 в формат TF SavedModel поможет вам легко развертывать модели на различных платформах и в средах. В этом руководстве мы рассмотрим, как преобразовать ваши модели в формат 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 отличным вариантом для разработчиков AI:

  • Переносимость: TF SavedModel предоставляет нейтральный к языку, восстанавливаемый, герметичный формат сериализации. Они позволяют системам и инструментам более высокого уровня создавать, использовать и преобразовывать модели TensorFlow. SavedModels можно легко совместно использовать и развертывать на различных платформах и в средах.

  • Простота развертывания: 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 Runtime: TensorFlow Runtime (tfrt) — это высокопроизводительная среда выполнения для выполнения TensorFlow графов. Он предоставляет API более низкого уровня для загрузки и запуска TF SavedModels в средах C++. TensorFlow Runtime предлагает более высокую производительность по сравнению со стандартной средой выполнения 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'

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

АргументТипПо умолчаниюОписание
formatstr'saved_model'Целевой формат для экспортируемой модели, определяющий совместимость с различными средами развертывания.
imgszint или tuple640Желаемый размер изображения для ввода модели. Может быть целым числом для квадратных изображений или кортежем (height, width) для конкретных размеров.
kerasboolFalseОбеспечивает экспорт в формат Keras, обеспечивая совместимость с TensorFlow serving и API.
int8boolFalseАктивирует квантование INT8, дополнительно сжимая модель и ускоряя вывод с минимальной потерей точности, в основном для периферийных устройств.
nmsboolFalseДобавляет Non-Maximum Suppression (NMS), необходимую для точной и эффективной постобработки обнаружения.
batchint1Указывает размер пакета для модели экспорта или максимальное количество изображений, которые экспортируемая модель будет обрабатывать одновременно в режиме predict режиме.
devicestrNoneУказывает устройство для экспорта: CPU (device=cpu), MPS для Apple silicon (device=mps).

Для получения более подробной информации о процессе экспорта посетите страницу документации Ultralytics по экспорту.

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

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

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

  • TensorFlow Serving: Документация для разработчиков о том, как развертывать ваши TF SavedModel модели с помощью TensorFlow Serving.

  • Запуск TensorFlow SavedModel в Node.js: Статья в блоге TensorFlow о запуске TensorFlow SavedModel в Node.js напрямую, без преобразования.

  • Развертывание в облаке: Статья в блоге TensorFlow о развертывании модели TensorFlow SavedModel на платформе Cloud AI.

Обзор

В этом руководстве мы рассмотрели, как экспортировать модели 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 Serving: Идеально подходит для производственных сред, требующих масштабируемого и высокопроизводительного обслуживания моделей.
  • Облачные платформы: Поддерживает основные облачные сервисы, такие как Google Cloud Platform (GCP), Amazon Web Services (AWS) и Microsoft Azure, для масштабируемого развертывания моделей.
  • Мобильные и встраиваемые устройства: Использование TensorFlow Lite для преобразования TF SavedModels позволяет развертывать их на мобильных устройствах, IoT-устройствах и микроконтроллерах.
  • TensorFlow Runtime: Для сред C++, требующих логического вывода с низкой задержкой и повышенной производительностью.

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

Как установить необходимые пакеты для экспорта моделей YOLO11?

Для экспорта моделей YOLO11 необходимо установить ultralytics пакет. Выполните следующую команду в вашем терминале:

pip install ultralytics

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

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

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

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

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



📅 Создано 1 год назад ✏️ Обновлено 5 дней назад
glenn-jocherlakshanthadRizwanMunawarleonnilUltralyticsAssistantMatthewNoyceBurhan-Qabirami-vina

Комментарии