Оптимизация моделей Ultralytics YOLO с интеграцией TensorRT
Узнай, как экспортировать модели Ultralytics YOLO с помощью интеграции TensorRT для более быстрой и эффективной работы ИИ на графических процессорах NVIDIA в приложениях реального времени.

Представь себе беспилотный автомобиль, движущийся по оживленной улице, у которого есть всего несколько миллисекунд, чтобы заметить пешехода, сошедшего с тротуара. В то же время ему может потребоваться распознать знак «Стоп», частично скрытый деревом, или быстро отреагировать на соседний автомобиль, перестраивающийся на его полосу. В таких ситуациях скорость и реакция в реальном времени имеют решающее значение.
Именно здесь ключевую роль играют искусственный интеллект (ИИ) и, в частности, computer vision — ветвь ИИ, которая помогает машинам интерпретировать визуальные данные. Чтобы решения для computer vision надежно работали в реальных условиях, им часто требуется быстро обрабатывать информацию, выполнять несколько задач одновременно и эффективно использовать память.
Один из способов достичь этого — аппаратное ускорение с использованием специализированных устройств, таких как graphics processing units (GPUs), для более быстрого запуска моделей. GPU от NVIDIA особенно известны для таких задач благодаря своей способности обеспечивать низкую задержку и высокую пропускную способность.
Однако запуск модели на GPU «как есть» не всегда гарантирует оптимальную производительность. Моделям Vision AI обычно требуется оптимизация, чтобы полностью раскрыть возможности аппаратных устройств. Чтобы добиться максимальной производительности на конкретном оборудовании, нам нужно скомпилировать модель так, чтобы она использовала специфический набор инструкций этого оборудования.
Например, TensorRT — это формат экспорта и библиотека оптимизации, разработанная NVIDIA для повышения производительности на мощных машинах. Она использует продвинутые методы для значительного сокращения времени вывода при сохранении точности.

Fig 1. NVIDIA TensorRT позволяет моделям работать оптимально на различных устройствах NVIDIA.
В этой статье мы рассмотрим TensorRT integration, поддерживаемую Ultralytics, и покажем, как ты можешь экспортировать свою модель YOLO11 для более быстрого и эффективного развертывания на оборудовании NVIDIA. Давай начнем!
Обзор TensorRT#
TensorRT — это инструментарий, разработанный NVIDIA, чтобы помочь моделям ИИ работать быстрее и эффективнее на GPU NVIDIA. Он создан для реальных приложений, где скорость и производительность действительно имеют значение, например, для беспилотных автомобилей и контроля качества в производстве и фармацевтике.
TensorRT включает в себя такие инструменты, как компиляторы и оптимизаторы моделей, которые работают в фоновом режиме, обеспечивая работу твоих моделей с низкой задержкой и высокой пропускной способностью.
Интеграция TensorRT, поддерживаемая Ultralytics, работает путем оптимизации твоей модели YOLO для более эффективной работы на GPU с использованием таких методов, как снижение precision. Это относится к использованию низкоразрядных форматов, таких как 16-битная плавающая точка (FP16) или 8-битное целое число (INT8), для представления данных модели, что снижает использование памяти и ускоряет вычисления с минимальным влиянием на точность.
Кроме того, совместимые слои нейронной сети объединяются в оптимизированных моделях TensorRT для сокращения использования памяти, что приводит к более быстрому и эффективному выводу.

Fig 2. Обзор техники слияния слоев в TensorRT.
Ключевые особенности формата экспорта TensorRT#
Прежде чем мы обсудим, как экспортировать Ultralytics YOLO11 с помощью интеграции TensorRT, давай рассмотрим некоторые ключевые особенности формата модели TensorRT:
-
Простая интеграция с фреймворками: TensorRT поддерживает прямую интеграцию с популярными ИИ-фреймворками, такими как PyTorch, Hugging Face и ONNX, предлагая до 6 раз более высокую производительность. Он также поддерживает MATLAB, позволяя разрабатывать высокоскоростные ИИ-движки на таких платформах, как Jetson, NVIDIA DRIVE и дата-центры.
-
Масштабируемое развертывание с Triton: Модели, оптимизированные в формате TensorRT, могут быть развернуты в больших масштабах с использованием NVIDIA Triton Inference Server, который повышает эффективность благодаря таким функциям, как батчинг входных данных, параллельное выполнение моделей, поддержка ансамблей моделей и потоковая передача аудио/видео в реальном времени.
-
Гибкость в использовании устройств: От небольших пограничных устройств до мощных серверов, TensorRT работает во всей экосистеме NVIDIA, поддерживая такие инструменты, как DeepStream для видео, Riva для голосового ИИ и другие — для кибербезопасности, рекомендательных систем и многого другого.
Как работает интеграция TensorRT?#
Экспорт Ultralytics YOLO models, таких как YOLO11, в формат модели TensorRT прост. Давай разберем необходимые шаги.
Для начала ты можешь установить Ultralytics Python package с помощью менеджер пакетов вроде ‘pip’. Это можно сделать, выполнив команду “pip install ultralytics” в своей командной строке или терминале.
После успешной установки пакета Python от Ultralytics ты сможешь обучать, тестировать, дообучать, экспортировать и развертывать модели для различных задач computer vision, таких как обнаружение объектов, классификация и сегментация экземпляров. Если во время установки пакета у тебя возникнут какие-либо трудности, ты можешь обратиться к Common Issues guide за решениями и советами.
Для следующего шага тебе понадобится устройство NVIDIA. Используй фрагмент кода ниже, чтобы загрузить и экспортировать YOLO11 в формат модели TensorRT. Он загружает предобученный nano-вариант модели YOLO11 (yolo11n.pt) и экспортирует его как файл движка TensorRT (yolo11n.engine), подготавливая его к развертыванию на устройствах NVIDIA.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="engine")После преобразования твоей модели в формат TensorRT ты можешь развернуть ее для различных приложений.
В примере ниже показано, как загрузить экспортированную модель YOLO11 (yolo11n.engine) и выполнить с ней инференс. Инференс подразумевает использование обученной модели для создания предсказаний на новых данных. В этом случае мы используем входное изображение собаки, чтобы протестировать модель.
tensorrt_model = YOLO("yolo11n.engine")
results = tensorrt_model("https://images.pexels.com/photos/1254140/pexels-photo-1254140.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2.jpg", save=True)Когда ты запустишь этот код, следующее выходное изображение будет сохранено в папке runs/detect/predict.

Рис. 3. Результат запуска инференса с использованием экспортированной модели Ultralytics YOLO11 в формате TensorRT.
Когда стоит использовать интеграцию TensorRT#
Пакет Python от Ultralytics поддерживает различные интеграции, позволяющие осуществлять exporting моделей YOLO в различные форматы, такие как TorchScript, CoreML, ONNX и TensorRT. Итак, когда тебе следует выбрать интеграцию TensorRT?
Вот несколько факторов, которые выделяют формат модели TensorRT среди других вариантов integration для экспорта:
-
Меньший размер модели: Экспорт модели YOLO в формат TensorRT с точностью INT8 может значительно уменьшить размер модели. Квантование из FP32 в INT8 может привести к 4-кратному сокращению размера модели, что обеспечивает более быструю загрузку, меньшие требования к хранилищу и уменьшенное потребление памяти при развертывании.
-
Более низкое энергопотребление: Квантование INT8 не только уменьшает размер модели, но и снижает энергопотребление. Операции с пониженной точностью для моделей YOLO, экспортированных в INT8, могут потреблять меньше энергии по сравнению с моделями FP32, что особенно полезно для устройств, работающих от аккумулятора, таких как дроны, смартфоны или пограничные устройства.
-
Более высокая производительность: Сочетание эффективной архитектуры YOLO с оптимизацией INT8 в TensorRT может повысить скорость вывода.
Применение Ultralytics YOLO11 и формата модели TensorRT#
Модели Ultralytics YOLO, экспортированные в формат TensorRT, могут быть развернуты в широком спектре реальных сценариев. Эти оптимизированные модели особенно полезны там, где быстрая и эффективная работа ИИ имеет ключевое значение. Давай рассмотрим несколько интересных примеров того, как их можно использовать.
Умные кассы самообслуживания в розничных магазинах#
Широкий спектр задач в розничных магазинах, таких как сканирование штрих-кодов, взвешивание продуктов или упаковка товаров, до сих пор выполняется сотрудниками вручную. Однако полагаться только на персонал может замедлить операции и вызвать разочарование клиентов, особенно на кассе. Длинные очереди неудобны как для покупателей, так и для владельцев магазинов. Умные кассы самообслуживания — отличное решение этой проблемы.
Эти счетчики используют компьютерное зрение и GPU для ускорения процесса, помогая сократить время ожидания. Компьютерное зрение позволяет этим системам видеть и понимать свое окружение с помощью таких задач, как детекция объектов. Передовые модели, такие как Ultralytics YOLO11, при оптимизации с помощью таких инструментов, как TensorRT, могут работать значительно быстрее на устройствах с GPU.
Эти экспортированные модели отлично подходят для систем умной розничной торговли, использующих компактные, но мощные аппаратные устройства, такие как NVIDIA Jetson Nano, разработанные специально для периферийных приложений ИИ.

Fig 4. Пример умной кассы.
Автоматизированное обнаружение дефектов в производстве#
Модель компьютерного зрения, такая как Ultralytics YOLO11, может быть обучена под конкретные задачи для обнаружения дефектных изделий в производственной сфере. После обучения модель можно экспортировать в формат TensorRT для развертывания на предприятиях, оснащенных высокопроизводительными системами ИИ.
Пока продукты движутся по конвейерным лентам, камеры делают снимки, а модель Ultralytics YOLO11, работающая в формате TensorRT, анализирует их в реальном времени для обнаружения дефектов. Такая система позволяет компаниям быстро и точно выявлять проблемы, сокращая количество ошибок и повышая эффективность.
Аналогичным образом такие отрасли, как фармацевтика, используют подобные системы для выявления дефектов в медицинской упаковке. Фактически, мировой рынок умных defect detection systems вырастет до 5 миллиардов долларов к 2026 году.

Fig 5. Использование YOLO для обнаружения дефектов в фармацевтической промышленности.
Что следует учитывать при использовании TensorRT#
Хотя интеграция TensorRT дает много преимуществ, таких как более высокая скорость вывода и сниженная задержка, вот несколько ограничений, которые стоит учитывать:
-
Небольшое падение точности: Когда ты экспортируешь свою модель в формате TensorRT, твоя экспортированная модель может оказаться не столь точной, как оригинал. Performance metrics, такие как точность (precision), полнота (recall) и то, насколько хорошо модель обнаруживает объекты (оценки mAP), могут немного снизиться. Это можно смягчить, используя репрезентативный набор данных во время квантования.
-
Повышенная сложность отладки: Оптимизации, выполненные TensorRT, могут затруднить отслеживание ошибок или понимание неожиданного поведения, особенно при сравнении результатов с оригинальной моделью.
-
Чувствительность к размеру пакета: Прирост производительности TensorRT более выражен при больших размерах пакетов. Для приложений, обрабатывающих одиночные изображения или небольшие пакеты, улучшения производительности могут быть менее значительными.
Основные выводы#
Экспорт моделей Ultralytics YOLO в формат TensorRT заставляет их работать значительно быстрее и эффективнее, что делает их идеальными для задач в реальном времени, таких как обнаружение дефектов на заводах, поддержка умных кассовых систем или мониторинг оживленных городских районов.
Эта оптимизация помогает моделям лучше работать на GPU NVIDIA, ускоряя предсказания и сокращая потребление памяти и энергии. Несмотря на несколько ограничений, прирост производительности делает интеграцию TensorRT отличным выбором для любого, кто создает высокоскоростные системы компьютерного зрения на оборудовании NVIDIA.
Хочешь узнать больше об ИИ? Изучи наш GitHub repository, пообщайся с our community и ознакомься с our licensing options, чтобы ускорить свой проект в области computer vision. Узнай больше о таких инновациях, как AI in manufacturing и computer vision in the logistics в нашей отрасли на страницах решений.






