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

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

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

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

Почему вы должны экспортировать на TorchScript?

Torchscript Обзор

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Установка

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

Установка

# 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 TorchScript format
model.export(format="torchscript")  # creates 'yolo11n.torchscript'

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

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

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

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

Аргумент Тип По умолчанию Описание
format str 'torchscript' Целевой формат экспортируемой модели, определяющий совместимость с различными средами развертывания.
imgsz int или tuple 640 Желаемый размер изображения для входных данных модели. Может быть целым числом для квадратных изображений или кортежем (height, width) для получения конкретных размеров.
optimize bool False Применяет оптимизацию для мобильных устройств, потенциально уменьшая размер модели и повышая производительность.
nms bool False Добавляет не максимальное подавление (NMS), необходимое для точной и эффективной постобработки обнаружения.
batch int 1 Указывает размер пакетного вывода экспортной модели или максимальное количество изображений, которые экспортируемая модель будет обрабатывать одновременно в predict режим.

Более подробную информацию о процессе экспорта можно найти на странице документацииUltralytics , посвященной экспорту.

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

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

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

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

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

Резюме

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

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

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

ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ

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

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

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

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

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

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

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

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

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

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

Более подробную информацию о процессе экспорта см. в документации по экспорту на сайтеUltralytics .

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

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

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

Более подробную информацию о развертывании можно найти на сайтах PyTorch Mobile Documentation, TorchServe Documentation и C++ Deployment Guide.

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

Чтобы установить необходимый пакет для экспорта моделей YOLO11 , выполните следующую команду:

Установка

# Install the required package for YOLO11
pip install ultralytics

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

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

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

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

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

📅 Создано 1 год назад ✏️ Обновлено 1 день назад

Комментарии