PyTorch → TensorRT
🎯 全流程实战
30章
1
PyTorch模型导出基础
TorchScript
JIT trace与script的区别,导出第一个TorchScript模型
2
ONNX中间表示
标准流程
ONNX由来与优势,PyTorch转ONNX标准流程
3
ONNX算子兼容性
映射
常见PyTorch算子→ONNX映射,不兼容算子处理
4
ONNX模型调试
Netron
使用Netron可视化ONNX,检查图结构
5
ONNX简化与优化
onnx-simplifier
去除冗余节点,简化模型
6
TensorRT环境搭建
CUDA/cuDNN
版本匹配与安装,环境检查
7
TensorRT核心概念
Engine/Builder
Engine、Builder、Network、ExecutionContext
8
ONNX转TensorRT Engine
trtexec
使用trtexec命令行工具完成转换
9
Python API构建Engine
代码转换
用Python实现ONNX→Engine
10
动态形状支持
动态batch
动态宽高,处理可变输入尺寸
11
FP16与INT8量化
混合精度
精度与速度权衡,自动混合精度
12
INT8校准流程
校准器
校准数据集、校准器选择、过程详解
13
TensorRT推理引擎
同步/异步
创建ExecutionContext,执行推理
14
内存管理
bindings
显存分配释放,IExecutionContext bindings
15
多流推理
CUDA Stream
并发推理,提升吞吐量
16
插件开发入门
Plugin接口
为什么需要插件,TensorRT Plugin介绍
17
自定义插件实现
激活函数
编写自定义算子插件
18
插件注册与使用
编译集成
编译自定义插件并集成到TensorRT
19
模型序列化与反序列化
.plan
保存Engine为plan文件,加载推理
20
TensorRT Profiling
Nsight Systems
分析推理性能瓶颈
21
Layer级性能分析
Verbose
定位慢算子
22
图优化技巧
层融合
常量折叠、算子消除等
23
常见部署问题排查
精度/显存
精度下降、速度不达标、显存溢出
24
PyTorch联合调试
对比输出
对比PyTorch与TensorRT输出,定位精度损失
25
多模型部署
共享显存
同时加载多个Engine,共享CUDA上下文
26
Docker部署
环境一致性
构建TensorRT Docker镜像
27
Triton Inference Server
集成
使用Triton管理TensorRT模型
28
边缘端部署
Jetson
在Jetson设备上优化资源
29
TensorRT 10新特性
新API
新算子支持、性能提升概览
30
端到端实战项目
YOLOv8
从PyTorch训练到TensorRT部署完整流程