Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
This repository is forked from shouxieai/tensorRT_Pro, extending it to support a wide range of vision models with high-performance TensorRT C++ inference.
| Date | Stars |
|---|---|
| 2026-07-24 | 412 |
| 2026-07-25 | 412 |
| 2026-07-28 | 412 |
| 2026-07-30 | 412 |
| 2026-08-06 | 412 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
<div align="center">
<img src="./assets/banner.jpg" alt="tensorRT_Pro-Vision Tasks">
</div>
## 简介
**tensorRT_Pro-Vision** 是一个基于 TensorRT C++ API 的高性能计算机视觉推理框架,支持 20+ 主流视觉模型的一键部署。该仓库从 [shouxieai/tensorRT_Pro](https://github.com/shouxieai/tensorRT_Pro) fork 而来,经过大幅重构和扩展。
目前已支持 **检测、分类、实例分割、语义分割、姿态估计、旋转框检测 (OBB)、深度估计、文字识别 (OCR)、车道线检测、多目标跟踪** 等多项视觉任务的端到端 GPU 推理。🚀🚀🚀
**核心特性:**
- 基于 TensorRT C++ API,支持 **TensorRT 8.x / 10.x** 版本自适应编译(通过 `NV_TENSORRT_MAJOR` 宏自动适配 API 差异)
- 使用 TensorRT 官方 ONNX 解析器 (`libnvonnxparser.so`),无需 protobuf 依赖
- 预处理、后处理、NMS 全部 GPU 加速(CUDA Kernel 实现)
- 支持 FP32 / FP16 / INT8 三种推理精度,内置 Entropy 和 MinMax 校准器
- 支持动态 Batch,最大 batch size 可在编译时配置
- 代码结构清晰,各模型任务独立模块化,易于扩展
## ✨ What's New
- **2026/6/26 重构**
- **TensorRT 10.x 全面支持**:通过 `NV_TENSORRT_MAJOR` 宏实现 TRT 8.x / 10.x 双版本自适应编译,API 差异由 `#if NV_TENSORRT_MAJOR >= 10` 条件编译自动处理
- **移除 vendored ONNX 解析器**:不再维护自定义的 onnx-tensorrt 解析器(~15,000 行代码),统一使用 TensorRT 官方 `libnvonnxparser.so`,大幅简化代码库
- **移除 protobuf 依赖**:不再需要单独安装 protobuf 3.11.4,构建更加简单
- **修复 `getMaxBatchSize()` 警告**:显式 batch 模式下使用 `getProfileDimensions` / `getProfileShape` 正确获取最大 batch size
- **仓库重命名**:`tensorRT_Pro-YOLOv8` → **`tensorRT_Pro-Vision`**,体现多任务视觉推理的定位
- **全新 Banner**:9 宫格任务全景图,直观展示所有支持的视觉任务
> 📜 **完整历史更新记录**(2023-2026)请查看 [v1.0.0 README](https://github.com/Melody-Zhou/tensorRT_Pro-YOLOv8/blob/v1.0.0/README.md),其中包含 CSDN 文章同步讲解链接。
## 环境配置
该项目依赖于 CUDA、cuDNN、TensorRT、OpenCV 库,请在 **Makefile** 或 **CMakeLists.txt** 中手动指定路径配置。
| 依赖 | TensorRT 8.x 推荐 | TensorRT 10.x 推荐 |
|---|---|---|
| CUDA | >= 10.2 | >= 12.0 |
| cuDNN | >= 8.x | >= 9.x |
| TensorRT | >= 8.4 | >= 10.0 |
| OpenCV | >= 4.x | >= 4.x |
**克隆项目:**
```shell
git clone https://github.com/Melody-Zhou/tensorRT_Pro-Vision.git
```
<details>
<summary>Makefile 编译</summary>
1. 修改 Makefile 中的库文件路径:
```makefile
# ===== TensorRT 8.x =====
lean_tensor_rt := /opt/TensorRT-8.6.1.6
lean_cudnn := /home/zhouwenguang/lean/cudnn-8.5.0.96
lean_cuda := /usr/local/cuda-11.4
lean_opencv := /home/zhouwenguang/lean/opencv-4.6.0
# ===== 或者 TensorRT 10.x =====
# lean_tensor_rt := /home/zhouwenguang/lean/TensorRT-10.16.1
# lean_cudnn := /home/zhouwenguang/lean/cudnn-9.18.0
# lean_cuda := /usr/local/cuda-12.8
# lean_opencv := /home/zhouwenguang/lean/opencv-4.6.0
```
2. 编译:
```shell
make -j$(nproc)
```
</details>
<details>
<summary>CMakeLists.txt 编译</summary>
1. 修改 CMakeLists.txt 中的库文件路径
2. 编译:
```shell
mkdir build && cd build
cmake .. && make -j$(nproc)
```
</details>
## 各项任务支持
<details>
<summary>YOLOv3支持</summary>
1. 下载 YOLOv3
```shell
git clone https://github.com/ultralytics/yolov3.git
```
2. 修改代码, 保证动态 batch
```python
# ========== export.py ==========
# yolov3/export.py第160行
# output_names = ['output0', 'output1'] if isinstance(model, SegmentationModel) else ['output0']
# if dynamic:
# dynamic = {'images': {0: 'batch', 2: 'height', 3: 'width'}} # shape(1,3,640,640)
# if isinstance(model, SegmentationModel):
# dynamic['output0'] = {0: 'batch', 1: 'anchors'} # shape(1,25200,85)
# dynamic['output1'] = {0: 'batch', 2: 'mask_height', 3: 'mask_width'} # shape(1,32,160,160)
# elif isinstance(model, DetectionModel):
# dynamic['output0'] = {0: 'batch', 1: 'anchors'} # shape(1,25200,85)
# 修改为:
output_names = ['output0', 'output1'] if isinstance(model, SegmentationModel) else ['output']
if dynamic:
dynamic = {'images': {0: 'batch'}} # shape(1,3,640,640)
if isinstance(model, SegmentationModel):
dynamic['output0'] = {0: 'batch', 1: 'anchors'} # shape(1,25200,85)
dynamic['output1'] = {0: 'batch', 2: 'mask_height', 3: 'mask_width'} # shape(1,32,160,160)
elif isinstance(model, DetectionModel):
dynamic['output'] = {0: 'batch'} # shape(1,25200,85)
```
3. 导出 onnx 模型
```shell
cd yolov3
python export.py --weights=yolov3.pt --dynamic --simplify --include=onnx --opset=11
```
4. 复制模型并执行
```shell
cp yolov3/yolov3.onnx tensorRT_Pro-Excerpt of 93,069 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:fd80196c4ca97914, topic:tensorrt