PaddleOCR
PaddleOCR copied to clipboard
PaddleOCR v4模型使用Mkldnn在非AVX512 CPU上变得非常慢
注:这个问题是https://github.com/PaddlePaddle/PaddleOCR/issues/10337 的重开,它未得到解决或解答,且被关闭了,这个问题和PaddleInference 2.5准确率下降的问题是不同的问题。
- 系统环境/System Environment:Windows 10
- Paddle: 2.5.0/2.4.2 with mkldnn
- PaddleOCR: ppocr-v4 识别模型
AVX512 CPU上速度正常,速度大约是1.3s 在其它CPU上奇慢无比,速度大约是60秒~100秒 (虚拟机CPU都是4核)
使用Openblas或者Onnx速度都正常,使用ppocr-v3识别模型也正常。
已经有V4模型了?请问模型地址在哪?
请问部署的时候,Flags_use_mkldnn 是保持为0(缺省值)吗?
use_mkldnn=1
能试试=0的情况吗?
另外问个问题,use_mkldnn=1,但是pcrv3的话,速度也是正常的(1-2s)? 换句话说PCRv4和v3的差别就能导致这个性能降级?
另外问个问题,use_mkldnn=1,但是pcrv3的话,速度也是正常的(1-2s)? 换句话说PCRv4和v3的差别就能导致这个性能降级?
对的,在我另一台电脑上(CPU i9-9880h),基于v4模型,使用openblas性能很快(8秒),使用onnx性能很快(2秒),使用mkldnn性能很慢(33秒),使用gpu性能也很快(0.1秒-使用3080ti) 同时如果使用v3模型和mkldnn,性能也很快(0.5秒) 如果基于v4和mkldnn,且CPU支持AVX512F,则性能回归很快(如上面的示例,1.3s vs 95s,基于Azure 4核虚拟机测试)
换言之,这个问题和ppocr-v4、mkldnn、AVX512F同时相关。
ppocr-v4识别模型能下载了吗,请问有下载地址吗?
@apple2333cream 未公开发布。
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions.
no, this issue was not fixed, please check.
我遇到了一样的问题, 在Python解释器(3.10),PaddlePaddle(2.5.2), PaddleOCR(2.7.0.3) 版本一样的情况下,同样的一张图, 都使用ch_PP-OCRv4 ,enable_mkldnn=True
在我的一个AMD 7840U(支持 AVX-512) 笔记本上识别速度是 0.2秒, 而在另一个AMD 5600U(不支持 AVX-512) 笔记本上识别速度是 13秒, 如果改为 ch_PP-OCRv3, 则为0.3秒左右
enable_mkldnn=False差别不大,都是2-3秒左右。
假定这个问题确实是由CPU是否支持AVX-512造成的, 我查了一下 消费级CPU, Intel 自从 2019年9月发布的 10代酷睿就支持了。 AMD则比较晚,2023年的 Zen 4 才支持。
是不是百度测试团队用的都是 Intel的CPU?
为兼容用户使用的老电脑,我退回使用ch_PP-OCRv3,但是版本3好像又有enable_mkldnn=True时,预测不准确的问题
我只能退回使用ch_PP-OCRv2,但是v2识别确实不如v4准确。
哎,感觉到处是坑。
百度做这个产品的到底有没有靠谱的测试团队啊?
我非常感谢百度免费分享这样的产品,但是不测试好就发布出来,这。。。。。
@sdcb Hi, 请问你在进行推理的时候是否都是用的官方推理库?我们这边check了一下,发现官方的推理库都是用带avx512的机器生成的。在这种情况下,如果在非avx512机器上用官方推理库,可能就会导致这种情况,类似#11597。针对这个issue我们已经提了PR,等merge之后应该就能解决了。
该issue长时间未更新,暂将此issue关闭,如有需要可重新开启。