pytorch 38 对tensorRT、openvino、onnxruntime推理速度进行对比

tensorRT与openvino部署模型有必要么?本博文对tensorRT、openvino、onnxruntime推理速度进行对比,分别在vgg16、resnet50、efficientnet_b1和cspdarknet53四个模型进行进行实验,对于openvino和onnxruntime还进行了cpu下的推理对比。通过实验得出:openvino GPU < onnxruntime CPU << openvino CPU < onnxruntime GPU <= tensorRT GPU。
得出结论:
1、在cpu上因该使用openvino部署,加速效果明显。
2、在gpu上可以适当考虑tensorRT部署,有一定加速效果(对于计算密集的模型加速效果明显);考虑到工程便捷性,更因使用onnxruntime部署。

同时本实验重点分析tensorRT GPU与onnxruntime GPU下的执行时间差异。发现在计算密集型的vgg上tensorRT加速明显,而在resnet50上加速效果轻微,efficientnet_b1上更次之、cspdarknet53上两种时间近乎相等。可以发现,在对于设计较为合理的模型(对内存传输成本做过优化的模型),tensorRT加速效果并不明显。可以得出结论:模型结构优化与内存传输优化压榨了推理框架的优化空间,使各种加速框架能做的优化有限。

1、初始化模型

基于timm库导出vgg16、resnet50、efficientnet_b1、cspdarknet53四个模型为onnx
timm库的更多使用可以参考 https://blog.csdn.net/a486259/article/details/123525448
注:本来计划测试convit_baseÿ

你可能感兴趣的:(pytorch工程实践,python,深度学习)