-
Notifications
You must be signed in to change notification settings - Fork 973
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PaddleX的Ocr产线使用高性能插件几乎没有提升,某些情况下推理速度不如普通模式? #2660
Comments
想问下这个耗时是如何统计的呢?方便提供下代码吗 |
|
@TingquanGao 麻烦大佬看一下,问题出在哪?是否有提升的空间?开启搞性能模式是大概能提升多少呢? 这是我的Ocr配置 |
由于推理引擎在首次推理时需要初始化,因此通常前几次推理耗时较长,建议多预测几次,比如剔除前5次,从第6次开始统计。 |
我没看到有报错,截图中的红色框标注的是警告warning,具体是否会对推理速度有影响,我得再确认下。 |
@TingquanGao
|
@1756112901 请设置 |
@Bobholamovic 在docker容器里面设置完 ,重试了一下,新的额报错。大佬麻烦看一下
|
建议把模型目录里叫做 |
我已经把您提及的文件删除了,甚至删除了整个/root/.paddlex目录。重新运行程序,可以看到程序重新下载了新的模型,但是报一样的错。我也尝试清空文件后,用这个直接命令调用的方式也是报一样的错误。(paddlex --pipeline OCR --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_ocr_002.png --device gpu:0 --use_hpip --serial_number {序列号}) |
这样的话,看起来在你的环境里可能使用不了Paddle-TensorRT,建议参考高性能推理文档手动修改推理后端~ |
我用的docker镜像是官方提供的 paddlepaddle/paddle:3.0.0b2-gpu-cuda11.8-cudnn8.6-trt8.5, 这也用不了吗? 难受了。好吧,我试试修改一下推理后端 |
如果是docker部署的话,感觉环境问题的可能性小一些。请问使用官方默认的图像进行推理,可以成功嘛? |
@Bobholamovic 我之前是拉取的官方的PaddlePaddle镜像然后再安装PaddleX及其他所需的东西,可能环境存在问题。 现在我重新拉取了官方的PaddleX的docker镜像:ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddle:3.0.0b2-gpu-cuda11.8-cudnn8.6-trt8.5 设置了export FLAGS_enable_pir_api=0 然后执行命令(用的是官方默认的图像),然后出现了新的报错 大佬看看什么问题 |
请问你使用的GPU型号是什么呀? |
3090 |
@Bobholamovic 另外如果一开始没有设置export FLAGS_enable_pir_api=0的话,执行paddlex --pipeline OCR --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_ocr_001.png --device gpu:0 --use_hpip --serial_number {序列号}
|
考虑到使用的模型和输入数据都是官方的,这个问题确实非常奇怪,我暂时也无法判断原因。想问下其他的产线也会有类似的问题不? |
暂时只用到Ocr的,另外再补充多一点。在干净的环境,(没有额外设置export FLAGS_enable_pir_api=0)第一次执行paddlex --pipeline OCR --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_ocr_001.png --device gpu:0 --use_hpip --serial_number {序列号} |
目前有一个待修复的bug,就是不指定这个环境变量的话,即使在默认推理配置中启用了trt,实际也不会使用,这样的话切换后端引擎带来的加速就很有限了,甚至在某些情况下可能掉速度。我们将在下个版本修复这个bug。 关于第一次跑报错,第二次没有错误,确实很奇怪,之前我们在测试过程中没有遇到过这样的问题。如果方便的话,可以试试其他产线,看看是否有类似的问题,以及试试CPU推理有没有类似的问题~ |
好吧。期待下一个版本修复。 另外关于第一次跑错,第二次没有错误,是不是因为第一次构建失败了,第二次再运行没有进行相关校验或者检查导致的呢?因为这个问题是可以复现的,只要自动下载新的模型,第一次第二次运行 paddleX命令就复现。 有空我再尝试一下其他产线 |
如果没有设置 |
重新尝试了下,还是一样干净的环境,先执行一遍普通模式,可正常运行,自动下载官方的模型 使用的是官方的 Ocr server模型(duck.yaml) 然后更改了一下Rec的配置文件inference.yml的参数trt_dynamic_shapes 没有设置export FLAGS_enable_pir_api=0 但是在这样方式下的 高性能 对比 普通模式 推理速度上并没有提升 还有只要设置了export FLAGS_enable_pir_api=0,再去执行一样的命令,还是会报这个错 分割线 下面是之前提及的两个报错情况
|
环境 centos7.9
docker镜像 paddlepaddle/paddle:3.0.0b2-gpu-cuda11.8-cudnn8.6-trt8.5
显卡cuda 11.8 如下
用的是Ocr产线
测试同样40张图片,高性能模式 推理速度大概在 17秒
(另外这个警告是否有影响:
[WARNING] fastdeploy/runtime/backends/paddle/paddle_backend.cc(178)::BuildOption Currently, Paddle-TensorRT does not support the new IR, and the old IR will be used.)
同样的40张图片,普通模式 大概在18秒
请问这种样情况是正常的吗,还是我有哪个包版本不对?求解
The text was updated successfully, but these errors were encountered: