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

Экспорт модели YOLO26 в TorchScript для быстрого развертывания

Развертывание моделей компьютерного зрения в различных средах, включая встроенные системы, веб-браузеры или платформы с ограниченной поддержкой python, требует гибкого и переносимого решения. TorchScript фокусируется на переносимости и возможности запуска моделей в средах, где вся структура python недоступна. Это делает его идеальным для сценариев, когда вам необходимо развернуть возможности компьютерного зрения на различных устройствах или платформах.

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

Зачем экспортировать в TorchScript?

Обзор процесса сериализации и развертывания TorchScript

Разработанный создателями PyTorch, TorchScript является мощным инструментом для оптимизации и развертывания моделей PyTorch на различных платформах. Экспорт моделей YOLO26 в TorchScript имеет решающее значение для перехода от исследований к реальным приложениям. TorchScript, являющийся частью фреймворка PyTorch, помогает сделать этот переход более плавным, позволяя использовать модели PyTorch в средах, не поддерживающих Python.

Процесс включает две техники: трассировку и скриптинг. Трассировка записывает операции во время выполнения модели, тогда как скриптинг позволяет определять модели с использованием подмножества Python. Эти техники гарантируют, что модели, такие как YOLO26, могут эффективно работать даже вне своей обычной среды Python.

Сравнение TorchScript и трассировки

Модели TorchScript также можно оптимизировать с помощью таких методов, как объединение операторов и улучшения в использовании памяти, что обеспечивает эффективное выполнение. Еще одним преимуществом экспорта в TorchScript является его потенциал для ускорения выполнения модели на различных аппаратных платформах. Он создает автономное, готовое к производству представление вашей модели PyTorch, которое можно интегрировать в среды C++, встроенные системы или развернуть в веб- или мобильных приложениях.

Ключевые особенности моделей TorchScript

TorchScript, ключевая часть экосистемы PyTorch, предоставляет мощные функции для оптимизации и развертывания моделей глубокого обучения.

Обзор TorchScript функций TorchScript

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

  • Статическое выполнение графа: TorchScript использует статическое графовое представление вычислений модели, которое отличается от динамического выполнения графа в PyTorch. При статическом выполнении графа вычислительный граф определяется и компилируется один раз перед фактическим выполнением, что приводит к повышению производительности во время инференса.

  • Сериализация модели: TorchScript позволяет сериализовать модели PyTorch в платформонезависимый формат. Сериализованные модели можно загружать без необходимости использования исходного кода python, что позволяет развертывать их в различных средах выполнения.

  • JIT-компиляция: TorchScript использует Just-In-Time (JIT) компиляцию для преобразования моделей PyTorch в оптимизированное промежуточное представление. JIT компилирует вычислительный граф модели, обеспечивая эффективное выполнение на целевых устройствах.

  • Межъязыковая интеграция: С помощью TorchScript вы можете экспортировать модели PyTorch на другие языки, такие как C++, Java и JavaScript. Это упрощает интеграцию моделей PyTorch в существующие программные системы, написанные на разных языках.

  • Постепенное преобразование: TorchScript предоставляет подход постепенного преобразования, позволяя вам инкрементно преобразовывать части вашей модели PyTorch в TorchScript. Эта гибкость особенно полезна при работе со сложными моделями или когда вы хотите оптимизировать определенные части кода.

Варианты развертывания в TorchScript

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

TorchScript предлагает различные варианты развертывания для моделей машинного обучения, такие как:

  • C++ API: Наиболее распространенным вариантом использования TorchScript является его C++ API, который позволяет загружать и выполнять оптимизированные модели TorchScript непосредственно в C++ приложениях. Это идеально подходит для производственных сред, где Python может быть непригодным или недоступным. C++ API предлагает низкие накладные расходы и эффективное выполнение моделей TorchScript, максимально увеличивая потенциал производительности.

  • Развертывание на мобильных устройствах: TorchScript предлагает инструменты для преобразования моделей в форматы, готовые к развертыванию на мобильных устройствах. PyTorch Mobile предоставляет среду выполнения для выполнения этих моделей в приложениях iOS и Android. Это обеспечивает возможности автономного вывода с низкой задержкой, улучшая пользовательский опыт и конфиденциальность данных.

  • Развертывание в облаке: Модели TorchScript можно развертывать на облачных серверах с помощью таких решений, как TorchServe. Он предоставляет такие функции, как управление версиями моделей, пакетирование и мониторинг метрик для масштабируемого развертывания в производственных средах. Развертывание в облаке с помощью TorchScript может сделать ваши модели доступными через API или другие веб-сервисы.

Экспорт в TorchScript: Преобразование вашей модели YOLO26

Экспорт моделей YOLO26 в TorchScript упрощает их использование в различных средах и способствует их более быстрой и эффективной работе. Это очень полезно для тех, кто стремится более эффективно применять модели глубокого обучения в реальных приложениях.

Установка

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

Установка

# Install the required package for YOLO26
pip install ultralytics

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

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

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

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

from ultralytics import YOLO

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

# Export the model to TorchScript format
model.export(format="torchscript")  # creates 'yolo26n.torchscript'

# Load the exported TorchScript model
torchscript_model = YOLO("yolo26n.torchscript")

# Run inference
results = torchscript_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO26n PyTorch model to TorchScript format
yolo export model=yolo26n.pt format=torchscript # creates 'yolo26n.torchscript'

# Run inference with the exported model
yolo predict model=yolo26n.torchscript source='https://ultralytics.com/images/bus.jpg'

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

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

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

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

После успешного экспорта ваших моделей Ultralytics YOLO26 в формат TorchScript вы можете приступить к их развертыванию. Основным и рекомендуемым первым шагом для запуска модели TorchScript является использование YOLO("model.torchscript") метода, как описано в предыдущем фрагменте кода использования. Для получения подробных инструкций по развертыванию моделей TorchScript в других условиях ознакомьтесь со следующими ресурсами:

  • Изучите развертывание на мобильных устройствах: Документация PyTorch Mobile содержит подробные инструкции по развертыванию моделей на мобильных устройствах, что обеспечивает эффективность и оперативность ваших приложений.

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

  • Реализуйте развертывание на C++: Ознакомьтесь с руководством по загрузке модели TorchScript на C++, что облегчает интеграцию ваших моделей TorchScript в приложения C++ для повышения производительности и универсальности.

Обзор

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

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

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

Часто задаваемые вопросы

Что такое экспорт модели Ultralytics YOLO26 в TorchScript?

Экспорт модели Ultralytics YOLO26 в TorchScript обеспечивает гибкое кроссплатформенное развертывание. TorchScript, часть экосистемы PyTorch, облегчает сериализацию моделей, которые затем могут быть выполнены в средах, не поддерживающих python. Это делает его идеальным для развертывания моделей на встраиваемых системах, в средах C++, мобильных приложениях и даже веб-браузерах. Экспорт в TorchScript обеспечивает эффективную производительность и более широкую применимость ваших моделей YOLO26 на различных платформах.

Как я могу экспортировать свою модель YOLO26 в TorchScript с помощью Ultralytics?

Чтобы экспортировать модель YOLO26 в TorchScript, вы можете использовать следующий пример кода:

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

from ultralytics import YOLO

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

# Export the model to TorchScript format
model.export(format="torchscript")  # creates 'yolo26n.torchscript'

# Load the exported TorchScript model
torchscript_model = YOLO("yolo26n.torchscript")

# Run inference
results = torchscript_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO26n PyTorch model to TorchScript format
yolo export model=yolo26n.pt format=torchscript # creates 'yolo26n.torchscript'

# Run inference with the exported model
yolo predict model=yolo26n.torchscript source='https://ultralytics.com/images/bus.jpg'

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

Почему я должен использовать TorchScript для развертывания моделей YOLO26?

Использование TorchScript для развертывания моделей YOLO26 предлагает несколько преимуществ:

  • Портативность: Экспортированные модели могут работать в средах, не требующих python, таких как приложения C++, встроенные системы или мобильные устройства.
  • Оптимизация: TorchScript поддерживает статическое выполнение графа и JIT-компиляцию (Just-In-Time), что может оптимизировать производительность модели.
  • Межъязыковая интеграция: Модели TorchScript могут быть интегрированы в другие языки программирования, что повышает гибкость и расширяемость.
  • Сериализация: Модели могут быть сериализованы, что позволяет загружать и выполнять вывод независимо от платформы.

Для получения дополнительной информации о развертывании посетите документацию PyTorch Mobile, документацию TorchServe и руководство по развертыванию на C++.

Каковы шаги установки для экспорта моделей YOLO26 в TorchScript?

Для установки необходимого пакета для экспорта моделей YOLO26 используйте следующую команду:

Установка

# Install the required package for YOLO26
pip install ultralytics

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

Как мне развернуть мои экспортированные модели TorchScript YOLO26?

После экспорта моделей YOLO26 в формат TorchScript вы можете развертывать их на различных платформах:

  • C++ API: Идеально подходит для производственных сред с низкими накладными расходами и высокой эффективностью.
  • Развертывание на мобильных устройствах: Используйте PyTorch Mobile для приложений iOS и Android.
  • Развертывание в облаке: Используйте такие сервисы, как TorchServe для масштабируемого развертывания на стороне сервера.

Ознакомьтесь с подробными рекомендациями по развертыванию моделей в этих средах, чтобы в полной мере воспользоваться возможностями TorchScript.



📅 Создано 1 год назад ✏️ Обновлено 2 дней назад
glenn-jocherlakshanthadlakshanthadabirami-vinapderrengerUltralyticsAssistantMatthewNoyceRizwanMunawar

Комментарии