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

snz8szmq  于 4个月前  发布在  Windows
关注(0)|答案(4)|浏览(50)

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

at0kjp5o

at0kjp5o1#

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

mm9b1k5b

mm9b1k5b2#

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

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

sg2wtvxw

sg2wtvxw3#

在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
未发现存在显著效率差异。

vbopmzt1

vbopmzt14#

在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的效率问题目前的优先级不太高,我们后续会排期处理一下。感谢同学的反馈~

相关问题