Безопасность корпоративного уровня: Соответствует ISO 27001 + SOC 2 Type I.

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

PyTorch отказывается от TorchScript

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

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

Выполни экспорт в 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 в TorchScript. Эта гибкость особенно полезна при работе со сложными моделями или когда ты хочешь оптимизировать определенные части кода.

Link to this sectionВарианты развертывания в TorchScript#

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

TorchScript предлагает различные варианты развертывания моделей machine learning, например:

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

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

  • Облачное развертывание: Модели 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.
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 в других средах, ознакомься со следующими ресурсами:

  • Изучить мобильное развертывание: Используй отдельный конвейер torch.export().pte в ExecuTorch для актуального мобильного развертывания PyTorch.

  • Освой серверное развертывание: Узнай, как развертывать модели на стороне сервера с помощью 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++.

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 дает несколько преимуществ:

  • Портативность: Экспортированные модели могут работать в приложениях C++ без использования Python.
  • Оптимизация: 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: Используй LibTorch для производственных сред с низкими накладными расходами и высокой эффективностью.
  • Мобильное развертывание: Используй ExecuTorch, поддерживаемую замену от PyTorch с отдельным конвейером экспорта .pte.
  • Облачное развертывание: Используй такие сервисы, как TorchServe для масштабируемого развертывания на стороне сервера.

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

Комментарии