PaddlePaddle/PaddleDetection

PP-YOLOE-SOD 高精度小目标检测模型小模型速度更慢

LiquorPerfect opened this issue · 3 comments

问题确认 Search before asking

  • 我已经查询历史issue,没有发现相似的bug。I have searched the issues and found no similar bug report.

Bug组件 Bug Component

Inference

Bug描述 Describe the Bug

使用https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.7/configs/smalldet中的PP-YOLOE+_SOD-largesize-l、PP-YOLOE+_SOD-l、PP-YOLOE+_SOD-s模型转换为paddle inference模型进行测试,使用python deploy/python/infer.py --run_benchmark=True 进行性能测试,测试推理速度结果是:
PP-YOLOE+_SOD-largesize-l < PP-YOLOE+_SOD-s < PP-YOLOE+_SOD-l
问题是:为什么PP-YOLOE+_SOD-s的速度比PP-YOLOE+_SOD-l 还差,麻烦验证下。

测试结果:

2024-04-11 22:53:25,619 - benchmark_utils - INFO - ---------------------- Paddle info ----------------------
2024-04-11 22:53:25,619 - benchmark_utils - INFO - [DET] paddle_version: 2.4.0-rc0
2024-04-11 22:53:25,619 - benchmark_utils - INFO - [DET] paddle_commit: 083853cd4e4a9bdad22c70fa48eb9a036d2def27
2024-04-11 22:53:25,619 - benchmark_utils - INFO - [DET] paddle_branch: HEAD
2024-04-11 22:53:25,619 - benchmark_utils - INFO - [DET] log_api_version: 1.0.3
2024-04-11 22:53:25,619 - benchmark_utils - INFO - ----------------------- Conf info -----------------------
2024-04-11 22:53:25,619 - benchmark_utils - INFO - [DET] runtime_device: gpu
2024-04-11 22:53:25,619 - benchmark_utils - INFO - [DET] ir_optim: True
2024-04-11 22:53:25,619 - benchmark_utils - INFO - [DET] enable_memory_optim: True
2024-04-11 22:53:25,620 - benchmark_utils - INFO - [DET] enable_tensorrt: False
2024-04-11 22:53:25,620 - benchmark_utils - INFO - [DET] enable_mkldnn: False
2024-04-11 22:53:25,620 - benchmark_utils - INFO - [DET] cpu_math_library_num_threads: 1
2024-04-11 22:53:25,620 - benchmark_utils - INFO - ----------------------- Model info ----------------------
2024-04-11 22:53:25,620 - benchmark_utils - INFO - [DET] model_name: ppyoloe_plus_sod_crn_l_largesize_80e_visdrone
2024-04-11 22:53:25,620 - benchmark_utils - INFO - [DET] precision: paddle
2024-04-11 22:53:25,620 - benchmark_utils - INFO - ----------------------- Data info -----------------------
2024-04-11 22:53:25,620 - benchmark_utils - INFO - [DET] batch_size: 1
2024-04-11 22:53:25,620 - benchmark_utils - INFO - [DET] input_shape: dynamic_shape
2024-04-11 22:53:25,620 - benchmark_utils - INFO - [DET] data_num: 1
2024-04-11 22:53:25,620 - benchmark_utils - INFO - ----------------------- Perf info -----------------------
2024-04-11 22:53:25,620 - benchmark_utils - INFO - [DET] cpu_rss(MB): 3020, cpu_vms: 0, cpu_shared_mb: 0, cpu_dirty_mb: 0, cpu_util: 0%
2024-04-11 22:53:25,620 - benchmark_utils - INFO - [DET] gpu_rss(MB): 434, gpu_util: 0.0%, gpu_mem_util: 0%
2024-04-11 22:53:25,620 - benchmark_utils - INFO - [DET] total time spent(s): 0.9911
2024-04-11 22:53:25,620 - benchmark_utils - INFO - [DET] preprocess_time(ms): 95.2, inference_time(ms): 895.9, postprocess_time(ms): 0.0

2024-04-11 22:56:55,948 - benchmark_utils - INFO - ---------------------- Paddle info ----------------------
2024-04-11 22:56:55,948 - benchmark_utils - INFO - [DET] paddle_version: 2.4.0-rc0
2024-04-11 22:56:55,948 - benchmark_utils - INFO - [DET] paddle_commit: 083853cd4e4a9bdad22c70fa48eb9a036d2def27
2024-04-11 22:56:55,948 - benchmark_utils - INFO - [DET] paddle_branch: HEAD
2024-04-11 22:56:55,948 - benchmark_utils - INFO - [DET] log_api_version: 1.0.3
2024-04-11 22:56:55,948 - benchmark_utils - INFO - ----------------------- Conf info -----------------------
2024-04-11 22:56:55,948 - benchmark_utils - INFO - [DET] runtime_device: gpu
2024-04-11 22:56:55,948 - benchmark_utils - INFO - [DET] ir_optim: True
2024-04-11 22:56:55,948 - benchmark_utils - INFO - [DET] enable_memory_optim: True
2024-04-11 22:56:55,948 - benchmark_utils - INFO - [DET] enable_tensorrt: False
2024-04-11 22:56:55,948 - benchmark_utils - INFO - [DET] enable_mkldnn: False
2024-04-11 22:56:55,948 - benchmark_utils - INFO - [DET] cpu_math_library_num_threads: 1
2024-04-11 22:56:55,948 - benchmark_utils - INFO - ----------------------- Model info ----------------------
2024-04-11 22:56:55,949 - benchmark_utils - INFO - [DET] model_name: ppyoloe_plus_sod_crn_l_80e_visdrone
2024-04-11 22:56:55,949 - benchmark_utils - INFO - [DET] precision: paddle
2024-04-11 22:56:55,949 - benchmark_utils - INFO - ----------------------- Data info -----------------------
2024-04-11 22:56:55,949 - benchmark_utils - INFO - [DET] batch_size: 1
2024-04-11 22:56:55,949 - benchmark_utils - INFO - [DET] input_shape: dynamic_shape
2024-04-11 22:56:55,949 - benchmark_utils - INFO - [DET] data_num: 1
2024-04-11 22:56:55,949 - benchmark_utils - INFO - ----------------------- Perf info -----------------------
2024-04-11 22:56:55,949 - benchmark_utils - INFO - [DET] cpu_rss(MB): 2973, cpu_vms: 0, cpu_shared_mb: 0, cpu_dirty_mb: 0, cpu_util: 0%
2024-04-11 22:56:55,949 - benchmark_utils - INFO - [DET] gpu_rss(MB): 434, gpu_util: 0.0%, gpu_mem_util: 0%
2024-04-11 22:56:55,949 - benchmark_utils - INFO - [DET] total time spent(s): 0.3244
2024-04-11 22:56:55,949 - benchmark_utils - INFO - [DET] preprocess_time(ms): 42.1, inference_time(ms): 282.3, postprocess_time(ms): 0.0

2024-04-11 22:58:40,974 - benchmark_utils - INFO - ---------------------- Paddle info ----------------------
2024-04-11 22:58:40,974 - benchmark_utils - INFO - [DET] paddle_version: 2.4.0-rc0
2024-04-11 22:58:40,974 - benchmark_utils - INFO - [DET] paddle_commit: 083853cd4e4a9bdad22c70fa48eb9a036d2def27
2024-04-11 22:58:40,974 - benchmark_utils - INFO - [DET] paddle_branch: HEAD
2024-04-11 22:58:40,974 - benchmark_utils - INFO - [DET] log_api_version: 1.0.3
2024-04-11 22:58:40,974 - benchmark_utils - INFO - ----------------------- Conf info -----------------------
2024-04-11 22:58:40,974 - benchmark_utils - INFO - [DET] runtime_device: gpu
2024-04-11 22:58:40,974 - benchmark_utils - INFO - [DET] ir_optim: True
2024-04-11 22:58:40,974 - benchmark_utils - INFO - [DET] enable_memory_optim: True
2024-04-11 22:58:40,974 - benchmark_utils - INFO - [DET] enable_tensorrt: False
2024-04-11 22:58:40,974 - benchmark_utils - INFO - [DET] enable_mkldnn: False
2024-04-11 22:58:40,974 - benchmark_utils - INFO - [DET] cpu_math_library_num_threads: 1
2024-04-11 22:58:40,974 - benchmark_utils - INFO - ----------------------- Model info ----------------------
2024-04-11 22:58:40,974 - benchmark_utils - INFO - [DET] model_name: ppyoloe_plus_sod_crn_s_80e_visdrone
2024-04-11 22:58:40,974 - benchmark_utils - INFO - [DET] precision: paddle
2024-04-11 22:58:40,974 - benchmark_utils - INFO - ----------------------- Data info -----------------------
2024-04-11 22:58:40,974 - benchmark_utils - INFO - [DET] batch_size: 1
2024-04-11 22:58:40,974 - benchmark_utils - INFO - [DET] input_shape: dynamic_shape
2024-04-11 22:58:40,974 - benchmark_utils - INFO - [DET] data_num: 1
2024-04-11 22:58:40,974 - benchmark_utils - INFO - ----------------------- Perf info -----------------------
2024-04-11 22:58:40,975 - benchmark_utils - INFO - [DET] cpu_rss(MB): 2951, cpu_vms: 0, cpu_shared_mb: 0, cpu_dirty_mb: 0, cpu_util: 0%
2024-04-11 22:58:40,975 - benchmark_utils - INFO - [DET] gpu_rss(MB): 434, gpu_util: 0.0%, gpu_mem_util: 0%
2024-04-11 22:58:40,975 - benchmark_utils - INFO - [DET] total time spent(s): 0.4441
2024-04-11 22:58:40,975 - benchmark_utils - INFO - [DET] preprocess_time(ms): 38.7, inference_time(ms): 405.4, postprocess_time(ms): 0.0

复现环境 Environment

-OS: Linux
paddlepaddle: 2.4.0
PaddleDetection: release/2.7
Python: 3.7.16
CUDA:10.1
CUDNN:7.6
GCC:8.2.0

Bug描述确认 Bug description confirmation

  • 我确认已经提供了Bug复现步骤、代码改动说明、以及环境信息,确认问题是可以复现的。I confirm that the bug replication steps, code change instructions, and environment information have been provided, and the problem can be reproduced.

是否愿意提交PR? Are you willing to submit a PR?

  • 我愿意提交PR!I'd like to help by submitting a PR!

看下输入的尺寸大小

看下输入的尺寸大小

图片尺寸1088x1440。
ppyoloe_plus_sod_crn_l_largesize_80e_visdrone:1920x1920
ppyoloe_plus_sod_crn_l_80e_visdrone: 640x640
ppyoloe_plus_sod_crn_s_80e_visdrone: 640x640

图片中目标数应该有189个,同时nms很耗时。

nms这个没办法 推荐试验detr这种后处理不受数量影响的模型