TensorRT
Исследуй, как TensorRT оптимизирует модели глубокого обучения для графических процессоров NVIDIA. Научись экспортировать Ultralytics YOLO26 в TensorRT для низкозадержного высокоскоростного вывода уже сегодня.
TensorRT — это высокопроизводительный комплект средств разработки (SDK) для глубокого обучения, созданный NVIDIA. Он предназначен для оптимизации нейронных сетей при развертывании, обеспечивая низкую задержку логического вывода и высокую пропускную способность для приложений глубокого обучения. Работая как оптимизирующий компилятор, TensorRT берет обученные сети из популярных фреймворков, таких как PyTorch и TensorFlow, и перестраивает их для эффективного выполнения на GPU NVIDIA. Эта возможность критически важна для работы сложных моделей ИИ в производственных средах, где скорость и эффективность имеют первостепенное значение.
Link to this sectionКак TensorRT оптимизирует модели#
Основная функция TensorRT заключается в преобразовании обученной нейронной сети в оптимизированный «движок», специально настроенный под целевое оборудование. Он достигает этого с помощью нескольких передовых методов:
- Слияние слоев: Оптимизатор объединяет несколько слоев нейронной сети в одно ядро, уменьшая накладные расходы на обращение к памяти и повышая скорость выполнения.
- Калибровка точности: TensorRT поддерживает режимы пониженной точности, такие как смешанная точность (FP16) и целочисленное квантование (INT8). Уменьшая количество бит, используемых для представления чисел — часто с минимальной потерей точности — разработчики могут значительно ускорить математические операции и сократить использование памяти. Это форма квантования моделей.
- Автонастройка ядер: Программное обеспечение автоматически выбирает лучшие слои данных и алгоритмы для конкретной архитектуры GPU, обеспечивая максимальное использование возможностей параллельной обработки оборудования с помощью CUDA.
Link to this sectionРеальные приложения#
Благодаря способности обрабатывать огромные объемы данных с минимальной задержкой, TensorRT широко используется в отраслях, полагающихся на компьютерное зрение и сложные задачи ИИ, где время играет критическую роль.
-
Автономные системы: В сфере ИИ в автомобильной индустрии беспилотные автомобили должны обрабатывать видеопотоки с нескольких камер, чтобы мгновенно обнаруживать пешеходов, знаки и препятствия. Используя TensorRT, модели восприятия, такие как сети для обнаружения объектов, могут анализировать кадры за миллисекунды, позволяя системе управления автомобилем принимать критически важные для безопасности решения без задержек.
-
Промышленная автоматизация: Современные фабрики используют ИИ в производстве для автоматизированного оптического контроля. Высокоскоростные камеры фиксируют изображения изделий на сборочных линиях, а оптимизированные с помощью TensorRT модели выявляют дефекты или аномалии в реальном времени. Это гарантирует, что контроль качества не отстает от высокоскоростных производственных сред, часто при развертывании на устройствах Edge AI, таких как платформа NVIDIA Jetson, непосредственно на производственной площадке.
Link to this sectionИспользование TensorRT с Ultralytics YOLO#
Интеграция TensorRT в твой рабочий процесс проста благодаря современным инструментам ИИ. Пакет ultralytics предоставляет бесшовный метод преобразования стандартных моделей PyTorch в движки TensorRT. Это позволяет пользователям использовать современную архитектуру Ultralytics YOLO26 в сочетании с аппаратным ускорением GPU NVIDIA. Для команд, желающих управлять своими наборами данных и конвейерами обучения перед экспортом, платформа 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")Link to this sectionTensorRT против ONNX против фреймворков для обучения#
Важно отличать TensorRT от других терминов, часто встречающихся в контексте развертывания моделей:
- Против PyTorch/TensorFlow: Фреймворки, такие как PyTorch, в первую очередь предназначены для обучения моделей и исследований, предлагая гибкость и простоту отладки. TensorRT — это движок вывода, разработанный исключительно для максимально быстрого выполнения уже обученных моделей. Он не используется для обучения.
- Против ONNX: Формат ONNX (Open Neural Network Exchange) выступает в качестве промежуточного моста между фреймворками. В то время как ONNX обеспечивает интероперабельность (например, перенос модели из PyTorch на другую платформу), TensorRT фокусируется на оптимизации под конкретное оборудование. Часто модель сначала преобразуется в ONNX, а затем анализируется TensorRT для создания финального движка.
Для разработчиков, стремящихся максимально повысить производительность своих агентов ИИ или систем зрения, понимание перехода от фреймворка для обучения к оптимизированной среде выполнения, такой как TensorRT, является ключевым шагом в профессиональных MLOps.






