Meet YOLO26: next-gen vision AI.

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

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

Освоение экспорта моделей Ultralytics YOLO26 в формат TF SavedModel поможет тебе легко развертывать их на различных платформах и в разных средах. В этом руководстве мы разберем, как конвертировать твои модели в формат 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 SavedModels#

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

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

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

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

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

Прежде чем мы перейдем к процессу экспорта моделей YOLO26 в формат 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++.

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")
Проверка (Validate)
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 или tuple640Desired image size for the model input. Can be an integer for square images or a tuple (height, width) for specific dimensions.
kerasboolFalseВключает экспорт в формат Keras, обеспечивая совместимость с TensorFlow Serving и API.
int8boolFalseАктивирует квантование INT8, дополнительно сжимая модель и ускоряя инференс с минимальной потерей точности, преимущественно для периферийных устройств.
nmsboolFalseДобавляет Non-Maximum Suppression (NMS), что критически важно для точной и эффективной постобработки обнаружения.
batchint1Указывает размер пакета вывода для экспортируемой модели или максимальное количество изображений, которое модель будет обрабатывать одновременно в режиме 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.

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

  • Deploying on Cloud: Блог-пост TensorFlow о развертывании модели TensorFlow SavedModel на Cloud AI Platform.

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 Export для получения подробной информации.

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.

Комментарии