0%

TensorRT 部署实践

1. TensorRT Engine转换

image-20220407191446932

总体上有这三条路线可以将其他框架的模型转换为TRT Engine。

image-20220407191744609

也有一些通过C++直接调用TensorRT API来直接定义相关网络模型,例如tesorrtx, 这样操作可以精确的控制每个layer的细节和权重,对不支持的算子可以灵活自定义。Yolov5也官方引用了这个repo,所以这个repo还是很厉害的,构建了众多通用的网络模型。

image-20220407192032866

也有通过python对每个算子写Converter, 反射Module.forward捕获输入输出和网络图结构,torch2trt主要是将pytorch的算子做converter,为每个算子的forward反射到自定义函数中,当实现新算子时,需要自己实现对应的converter。

image-20220407192818228

repo3包含了repo1和repo2的优点,集成了众多工业级的算法,例如YoLoV5, YoLoX,RetinaFace,DeepSORT。

image-20220407193437487

image-20220407193454662