Глоссарий

TensorRT

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

Обучай модели YOLO просто
с помощью Ultralytics HUB.

Узнай больше

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

Как работает TensorRT

TensorRT берет обученную нейронную сеть, которую часто экспортируют из таких фреймворков, как PyTorch или TensorFlowи оптимизирует ее специально для целевогоGPU NVIDIA . Основные этапы оптимизации включают в себя:

  • Оптимизация графа: Слияние слоев и устранение лишних операций для создания более эффективного вычислительного графа.
  • Калибровка точности: Уменьшение числовой точности весов модели (например, с FP32 до FP16 или INT8) с минимальным влиянием на точность, что значительно ускоряет вычисления и уменьшает расход памяти.
  • Автоматическая настройка ядра: Выбор лучших алгоритмов (ядер) из библиотек NVIDIA(cuDNN, cuBLAS) для конкретных слоев модели и целевого GPU.
  • Динамическая Tensor память: Минимизация занимаемой памяти за счет повторного использования памяти, выделенной для тензоров.

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

Актуальность для Ultralytics

TensorRT - это ключевая цель для развертывания моделей Ultralytics YOLO . Пользователи могут экспортировать свои обученные модели Ultralytics YOLO в формат TensorRT , чтобы добиться значительного ускорения на оборудовании NVIDIA , включая пограничные устройства вроде NVIDIA Jetson. Это позволяет создавать высокопроизводительные приложения в различных областях. Страницы сравнения моделей, такие как сравнениеYOLOv5 и RT-DETR , часто демонстрируют скорость выводов, достигнутую с помощью оптимизации TensorRT . Ultralytics также предоставляет руководства по интеграции с платформами NVIDIA , например, руководство DeepStream on NVIDIA Jetson.

Применение в реальном мире

TensorRT широко используется там, где важны быстрые и эффективные вычисления на оборудовании NVIDIA :

  1. Автономные транспортные средства: Самостоятельное вождение автомобилей зависит от обработки огромного количества данных с датчиков в режиме реального времени. TensorRT ускоряет модели обнаружения объектов, сегментации и планирования пути, позволяя быстро принимать решения, необходимые для обеспечения безопасности. Это основной компонент ИИ в автомобильных решениях.
  2. Видеоаналитика и умные города: Обработка множества видеопотоков высокого разрешения для таких задач, как мониторинг дорожного движения, анализ толпы или наблюдение за безопасностью, требует огромных вычислительных мощностей. TensorRT оптимизирует такие модели, как Ultralytics YOLOv8 чтобы эффективно справляться с этими сложными рабочими нагрузками на серверах или пограничных устройствах, обеспечивая работу ИИ-решений для умных городов.

TensorRT в сравнении с аналогичными терминами

  • ONNX (Open Neural Network Exchange): ONNX - это открытый формат для представления моделей глубокого обучения. Хотя TensorRT может импортировать модели из формата ONNX , сам ONNX не зависит от аппаратного обеспечения, в то время как TensorRT - это оптимизатор и среда выполнения для графических процессоров NVIDIA . Модели Ultralytics можно экспортировать в ONNX.
  • OpenVINO: Как и TensorRT, OpenVINO - это набор инструментов для оптимизации выводов, но он разработан компанией Intel и ориентирован в первую очередь на аппаратное обеспечение Intel (процессоры, iGPU, VPU). Узнай больше об интеграцииUltralytics OpenVINO .
  • PyTorch / TensorFlow: это фреймворки глубокого обучения, используемые в основном для обучения моделей. TensorRT оптимизирует модели после их обучения с помощью этих фреймворков, подготавливая их к эффективному развертыванию модели.
Читать полностью