Melody-Zhou/tensorRT_Pro-Vision
This repository is forked from shouxieai/tensorRT_Pro, extending it to support a wide range of vision models with high-performance TensorRT C++ inference.
解决的问题
在 NVIDIA GPU 上部署多个视觉模型通常意味着需要为每个任务维护单独的项目,且 CPU 与 GPU 之间的数据传输会降低性能。该框架通过将 20 多种任务(检测、分类、分割、姿态、旋转框、深度、OCR、车道检测、多目标跟踪)集成到一个 C++ 可执行文件中,并让所有预处理和后处理都在 GPU 上运行,从而解决了这些问题。
工作原理
该项目基于 TensorRT C++ API 构建。所有模型共享一个异步推理框架;唯一的区别在于预处理和后处理。你只需将模型导出为 ONNX(支持动态 Batch),放入工作区文件夹,然后从工作区运行 ./pro
适用人群
需要以低延迟和高吞吐量在 NVIDIA GPU 上部署视觉模型的 C++ 开发人员和工程师,特别是当产品包含多种不同视觉任务时。你需要熟悉 CUDA、TensorRT 以及修改 Makefile 或 CMake 路径。对于希望从单一代码库快速基准测试或发布 YOLO 变体、OCR、车道检测、深度估计等功能的研究人员也非常有用。
亮点
- 20+ 模型,单一可执行文件:通过名称切换任务,无需为每个任务维护项目。
- 全 GPU 流水线:缩放、归一化、解码、NMS 和深度缩放均为 CUDA 核函数,避免了 CPU 与 GPU 之间的数据往返。
- TensorRT 8.x/10.x 自适应:条件编译支持两种 API 版本,无需 protobuf。
- 动态 Batch 和三种精度:支持 FP32、FP16、INT8,内置 Entropy 和 MinMax 校准器。
- 模块化扩展:添加任务仅需 preprocess()、worker() 和一个后处理核函数。
- 广泛的任务覆盖:检测(YOLOv3–v13, v26, DETR)、分类、分割、姿态、OBB、深度、OCR、车道线和 ByteTrack 跟踪。
相关
- 项目
- 项目
- 项目
- 项目