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

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

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

Вот ключевые особенности, которые делают TorchScript ценным инструментом для разработчиков:
-
Выполнение статического графа: TorchScript использует представление вычислений модели в виде статического графа, что отличается от динамического выполнения графа в PyTorch. При выполнении статического графа вычислительный граф определяется и компилируется один раз перед фактическим запуском, что приводит к повышению производительности во время инференса.
-
Сериализация модели: TorchScript позволяет сериализовать модели PyTorch в независимый от платформы формат. Сериализованные модели можно загружать без необходимости в исходном коде Python, что позволяет развертывать их в различных средах выполнения.
-
JIT-компиляция: TorchScript использует JIT-компиляцию для преобразования моделей PyTorch в оптимизированное промежуточное представление. JIT компилирует вычислительный граф модели, обеспечивая эффективное выполнение на целевых устройствах.
-
Кросс-языковая интеграция: С помощью TorchScript ты можешь экспортировать модели PyTorch в другие языки, такие как C++, Java и JavaScript. Это упрощает интеграцию моделей PyTorch в существующие программные системы, написанные на разных языках.
-
Поэтапное преобразование: TorchScript предлагает подход поэтапного преобразования, позволяющий постепенно конвертировать части твоей модели PyTorch в TorchScript. Эта гибкость особенно полезна при работе со сложными моделями или когда ты хочешь оптимизировать определенные части кода.
Link to this sectionВарианты развертывания в TorchScript#
Прежде чем мы перейдем к коду для экспорта моделей YOLO26 в формат TorchScript, давай разберемся, где обычно используются модели TorchScript.
TorchScript предлагает различные варианты развертывания моделей machine learning, например:
-
C++ API: Самый распространенный вариант использования TorchScript — это его C++ API, который позволяет загружать и выполнять оптимизированные модели TorchScript непосредственно в приложениях C++. Это идеально подходит для производственных сред, где Python может не подходить или быть недоступным. C++ API обеспечивает низкие накладные расходы и эффективное выполнение моделей TorchScript, максимально увеличивая потенциал производительности.
-
Мобильное развертывание: TorchScript предлагает инструменты для преобразования моделей в форматы, готовые к развертыванию на мобильных устройствах. PyTorch Mobile предоставляет среду выполнения для запуска этих моделей внутри приложений iOS и Android. Это обеспечивает возможности инференса с низкой задержкой в автономном режиме, улучшая пользовательский опыт и data privacy.
-
Облачное развертывание: Модели TorchScript можно развертывать на облачных серверах с использованием решений, таких как TorchServe. Он предоставляет такие функции, как версионирование моделей, пакетная обработка (batching) и мониторинг метрик для масштабируемого развертывания в производственных средах. Облачное развертывание с помощью 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 поддерживает режимы Export, Predict и Validate. Экспортируй свою модель, а затем загружай ее для выполнения инференса или проверки точности.
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 | Позволяет использовать динамические размеры входных данных, повышая гибкость при обработке изображений с различными размерами. |
quantize | int или str | None | Точность квантования: 16 (FP16) требует экспорта через GPU с device=0; 32/не задано означает FP32. Заменяет устаревший флаг half. |
optimize | bool | False | Применяет оптимизацию для мобильных устройств, потенциально уменьшая размер модели и повышая производительность. |
nms | bool | False | Добавляет подавление немаксимумов (NMS), что необходимо для точной и эффективной постобработки обнаружений. |
batch | int | 1 | Задает размер пакета (batch) для вывода экспортированной модели или максимальное количество изображений, которые модель будет обрабатывать одновременно в режиме 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Как мне развернуть мои экспортированные модели YOLO26 TorchScript?#
После экспорта моделей YOLO26 в формат TorchScript ты можешь развернуть их на различных платформах:
- C++ API: Идеально подходит для производственных сред с низкими накладными расходами и высокой эффективностью.
- Мобильное развертывание: Запускай модели TorchScript на устройстве с помощью LibTorch (среда выполнения PyTorch C++). Для новых мобильных проектов PyTorch рекомендует ExecuTorch, отдельный конвейер экспорта
.pte. - Облачное развертывание: Используй такие сервисы, как TorchServe для масштабируемого развертывания на стороне сервера.
Изучи подробные руководства по развертыванию моделей в этих средах, чтобы в полной мере использовать возможности TorchScript.