Meet YOLO26: next-gen vision AI.

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

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

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

Link to this sectionЗачем нужно выполнять экспорт в TorchScript?#

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

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

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

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

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

Link to this sectionКлючевые особенности моделей TorchScript#

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

Обзор ключевых особенностей TorchScript

Вот ключевые особенности, которые делают 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Аргументы экспорта#

АргументТипПо умолчаниюОписание
formatstr'torchscript'Целевой формат для экспортированной модели, определяющий совместимость с различными средами развертывания.
imgszint или tuple640Желаемый размер изображения для входных данных модели. Может быть целым числом для квадратных изображений или кортежем (height, width) для конкретных размеров.
dynamicboolFalseПозволяет использовать динамические размеры входных данных, повышая гибкость при обработке изображений с различными размерами.
quantizeint или strNoneТочность квантования: 16 (FP16) требует экспорта через GPU с device=0; 32/не задано означает FP32. Заменяет устаревший флаг half.
optimizeboolFalseПрименяет оптимизацию для мобильных устройств, потенциально уменьшая размер модели и повышая производительность.
nmsboolFalseДобавляет подавление немаксимумов (NMS), что необходимо для точной и эффективной постобработки обнаружений.
batchint1Задает размер пакета (batch) для вывода экспортированной модели или максимальное количество изображений, которые модель будет обрабатывать одновременно в режиме predict.
devicestrNoneУказывает устройство для экспорта: 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.

Комментарии