比较完全版的学习TensorRT的路线,施工中,先列出来,会参考收集网上的优秀资料以及老潘自己写的文章,之后会不断更新哈。
博客更新地址:https://oldpan.me/space/deploy/docs/Deploy
github地址:https://github.com/Oldpan/DeployIsAllYouNeed
顺便自己也学习了~
之后老潘的各种关于部署的文章也会总结在那里,攒够量了就会更新。同时也会将一些常用的部署相关的代码放里头。公众号的发文一般都是整理好了才会发(整理比较慢),之后一些草稿也会先放到这里~
以下是TensorRT的学习大纲(施工中,不定时更新),我之前写过的一些TensorRT文章也会整合到这里:
1 什么是TensorRT
1.1 TensorRT介绍
- TensorRT干啥的,能做什么
- TensorRT与训练框架(Pytorch、TensorFlow)以及推理引擎(onnxruntime、openvino)的比较
- 学习TensorRT提前要会什么
- 什么人应该学TensorRT
1.2 基本概念和使用方式
- 支持模型、数据类型、支持的IO、支持的功能
- TensorRT中context、engine、builder概念
- 环境搭建、运行环境
1.3 工作流程
- python端API
- C++端API
- 简单的demo
2 TensorRT完整流程
2.1 ONNX转TensorRT
- parser方式转换模型
- onnx2trt简单分析
- graphsurgeon修改onnx网络
- 一些注意点
2.2 框架内使用tensorrt
- torch_tensorrt介绍、使用
- torch_tensorrt源码解析
3 TensorRT进阶
3.1 如何debug
- 精度问题debug(nan、精度不匹配)
- 网络可视化(netron、trt-explorer)
- polygraphy(TensorRT官方提供的非常好的工具)
3.2 API搭建网络
- API搭建网络基本方式、权重提取,这部分强烈建议看TensorRTx
- explicit batch vs implicit batch
3.3 自定义插件plugin
- 如何写自定义plugin、Plugin中关键的API与注意点
- 自定义插件示例、集成plugin到trt中、参与trt序列化
- plugin的生命周期、资源管理
- dynamic-shape-plugin
- Plugin的FP16和INT8
3.4 常见疑难杂症
- 各种log中的报错
4 TensorRT最佳使用指南
4.1 如何正确使用trtexec
- trtexec基本用法
- 动态尺度、设置optimization profile以及注意点(min-opt-max)
- trtexec源码解析
4.2 提升性能
- 多steam(重叠计算和数据拷贝的时间,增加GPU利用率)
- 多context(多线程推理)
- 多optimization profile
- CUDA Graph(减少kernel launch时间)
- Timing Cache(减少build时间)
- Algorithm Selector
4.3 TensorRT转换相关
- 某些Layer选择的算法导致误差大,屏蔽掉该选择 tactic Source
- 更新权重refit功能(强化学习用的多)
- 构建期/运行期显存占用大(调整参数以及策略)
5 TensorRT量化
TensorRT-FP16
- fp16精度设置与使用
- fp16常见问题
TensorRT-INT8
- int8使用
- PTQ校准集
- QAT量化
混合精度
- fp32和fp16
- fp16和int8
6 TensorRT拓展
6.1 TensorRT转换的几种方式
- torch2trt
- torchscript2trt
- fx2trt
7 TensorRT实战
6.1 检测模型转换
- SSD模型转TensorRT dynamic-shape
- 带有自定义DCN-OP的CenterNet转TensorRT
6.2 识别、分割、nlp类模型
- stable diffusion
- GPT
6.3 TensorRT+triton-inference-server线上/线下部署
- 基本部署教程
- 大规模TensorRT模型部署、多卡、模型调度
相关参考
- https://github.com/NVIDIA/trt-samples-for-hackathon-cn
- https://docs.nvidia.com/deeplearning/tensorrt/developer-guide/index.html#overview
声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/202695.html