TensorRT学习大纲(施工中)

比较完全版的学习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

(0)
联系我们
联系我们
分享本页
返回顶部