TensorRT 快速入门
一、TensorRT 基本工作流
1、导出Model(TensorRT模型转换)
1)3种方法可用于生成TensorRT引擎:TF-TRT、ONNX交换格式、自定义
2)导出ONNX交换格式:
(1)从TensorFlow导出ONNX交换格式
(2)从PyTorch导出ONNX交换格式
2、选择batch大小
1)在导出到ONNX过程中设置batch大小
2)支持动态shape,可以处理动态处理batch大小
3)优先考虑延迟(latency)时,选择较小的batch;优先考虑吞吐量(throughput)时,选择较大的batch。
3、选择精度
1)较低的精度可以更快的计算和花费更少的内存消耗,支持TF32、FP32、FP16、INT8
2)通常推理时比训练时精度要求更低
4、转换模型
1)有几种工具可以将模型从ONNX转换到TensorRT引擎
2)通常采用trtexec -a命令行工具
trtexec --onnx=resnet50/model.onnx --saveEngine=resnet_engine.trt
5、应用模型
1)有两种类型的TensorRT运行时:绑定c++和python的独立运行时、TensorFlow的原生集成
2)独立运行时简化包装器(ONNXClassifierWrapper)