TensorRT
Исследуй, как TensorRT оптимизирует модели глубокого обучения для графических процессоров NVIDIA. Научись экспортировать Ultralytics YOLO26 в TensorRT для низкозадержного высокоскоростного вывода уже сегодня.
TensorRT — это высокопроизводительный комплект средств разработки программного обеспечения (SDK) для глубокого обучения, созданный компанией NVIDIA. Он предназначен для оптимизации моделей нейронных сетей при развертывании, обеспечивая низкую задержку вывода и высокую пропускную способность для приложений глубокого обучения. Выступая в качестве оптимизирующего компилятора, TensorRT берет обученные сети из популярных фреймворков, таких как PyTorch и TensorFlow, и перестраивает их для эффективного выполнения на GPU от NVIDIA. Эта возможность имеет решающее значение для запуска сложных моделей ИИ в производственных средах, где скорость и эффективность превыше всего.
Как TensorRT оптимизирует модели#
Основная функция TensorRT заключается в преобразовании обученной нейронной сети в оптимизированный «движок», специально настроенный под целевое оборудование. Он достигает этого с помощью нескольких передовых методов:
- Слияние слоев: Оптимизатор объединяет несколько слоев нейронной сети в одно ядро, уменьшая накладные расходы на доступ к памяти и повышая скорость выполнения.
- Калибровка точности: TensorRT поддерживает режимы пониженной точности, такие как смешанная точность (FP16) и целочисленное квантование (INT8). Сокращая количество бит, используемых для представления чисел, зачастую с минимальной потерь точности, разработчики могут значительно ускорить математические операции и уменьшить использование памяти. Это форма квантования моделей.
- Автоматическая настройка ядер: Программа автоматически выбирает лучшие слои данных и алгоритмы для используемой конкретной архитектуры GPU, обеспечивая максимальное использование возможностей параллельной обработки оборудования с помощью CUDA.
Реальные приложения#
Благодаря своей способности обрабатывать массивные объемы данных с минимальной задержкой, TensorRT широко применяется в отраслях, полагающихся на компьютерное зрение и сложные задачи ИИ, где критически важна скорость.
-
Автономные системы: В сфере ИИ в автомобилестроении самоуправляемые автомобили должны мгновенно обрабатывать видеопотоки с нескольких камер для обнаружения пешеходов, знаков и препятствий. Используя TensorRT, модели восприятия, такие как сети обнаружения объектов, могут анализировать кадры за миллисекунды, позволяя системе управления автомобиля принимать критически важные для безопасности решения без задержек.
-
Промышленная автоматизация: Современные фабрики используют ИИ в производстве для автоматического оптического контроля. Высокоскоростные камеры фиксируют изображения продуктов на сборочных линиях, а оптимизированные с помощью TensorRT модели выявляют дефекты или аномалии в реальном времени. Это гарантирует, что контроль качества не отстает от высокоскоростных производственных сред, часто развертываясь на устройствах периферийного ИИ, таких как платформа NVIDIA Jetson, прямо в цеху завода.
Использование TensorRT с Ultralytics YOLO#
Интеграция TensorRT в твой рабочий процесс проста благодаря современным инструментам ИИ. Пакет ultralytics предоставляет простой способ конвертировать стандартные модели PyTorch в движки TensorRT. Это позволяет пользователям задействовать передовую архитектуру Ultralytics YOLO26 с аппаратным ускорением GPU от NVIDIA. Для команд, стремящихся управлять своими наборами данных и конвейерами обучения перед экспортом, платформа Ultralytics предлагает комплексную среду для подготовки моделей к такому высокопроизводительному развертыванию.
Следующий пример демонстрирует, как экспортировать модель Ultralytics YOLO26 в файл движка TensorRT (.engine) и использовать её для инференса в реальном времени:
from ultralytics import YOLO
# Load the latest stable YOLO26 model (nano size)
model = YOLO("yolo26n.pt")
# Export the model to TensorRT format (creates 'yolo26n.engine')
# This step optimizes the computational graph for your specific GPU
model.export(format="engine")
# Load the optimized TensorRT engine for high-speed inference
trt_model = YOLO("yolo26n.engine")
# Run inference on an image source
results = trt_model("https://ultralytics.com/images/bus.jpg")TensorRT против ONNX против фреймворков для обучения#
Важно отличать TensorRT от других терминов, часто встречающихся в сфере развертывания моделей:
- Против PyTorch/TensorFlow: Фреймворки, такие как PyTorch, в первую очередь предназначены для обучения моделей и исследований, предлагая гибкость и простоту отладки. TensorRT — это движок вывода, разработанный исключительно для максимально быстрого выполнения уже обученных моделей. Он не используется для обучения.
- По сравнению с ONNX: Формат ONNX (Open Neural Network Exchange) служит промежуточным мостом между фреймворками. В то время как ONNX обеспечивает совместимость (например, перенос модели из PyTorch на другую платформу), TensorRT фокусируется на аппаратно-специфичной оптимизации. Зачастую модель сначала конвертируется в ONNX, а затем парсится TensorRT для создания финального движка.
Для разработчиков, стремящихся максимизировать производительность своих агентов ИИ или систем зрения, понимание перехода от обучающего фреймворка к оптимизированной среде выполнения вроде TensorRT является ключевым шагом в профессиональном MLOps.






