Glossário

TensorRT

Optimiza os modelos de aprendizagem profunda com TensorRT para uma inferência mais rápida e eficiente nas GPUs NVIDIA . Obtém desempenho em tempo real com YOLO e aplicações de IA.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

TensorRT é um optimizador de inferência de aprendizagem profunda de alto desempenho e uma biblioteca de tempo de execução desenvolvida pela NVIDIA. Acelera os modelos de aprendizagem profunda nasunidades de processamento gráfico (GPUs) NVIDIA aplicando várias técnicas de otimização. O principal objetivo do TensorRT é obter a menor latência de inferência possível e a maior taxa de transferência para modelos implantados em ambientes de produção, tornando-o crucial para aplicativos de inferência em tempo real.

Como funciona o TensorRT

TensorRT utiliza uma rede neural treinada, frequentemente exportada de estruturas como PyTorch ou TensorFlowe otimiza-a especificamente para aGPU NVIDIA de destino. As principais etapas de otimização incluem:

  • Otimização de gráficos: Fusão de camadas e eliminação de operações redundantes para criar um gráfico de computação mais eficiente.
  • Calibração de precisão: Reduz a precisão numérica dos pesos do modelo (por exemplo, de FP32 para FP16 ou INT8) com um impacto mínimo na precisão, o que acelera significativamente os cálculos e reduz a utilização de memória.
  • Auto-ajuste do kernel: Seleciona os melhores algoritmos pré-implementados (kernels) das bibliotecas da NVIDIA(cuDNN, cuBLAS) para as camadas específicas do modelo e GPU de destino.
  • Memória Tensor Dinâmica: Minimiza o espaço de memória reutilizando a memória alocada para tensores.

Estas optimizações resultam num motor de inferência em tempo de execução altamente eficiente, adaptado ao modelo e hardware específicos.

Relevância para a Ultralytics

TensorRT é um alvo de implementação fundamental para os modelosYOLO Ultralytics . Os utilizadores podem exportar os seus modelos Ultralytics YOLO treinados para o formato TensorRT para obterem aumentos de velocidade significativos no hardware NVIDIA , incluindo dispositivos de ponta como o NVIDIA Jetson. Isto permite aplicações de elevado desempenho em vários campos. As páginas de comparação de modelos, como a comparaçãoYOLOv5 vs RT-DETR , apresentam frequentemente velocidades de inferência obtidas com a otimização TensorRT . Ultralytics também fornece guias para integração com plataformas NVIDIA , como o guia DeepStream no NVIDIA Jetson.

Aplicações no mundo real

TensorRT é amplamente utilizado quando a inferência rápida e eficiente no hardware NVIDIA é fundamental:

  1. Veículos autónomos: Os carros autónomos dependem do processamento de grandes quantidades de dados de sensores em tempo real. TensorRT acelera os modelos de deteção de objectos, segmentação e planeamento de caminhos, permitindo uma tomada de decisão rápida essencial para a segurança. Este é um componente essencial da IA em soluções automóveis.
  2. Análise de vídeo e cidades inteligentes: O processamento de vários fluxos de vídeo de alta resolução para tarefas como a monitorização do tráfego, a análise de multidões ou a vigilância de segurança requer um imenso poder computacional. TensorRT optimiza modelos como o Ultralytics YOLOv8 para lidar com essas cargas de trabalho exigentes de forma eficiente em servidores ou dispositivos de borda, alimentando soluções de IA para cidades inteligentes.

TensorRT vs. Termos semelhantes

  • ONNX (Open Neural Network Exchange): ONNX é um formato aberto para representar modelos de aprendizagem profunda. Embora TensorRT possa importar modelos do formato ONNX , ONNX próprio ONNX é independente do hardware, enquanto TensorRT é especificamente um optimizador e tempo de execução para GPUs NVIDIA . Os modelos Ultralytics podem ser exportados para ONNX.
  • OpenVINO: Semelhante ao TensorRT, OpenVINO é um kit de ferramentas de otimização de inferência, mas é desenvolvido pela Intel e destina-se principalmente a hardware Intel (CPUs, iGPUs, VPUs). Saiba mais sobre a integraçãoUltralytics OpenVINO .
  • PyTorch / TensorFlow: Estas são estruturas de aprendizagem profunda utilizadas principalmente para modelos de treino. TensorRT optimiza os modelos depois de terem sido treinados com estas estruturas, preparando-os para uma implementação eficiente do modelo.
Lê tudo