Closed yujunhuics closed 1 month ago
辛苦发一下使用的flag和命令
辛苦发一下使用的flag和命令
关于脚本,我使用的是ocr产线的python API使用脚本,原封不动:
import cv2
from paddlex import OCRPipeline
from paddlex import PaddleInferenceOption
from paddlex.pipelines.OCR.utils import draw_ocr_box_txt
kernel_option = PaddleInferenceOption()
kernel_option.set_device("npu:0")
pipeline = OCRPipeline(
'PP-OCRv4_mobile_det',
'PP-OCRv4_mobile_rec',
text_det_kernel_option=kernel_option,
text_rec_kernel_option=kernel_option,)
result = pipeline.predict(
{"input_path": "https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_ocr_002.png"},
)
draw_img = draw_ocr_box_txt(result['original_image'],result['dt_polys'], result["rec_text"])
cv2.imwrite("ocr_result.jpg", draw_img[:, :, ::-1])
测试时发现,使用npu速度比cpu的速度慢了将近8倍。
这个是因为第一次运行触发了jit编译导致耗时很久,可以看看你文件下是不是有生成一个kernel_meta文件夹。我在predict里加了个循环,测试det第一次运行需要5.67s,后面只需要0.05s,rec也是一样的现象。
如果需要测速的话建议推理时加一下warmup 20iter,然后取80iter推理时间均值
这个是因为第一次运行触发了jit编译导致耗时很久,可以看看你文件下是不是有生成一个kernel_meta文件夹。我在predict里加了个循环,测试det第一次运行需要5.67s,后面只需要0.05s,rec也是一样的现象。
原来是第一次出发jit编译耗费的大量的时间,感谢科普
环境 paddle-custom-npu 3.0.0b1 paddleocr 2.8.1 paddlepaddle 3.0.0b1 paddlex 3.0.0b0
问题如题: 在测试paddleocr时发现速度巨慢