YOLO Vision 2026:

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

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

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

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

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

TensorFlow SavedModel export format structure

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

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

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

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

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

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

Варианты развертывания с 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. Эти сервисы предоставляют масштабируемую и управляемую инфраструктуру, позволяя тебе легко развертывать и масштабировать модели.

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

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

Поддерживаемые задачи#

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

ЗадачаYOLOv8YOLO11YOLO26
Detect
Segment
Semantic
Depth
Classify
Pose
OBB

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

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

Установка#

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

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

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

Использование#

Все модели Ultralytics 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'
Предсказание
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")

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

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

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

Развертывание экспортированных моделей 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 Platform.

Резюме#

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

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

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

FAQ#

  • Экспорт модели 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.

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

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

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

  • TF SavedModel может быть развернут в различных средах, включая:

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

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

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

    pip install ultralytics

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

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

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

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

Комментарии