推理Benchmark

April 19, 2021 · View on GitHub

一、环境准备

  • 1、测试环境:
    • CUDA 10.1
    • CUDNN 7.6
    • TensorRT-6.0.1
    • PaddlePaddle v2.0.1
    • GPU分别为: Tesla V100和GTX 1080Ti和Jetson AGX Xavier
  • 2、测试方式:
    • 为了方便比较不同模型的推理速度,输入采用同样大小的图片,为 3x640x640,采用 demo/000000014439_640x640.jpg 图片。
    • Batch Size=1
    • 去掉前100轮warmup时间,测试100轮的平均时间,单位ms/image,包括网络计算时间、数据拷贝至CPU的时间。
    • 采用Fluid C++预测引擎: 包含Fluid C++预测、Fluid-TensorRT预测,下面同时测试了Float32 (FP32) 和Float16 (FP16)的推理速度。

注意: TensorRT中固定尺寸和动态尺寸区别请参考文档TENSOR教程。由于固定尺寸下对两阶段模型支持不完善,所以faster rcnn模型采用动态尺寸测试。固定尺寸和动态尺寸支持融合的OP不完全一样,因此同一个模型在固定尺寸和动态尺寸下测试的性能可能会有一点差异。

二、推理速度

1、Linux系统

(1)Tesla V100

模型backbone是否固定尺寸入网尺寸paddle_inferencetrt_fp32trt_fp16
Faster RCNN FPNResNet50640x64027.9926.1521.92
Faster RCNN FPNResNet50800x131232.4925.5421.70
YOLOv3Mobilenet_v1608x6089.748.616.28
YOLOv3Darknet53608x60817.8415.439.86
PPYOLOResNet50608x60820.7718.4013.53
SSDMobilenet_v1300x3005.174.434.29
TTFNetDarknet53512x51210.148.715.55
FCOSResNet50640x64035.4735.0234.24

(2)Jetson AGX Xavier

模型backbone是否固定尺寸入网尺寸paddle_inferencetrt_fp32trt_fp16
Faster RCNN FPNResNet50640x640169.45158.92119.25
Faster RCNN FPNResNet50800x1312228.07156.39117.03
YOLOv3Mobilenet_v1608x60848.7643.8318.41
YOLOv3Darknet53608x608121.61110.3042.38
PPYOLOResNet50608x608111.8099.4048.05
SSDMobilenet_v1300x30010.528.848.77
TTFNetDarknet53512x51273.7764.0331.46
FCOSResNet50640x640217.11214.38205.78

2、Windows系统

(1)GTX 1080Ti

模型backbone是否固定尺寸入网尺寸paddle_inferencetrt_fp32trt_fp16
Faster RCNN FPNResNet50640x64050.7457.1762.08
Faster RCNN FPNResNet50800x131250.3157.6162.05
YOLOv3Mobilenet_v1608x60814.5111.2311.13
YOLOv3Darknet53608x60830.2623.9224.02
PPYOLOResNet50608x60838.0631.4031.94
SSDMobilenet_v1300x30016.4713.8713.76
TTFNetDarknet53512x51221.8317.1417.09
FCOSResNet50640x64071.8869.9369.52