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

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

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

Вот ключевые особенности, которые делают TorchScript ценным инструментом для разработчиков:
-
Выполнение статического графа: TorchScript использует представление вычислений модели в виде статического графа, что отличается от выполнения динамического графа в PyTorch. При выполнении статического графа вычислительный граф определяется и компилируется один раз до фактического выполнения, что приводит к повышению производительности во время инференса.
-
Сериализация модели: TorchScript позволяет сериализовать модели PyTorch в независимый от платформы формат. Сериализованные модели можно загружать без необходимости в исходном коде Python, что позволяет выполнять развертывание в различных средах выполнения.
-
JIT-компиляция: TorchScript использует JIT-компиляцию (Just-In-Time) для преобразования моделей PyTorch в оптимизированное промежуточное представление. JIT компилирует вычислительный граф модели, обеспечивая эффективное выполнение на целевых устройствах.
-
Кросс-языковая интеграция: С помощью TorchScript ты можешь экспортировать модели PyTorch в другие языки, такие как C++, Java и JavaScript. Это упрощает интеграцию моделей PyTorch в существующие программные системы, написанные на разных языках.
-
Постепенное преобразование: TorchScript обеспечивает подход постепенного преобразования, позволяющий инкрементально конвертировать части твоей модели PyTorch в TorchScript. Эта гибкость особенно полезна при работе со сложными моделями или когда ты хочешь оптимизировать определенные части кода.
Link to this sectionВарианты развертывания в 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 или другие веб-сервисы.
Link to this sectionЭкспорт в TorchScript: Конвертация твоей модели YOLO26#
Экспорт моделей YOLO26 в TorchScript упрощает их использование в разных местах и помогает им работать быстрее и эффективнее. Это отлично подходит для всех, кто хочет более эффективно использовать модели глубокого обучения в реальных приложениях.
Link to this sectionУстановка#
Чтобы установить необходимый пакет, выполни:
# Install the required package for YOLO26
pip install ultralyticsПодробные инструкции и рекомендации по процессу установки см. в нашем руководстве по установке Ultralytics. Если при установке необходимых пакетов для YOLO26 возникнут трудности, обратись к нашему руководству по распространенным проблемам за решениями и советами.
Link to this sectionИспользование#
Все модели Ultralytics YOLO26 разработаны для поддержки экспорта «из коробки», что упрощает их интеграцию в твой предпочитаемый рабочий процесс развертывания. Ты можешь посмотреть полный список поддерживаемых форматов экспорта и параметров конфигурации, чтобы выбрать лучшую настройку для своего приложения.
Формат TorchScript поддерживает режимы Экспорт, Предсказание и Валидация. Экспортируй свою модель, а затем загрузи её для выполнения инференса или проверки точности.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TorchScript format
model.export(format="torchscript") # creates 'yolo26n.torchscript'from ultralytics import YOLO
# Load the exported TorchScript model
model = YOLO("yolo26n.torchscript")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported TorchScript model
model = YOLO("yolo26n.torchscript")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")Link to this sectionАргументы экспорта#
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
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 silicon (device=mps). |
Более подробную информацию о процессе экспорта можно найти на странице документации Ultralytics по экспорту.
Link to this sectionРазвертывание экспортированных моделей YOLO26 TorchScript#
После успешного экспорта твоих моделей Ultralytics YOLO26 в формат TorchScript, теперь ты можешь их развернуть. Первым и рекомендуемым шагом для запуска модели TorchScript является использование метода YOLO("model.torchscript"), как описано в предыдущем фрагменте кода. Чтобы получить подробные инструкции по развертыванию твоих моделей TorchScript в других условиях, ознакомься со следующими ресурсами:
-
Изучи мобильное развертывание: Документация PyTorch Mobile предоставляет исчерпывающие рекомендации по развертыванию моделей на мобильных устройствах, гарантируя, что твои приложения будут эффективными и отзывчивыми.
-
Освой серверное развертывание: Узнай, как развертывать модели на стороне сервера с помощью TorchServe, используя пошаговое руководство для масштабируемого и эффективного обслуживания моделей.
-
Реализуй развертывание на C++: Ознакомься с руководством по загрузке модели TorchScript на C++, облегчающим интеграцию твоих моделей TorchScript в приложения на C++ для повышения производительности и универсальности.
Link to this sectionИтог#
В этом руководстве мы изучили процесс экспорта моделей Ultralytics YOLO26 в формат TorchScript. Следуя предоставленным инструкциям, ты сможешь оптимизировать модели YOLO26 для достижения высокой производительности и получить гибкость для их развертывания на различных платформах и в различных средах.
Для получения подробной информации об использовании посети официальную документацию TorchScript.
Также, если хочешь узнать больше о других интеграциях Ultralytics YOLO26, посети нашу страницу руководств по интеграции. Там ты найдешь множество полезных ресурсов и идей.
Link to this sectionFAQ#
Link to this sectionЧто такое экспорт модели Ultralytics YOLO26 в TorchScript?#
Экспорт модели Ultralytics YOLO26 в TorchScript позволяет обеспечить гибкое кроссплатформенное развертывание. TorchScript, часть экосистемы PyTorch, облегчает сериализацию моделей, которые затем можно выполнять в средах, где отсутствует поддержка Python. Это делает его идеальным для развертывания моделей на встроенных системах, в средах C++, мобильных приложениях и даже в веб-браузерах. Экспорт в TorchScript обеспечивает эффективную производительность и более широкую применимость твоих моделей YOLO26 на различных платформах.
Link to this sectionКак я могу экспортировать свою модель YOLO26 в TorchScript с помощью Ultralytics?#
Чтобы экспортировать модель YOLO26 в TorchScript, ты можешь использовать следующий пример кода:
from ultralytics import YOLO
# Load a 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 по экспорту.
Link to this sectionПочему мне стоит использовать TorchScript для развертывания моделей YOLO26?#
Использование TorchScript для развертывания моделей YOLO26 дает несколько преимуществ:
- Переносимость: Экспортированные модели могут работать в средах без необходимости в Python, например, в приложениях C++, встроенных системах или на мобильных устройствах.
- Оптимизация: TorchScript поддерживает выполнение статического графа и JIT-компиляцию, что позволяет оптимизировать производительность модели.
- Кросс-языковая интеграция: Модели TorchScript могут быть интегрированы в другие языки программирования, что повышает гибкость и расширяемость.
- Сериализация: Модели можно сериализовать, что позволяет загружать их и выполнять инференс независимо от платформы.
Чтобы узнать больше о развертывании, посети документацию TorchServe и руководство по развертыванию на C++. Для мобильного развертывания на устройствах PyTorch теперь рекомендует ExecuTorch, который использует собственный отдельный конвейер torch.export() → .pte, а не TorchScript.
Link to this sectionКаковы шаги по установке для экспорта моделей YOLO26 в TorchScript?#
Чтобы установить необходимый пакет для экспорта моделей YOLO26, используй следующую команду:
# Install the required package for YOLO26
pip install ultralyticsДля получения подробных инструкций посети руководство по установке Ultralytics. Если во время установки возникли проблемы, ознакомься с руководством по распространенным проблемам.
Link to this sectionКак развернуть мои экспортированные модели TorchScript YOLO26?#
После экспорта моделей YOLO26 в формат TorchScript ты можешь развернуть их на различных платформах:
- C++ API: Идеально подходит для производственных сред с низкими накладными расходами и высокой эффективностью.
- Мобильное развертывание: Запускай модели TorchScript на устройстве с помощью LibTorch (среда выполнения PyTorch C++). Для новых мобильных проектов PyTorch рекомендует ExecuTorch, отдельный конвейер экспорта
.pte. - Облачное развертывание: Используй такие сервисы, как TorchServe, для масштабируемого серверного развертывания.
Изучи исчерпывающие рекомендации по развертыванию моделей в этих условиях, чтобы в полной мере использовать возможности TorchScript.