动态批处理·TensorRT
📚 30章 完全攻略
v1.0
01
TensorRT概述
什么是TensorRT · AI推理角色 · 核心优势
02
动态批处理概念
动态批处理定义 · 必要性 · 静态 vs 动态
03
TensorRT环境搭建
CUDA/cuDNN版本 · 安装方式 · 验证安装
04
ONNX基础
ONNX格式 · PyTorch导出 · opset版本
05
模型转换入门
trtexec工具 · 常用参数 · 转换示例
06
Python API基础
导入TensorRT · Builder/Network · 解析ONNX
07
构建Engine
Config配置 · 工作空间 · 序列化/反序列化
08
动态Shape原理
为什么动态Shape · Profile概念 · Binding关系
09
定义动态输入
设置动态维度 · -1表示动态 · 多动态维度
10
优化Profile配置
OptimizationProfile · kMIN/kOPT/kMAX · 多Profile
11
动态批处理实战(一)
构建动态Batch Engine · ONNX→Engine流程
12
动态批处理实战(二)
Python推理 · 动态Batch输入 · 输出解析
13
动态批处理实战(三)
C++推理 · C++/Python差异 · 性能对比
14
内存管理
显存分配 · 动态Batch峰值 · Pooling优化
15
性能调优(一)
最优kOPT · Batch Size与吞吐 · 延迟权衡
16
性能调优(二)
多Stream并行 · CUDA Graph · 异步推理
17
动态Shape与Transformer
动态Batch处理 · Attention Mask · 序列长度动态
18
动态Shape与CNN
动态输入尺寸 · Resize兼容 · 全连接适配
19
插件开发(一)
为什么自定义插件 · 接口介绍 · 简单ReLU
20
插件开发(二)
插件动态Shape · getOutputDimensions · enqueue
21
插件开发(三)
注册与序列化 · Network中使用 · 调试
22
INT8量化与动态Batch
INT8原理 · 动态Batch校准 · 精度损失避免
23
多Profile实战
何时多Profile · 配置方法 · 切换开销
24
动态Batch与模型部署
Triton集成 · gRPC/HTTP · 生产注意事项
25
常见问题(一)
动态Shape不支持操作 · 算子兼容性 · 回退
26
常见问题(二)
显存不足 · Engine构建失败 · 结果调试
27
性能分析工具
Nsight Systems · TensorRT Profiling · 瓶颈定位
28
高级技巧
动态Batch+模型并行 · 流水线并行 · 大规模策略
29
案例实战(一)
图像分类动态Batch部署 · ResNet-50
30
案例实战(二)
目标检测动态Batch部署 · YOLOv8