# PaddleSeg 分割模型预测Benchmark ## 测试软件环境 - CUDA 9.0 - CUDNN 7.6 - TensorRT-5.1.5 - PaddlePaddle v1.6.1 - Ubuntu 16.04 - GPU: Tesla V100 - CPU:Intel(R) Xeon(R) Gold 6148 CPU @ 2.40GHz ## 推理速度测试数据 **说明**: `OP优化模型`指的是`PaddleSeg 0.3.0`版以后导出的新版模型,把图像的预处理和后处理部分放入 GPU 中进行加速,提高性能。每个模型包含了三种`eval_crop_size`:`192x192`/`512x512`/`768x768`。

模型

原始模型      (单位 ms/image)

OP 优化模型    (单位 ms/image)

Fluid

Fluid-TRT FP32

Fluid-TRT FP16

Fluid

Fluid-TRT FP32

Fluid-TRT FP16

deeplabv3p_mobilenetv2-1-0_bn_192x192

4.717

3.085

2.607

3.705

2.09

1.775

deeplabv3p_mobilenetv2-1-0_bn_512x512

15.848

14.243

13.699

8.284

6.972

6.013

deeplabv3p_mobilenetv2-1-0_bn_768x768

63.148

61.133

59.262

16.242

13.624

12.018

deeplabv3p_xception65_bn_192x192

9.703

9.393

6.46

8.555

8.202

5.15

deeplabv3p_xception65_bn_512x512

30.944

30.031

20.716

23.571

22.601

13.327

deeplabv3p_xception65_bn_768x768

92.109

89.338

43.342

44.341

41.945

25.486

icnet_bn_192x192

5.706

5.057

4.515

4.694

4.066

3.369

icnet_bn_512x512

18.326

16.971

16.663

10.576

9.779

9.389

icnet_bn_768x768

67.542

65.436

64.197

18.464

17.881

16.958

pspnet101_bn_192x192

20.978

18.089

11.946

20.102

17.128

11.011

pspnet101_bn_512x512

72.085

71.114

43.009

64.584

63.715

35.806

pspnet101_bn_768x768

160.552

157.791

110.544

111.996

111.22

69.646

pspnet50_bn_192x192

13.854

12.491

9.357

12.889

11.479

8.516

pspnet50_bn_512x512

55.868

55.205

39.659

48.647

48.076

32.403

pspnet50_bn_768x768

135.268

131.268

109.732

85.167

84.615

65.483

unet_bn_coco_192x192

7.557

7.979

8.049

4.933

4.952

4.959

unet_bn_coco_512x512

37.131

36.668

36.706

26.857

26.917

26.928

unet_bn_coco_768x768

110.578

110.031

109.979

59.118

59.173

59.124

 

## 数据分析 ### 1. 新版OP优化模型的加速效果 下图是`PaddleSeg 0.3.0`进行OP优化的模型和原模型的性能数据对比(以512x512 为例): ![OP加速对比](https://paddleseg.bj.bcebos.com/inference/benchmark/op_opt_512x512.png) `分析`: - 优化模型的加速效果在各模型上都很明显,最高优化效果可达100% - 模型的 `eval_crop_size`越大,加速效果越明显 ### 2. 使用 TensorRT 开启 FP16 和 FP32 优化效果分析 在原始模型上的加速效果: ![优化模型](https://paddleseg.bj.bcebos.com/inference/benchmark/trt_opt_origin_512x512.png) 在优化模型上的加速效果: ![原始模型](https://paddleseg.bj.bcebos.com/inference/benchmark/trt_opt_new_512x512.png) `分析`: - unet和icnet模型,使用Fluid-TensorRT的加速效果不明显,甚至没有加速。 - deeplabv3p_mobilenetv2模型,Fluid-TensorRT在原生模型的加速效果不明显,仅3%-5%的加速效果。在优化模型的加速效果可以达到20%。 - `deeplabv3_xception`、`pspnet50` 和 `pspnet101`模型,`fp16`加速效果很明显,在`768x768` 的size下加速效果最高可达110%。 ### 3. 不同的EVAL_CROP_SIZE对图片性能的影响 在 `deeplabv3p_xception`上的数据对比图: ![xception](https://paddleseg.bj.bcebos.com/inference/benchmark/xception.png) 在`deeplabv3p_mobilenet`上的数据对比图: ![xception](https://paddleseg.bj.bcebos.com/inference/benchmark/mobilenet.png) 在`unet`上的测试数据对比图: ![xception](https://paddleseg.bj.bcebos.com/inference/benchmark/unet.png) 在`icnet`上的测试数据对比图: ![xception](https://paddleseg.bj.bcebos.com/inference/benchmark/unet.png) 在`pspnet101`上的测试数据对比图: ![xception](https://paddleseg.bj.bcebos.com/inference/benchmark/pspnet101.png) 在`pspnet50`上的测试数据对比图: ![xception](https://paddleseg.bj.bcebos.com/inference/benchmark/pspnet50.png) `分析`: - 对于同一模型,`eval_crop_size`越大,推理速度越慢 - 同一模型,不管是 TensorRT 优化还是 OP 优化,`eval_crop_size`越大效果越明显