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

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

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

Вот ключевые функции, которые делают 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")Аргументы экспорта
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
format | str | 'torchscript' | Целевой формат для экспортируемой модели, определяющий совместимость с различными средами развертывания. |
imgsz | int или tuple | 640 | Желаемый размер изображения для входных данных модели. Может быть целым числом для квадратных изображений или кортежем (height, width) для указания конкретных размеров. |
dynamic | bool | False | Позволяет использовать динамические размеры входных данных, что повышает гибкость при обработке изображений разных размеров. |
half | bool | False | Включает квантование FP16 (половинной точности), уменьшая размер модели и потенциально ускоряя логический вывод на поддерживаемом оборудовании. |
optimize | bool | False | Применяет оптимизацию для мобильных устройств, что потенциально уменьшает размер модели и улучшает производительность. |
nms | bool | False | Добавляет подавление немаксимумов (NMS), необходимое для точной и эффективной постобработки обнаружений. |
batch | int | 1 | Указывает размер пакетного инференса для экспортированной модели или максимальное количество изображений, которые модель будет обрабатывать одновременно в режиме predict. |
device | str | None | Указывает устройство для экспорта: GPU (device=0), CPU (device=cpu), MPS для процессоров Apple (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, посети нашу страницу руководства по интеграции. Там ты найдешь множество полезных ресурсов и идей.
Часто задаваемые вопросы (FAQ)
Что такое экспорт модели 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")Для получения более подробной информации о процессе экспорта обратись к документации Ultralytics по экспорту.
Почему мне стоит использовать TorchScript для развертывания моделей YOLO26?
Использование TorchScript для развертывания моделей YOLO26 дает несколько преимуществ:
- Портативность: Экспортированные модели могут работать в средах без необходимости установки Python, таких как приложения C++, встроенные системы или мобильные устройства.
- Оптимизация: TorchScript поддерживает выполнение статического графа и Just-In-Time (JIT) компиляцию, что позволяет оптимизировать производительность модели.
- Кросс-языковая интеграция: Модели 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.