在没有GPU机器时,普通的多核CPU,做ocr预测某个长PDF时,默认只使用一个核,有点慢, 已有的资源没用好。
这样设置:
from paddleocr import PaddleOCR
ocr_model = PaddleOCR(use_angle_cls=True, lang="ch", enable_mkldnn=True, cpu_threads=8)
而不是设置 use_mp和total_process_num。 这两个参数 在调用 tools/infer/predict_system.py时,会启动多进程,把需要处理的一串文件 分割成多个任务(image_file_list[args.process_id::args.total_process_num]),分别用total_process_num个进程处理。
注意后两个参数,会先判断enable_mkldnn, 为true才使用后面的cpu_threads
需要在实例化PaddleOCR时就设置好,不能:
ocr_model = PaddleOCR(use_angle_cls=True, lang="ch")
再在后面设置
ocr_model.args.enable_mkldnn=True
ocr_model.args.cpu_threads=4
enable_mkldnn=True后,接下来会走如下代码。
config.set_cpu_math_library_num_threads(args.cpu_threads)
则在后面调用C的部分计算时,能用到CPU的多核 加速计算。
另个,这个参数只能用于预测流程。训练流程用不了。在paddleocr里是