Skip to content
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

windows paddlepaddle 3.0.0b1 cpu版本相比2.6.1版本存在明显的效率下降 #66697

Open
myhloli opened this issue Jul 29, 2024 · 5 comments
Assignees

Comments

@myhloli
Copy link

myhloli commented Jul 29, 2024

bug描述 Describe the Bug

使用场景为paddleocr,对固定数量的图片进行ocr识别
paddleocr为最新2.8.1版本
paddlepaddle为2.6.1和3.0.0b1版本,2.6.1版本使用pypi源直装,3.0.0b1使用官网地址安装
python -m pip install paddlepaddle==3.0.0b1 -i https://www.paddlepaddle.org.cn/packages/stable/cpu/

测试代码:

import os
import time
from paddleocr import PaddleOCR

ocr = PaddleOCR()

def extract_text_from_images(directory):
    results = {}
    # 遍历目录中的所有文件
    for filename in os.listdir(directory):
        if filename.endswith(".jpg"):
            filepath = os.path.join(directory, filename)
            # 读取图像并进行OCR识别
            result = ocr.ocr(filepath, cls=True)
            # 提取识别结果中的文本
            text = [line[1][0] for line in result[0]]
            results[filename] = ' '.join(text)
    return results

# 使用函数
directory_path = "E:\pdf_meta\demo\ocr_test"
start_time = time.time()
texts = extract_text_from_images(directory_path)
for img_name, text in texts.items():
    print(f"Image: {img_name}, Text: {text}")

end_time = time.time()
# 2.6.1 Total time taken: 26.212960720062256 seconds
# 3.0.0b1 Total time taken: 65.2573401927948 seconds
print(f"Total time taken: {end_time - start_time} seconds")

测试用例:
ocr_test.zip

测试时间:
2.6.1 Total time taken: 26.212960720062256 seconds
3.0.0b1 Total time taken: 65.2573401927948 seconds

测试平台: windows11,i7-12700

另外我在其他的ubuntu机器和macos机器上测试,差异好像没有windows这么大,大概慢10%~20%

其他补充信息 Additional Supplementary Information

No response

@changeyoung98
Copy link
Contributor

请问同学使用的是动态图模式还是开启了动转静呢?另外GPU下是否存在此问题呢?

@myhloli
Copy link
Author

myhloli commented Jul 29, 2024

请问同学使用的是动态图模式还是开启了动转静呢?另外GPU下是否存在此问题呢?

不太会用这么复杂的操作,就直接用paddleocr直接传cv2格式的图片进去ocr,别的参数都没调。
测试保持控制变量,只调整paddlepaddle的版本,别的都是一样的。
另外gpu版本,2.6.1在windows上正常运行,3.0.0b1版本import失败,已经提了另一个issue
#66669

@myhloli
Copy link
Author

myhloli commented Jul 29, 2024

在i7-12700+3060ti的这台机器上成功运行了2.6.1和3.0.0b1的gpu版本,也没出现import错误。
使用和上面cpu测试同样的代码和图片数据,测试结果如下
2.6.1-gpu Total time taken: 4.204271078109741 seconds
3.0.0b1-gpu Total time taken: 4.291479825973511 seconds
未发现存在显著效率差异。

@changeyoung98
Copy link
Contributor

在i7-12700+3060ti的这台机器上成功运行了2.6.1和3.0.0b1的gpu版本,也没出现import错误。 使用和上面cpu测试同样的代码和图片数据,测试结果如下 2.6.1-gpu Total time taken: 4.204271078109741 seconds 3.0.0b1-gpu Total time taken: 4.291479825973511 seconds 未发现存在显著效率差异。

好的,因为之前重点关注的是GPU下的性能效率,windows CPU的效率问题目前的优先级不太高,我们后续会排期处理一下。感谢同学的反馈~

@xiejingchao
Copy link

linux在docker镜像中同样是paddleocr 2.8.1,--use_gpu false时3.0.0b1耗时明显比2.6.1长

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants