返回案例页
引擎构建复演

TensorRT 推理优化

把训练好的模型部署到边缘:ONNX → TensorRT 引擎构建 → 层/张量融合(Conv+BN+ReLU 塌缩成单个 CBR kernel) → INT8/FP16 PTQ 校准 → 自定义 NMS Plugin(IPluginV2) → SSD 目标检测推理。补全作品集缺的 senior MLSys 拼图。

复演 TensorRT Builder 把 ONNX 模型编译成推理引擎:原始 Conv→BN→ReLU 链塌缩成单个 CBR kernel(层融合)→ INT8 PTQ 校准 → 自定义 NMS Plugin 插入计算图 → 前后延迟对比收尾。

TensorRTINT8Layer FusionCUDA PluginONNX
TensorRT 推理优化

本地版本说明

这是 TensorRT 公开文档标准行为的复演,不真跑引擎构建、不调 GPU。来源贪心课程是 video-only(133 个 MP4,无代码 / 课件 / 字幕),所以技术细节基于 TensorRT 文档(课程确认在教这些),不是搬课程代码。延迟数字标注为示意——课程未给任何基准,没有数字被当作实测呈现。

交互预览

TensorRT 引擎构建(ONNX → SSD 推理)

复演 Builder 把 ONNX 模型编译成推理引擎的过程:层/张量融合把 Conv+BN+ReLU 塌缩成单个 CBR kernel,INT8 PTQ 校准,再把自定义 NMS Plugin 插进图里。延迟数字为示意。

计算图(ONNX 原始)

Conv
BN
ReLU
Conv
BN
ReLU
Conv
BN
ReLU
NMS(待插入)
SSD 检测头

融合让 kernel launch 数量从 9 降到 3 · auto-tuning 选最快 kernel

1. 解析 ONNX → TensorRT 计算图

2. 层/张量融合:Conv+BN+ReLU → CBR

3. INT8 PTQ 校准(FP32 → INT8)

4. NMS 自定义 Plugin(IPluginV2DynamicExt)

5. 引擎构建完成 → 前后延迟对比

builder.build_serialized_network(network, config) → engine.plan

建议体验

构建引擎,看最有看头的一步:三条 Conv→BN→ReLU 链可见地合并成单个 CBR kernel(kernel launch 9 → 3)。

看 INT8 PTQ 校准给每个融合节点打标,再看自定义 NMS Plugin 作为独立节点插进计算图。

读前后延迟对比条——标注为示意,因为 video-only 课程没给任何基准。

这个试玩能说明什么

你能把模型部署到边缘——把训练好的模型编译成低延迟推理引擎,而不只是训出来。

你懂图编译器:层融合、kernel auto-tuning、算子可分解 / 不可分解的边界。

你能对着生产级推理运行时写自定义 C++/CUDA 算子(IPluginV2 NMS plugin),并能权衡 INT8 量化得失——这是作品集缺的 senior MLSys 信号。

完整管线

ONNX → TensorRT 引擎构建 → 融合 → INT8 PTQ → NMS Plugin → SSD 推理

自定义算子

NMS 写成 IPluginV2 / IPluginV2DynamicExt CUDA plugin

最强信号

图编译器 + 量化 + 自定义 CUDA 算子——边缘部署