Meet YOLO26: next-gen vision AI.

Link to this sectionУзнай, как экспортировать модели в формат TF SavedModel из YOLO26#

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

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

Link to this sectionПочему тебе стоит экспортировать модели в TF SavedModel?#

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

TensorFlow SavedModel export format structure

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

Link to this sectionКлючевые особенности TF SavedModel#

Вот ключевые особенности, которые делают TF SavedModel отличным выбором для AI-разработчиков:

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

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

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

Link to this sectionВарианты развертывания с TF SavedModel#

Прежде чем мы перейдем к процессу экспорта моделей YOLO26 в формат TF SavedModel, давай рассмотрим типичные сценарии развертывания, где используется этот формат.

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

  • TensorFlow Serving: TensorFlow Serving — это гибкая высокопроизводительная система обслуживания, разработанная для производственных сред. Она нативно поддерживает TF SavedModels, что позволяет легко разворачивать и обслуживать твои модели на облачных платформах, локальных серверах или edge devices.

  • Облачные платформы: Крупные облачные провайдеры, такие как Google Cloud Platform (GCP), Amazon Web Services (AWS) и Microsoft Azure, предлагают услуги для развертывания и запуска моделей TensorFlow, включая TF SavedModel. Эти сервисы предоставляют масштабируемую и управляемую инфраструктуру, позволяя тебе легко развертывать и масштабировать свои модели.

  • Мобильные и встраиваемые устройства: TensorFlow Lite, легковесное решение для запуска моделей машинного обучения на мобильных, встраиваемых и IoT-устройствах, поддерживает конвертацию TF SavedModels в формат TensorFlow Lite. Это позволяет тебе разворачивать свои модели на широком спектре устройств, от смартфонов и планшетов до микроконтроллеров и edge devices.

  • TensorFlow Runtime: TensorFlow Runtime (tfrt) — это высокопроизводительная среда выполнения для исполнения графов TensorFlow. Она предоставляет низкоуровневые API для загрузки и запуска TF SavedModel в средах C++. TensorFlow Runtime обеспечивает более высокую производительность по сравнению со стандартной средой выполнения TensorFlow. Он подходит для сценариев развертывания, требующих инференса с низкой задержкой и тесной интеграции с существующими кодовыми базами C++.

Link to this sectionЭкспорт моделей YOLO26 в TF SavedModel#

Экспортируя модели YOLO26 в формат TF SavedModel, ты повышаешь их адаптивность и простоту развертывания на различных платформах.

Link to this sectionУстановка#

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

Установка
# Install the required package for YOLO26
pip install ultralytics

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

Link to this sectionИспользование#

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

Формат TF SavedModel поддерживает режимы Export, Predict и Validate. Экспортируй свою модель, а затем загрузи ее для запуска инференса или проверки точности.

Экспорт
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TF SavedModel format
model.export(format="saved_model")  # creates '/yolo26n_saved_model'
Предсказание
from ultralytics import YOLO

# Load the exported TF SavedModel model
model = YOLO("./yolo26n_saved_model")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Валидация
from ultralytics import YOLO

# Load the exported TF SavedModel model
model = YOLO("./yolo26n_saved_model")

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Link to this sectionАргументы экспорта#

АргументТипПо умолчаниюОписание
formatstr'saved_model'Целевой формат для экспортированной модели, определяющий совместимость с различными средами развертывания.
imgszint или tuple640Желаемый размер изображения для входных данных модели. Может быть целым числом для квадратных изображений или кортежем (height, width) для конкретных размеров.
kerasboolFalseВключает экспорт в формат Keras, обеспечивая совместимость с TensorFlow Serving и API.
quantizeint или strNoneТочность квантования: 8 (INT8/PTQ; требует калибровки data/fraction) или 32/не задано (FP32). FP16 не поддерживается для экспорта в SavedModel. Заменяет устаревший флаг int8.
nmsboolFalseДобавляет подавление немаксимумов (NMS), что необходимо для точной и эффективной постобработки обнаружений.
batchint1Задает размер пакета (batch) для вывода экспортированной модели или максимальное количество изображений, которые модель будет обрабатывать одновременно в режиме predict.
datastr'coco8.yaml'Путь к файлу конфигурации dataset (по умолчанию: coco8.yaml), необходимому для квантования.
fractionfloat1.0Указывает часть датасета, которую нужно использовать для калибровки квантования INT8. Позволяет выполнять калибровку на подмножестве полного датасета, что полезно для экспериментов или при ограниченных ресурсах. Если не указано при включенном INT8, будет использован весь датасет.
devicestrNoneУказывает устройство для экспорта: CPU (device=cpu), MPS для Apple silicon (device=mps).

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

Link to this sectionРазвертывание экспортированных моделей YOLO26 в TF SavedModel#

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

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

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

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

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

Link to this sectionРезюме#

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

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

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

Link to this sectionFAQ#

Link to this sectionКак мне экспортировать модель Ultralytics YOLO в формат TensorFlow SavedModel?#

Экспорт модели Ultralytics YOLO в формат TensorFlow SavedModel прост. Ты можешь использовать для этого либо Python, либо CLI:

Экспорт YOLO26 в TF SavedModel
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TF SavedModel format
model.export(format="saved_model")  # creates '/yolo26n_saved_model'

# Load the exported TF SavedModel for inference
tf_savedmodel_model = YOLO("./yolo26n_saved_model")
results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")

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

Link to this sectionПочему мне стоит использовать формат TensorFlow SavedModel?#

Формат TensorFlow SavedModel предлагает несколько преимуществ для развертывания моделей:

  • Портативность: Он предоставляет нейтральный к языку формат, что облегчает совместное использование и развертывание моделей в различных средах.
  • Совместимость: Легко интегрируется с такими инструментами, как TensorFlow Serving, TensorFlow Lite и TensorFlow.js, которые необходимы для развертывания моделей на различных платформах, включая веб- и мобильные приложения.
  • Полная инкапсуляция: Кодирует архитектуру модели, веса и информацию о компиляции, что позволяет легко обмениваться ими и продолжать обучение.

Для получения дополнительных преимуществ и вариантов развертывания ознакомься с вариантами развертывания моделей Ultralytics YOLO.

Link to this sectionКаковы типичные сценарии развертывания для 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.

Link to this sectionКак мне установить необходимые пакеты для экспорта моделей YOLO26?#

Чтобы экспортировать модели YOLO26, тебе нужно установить пакет ultralytics. Выполни следующую команду в своем терминале:

pip install ultralytics

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

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

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

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

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

Комментарии