diff --git a/doc/doc_ch/benchmark.md b/doc/doc_ch/benchmark.md index b562b53862c984d7f3b07c6face954276ca4d9ea..b3729cae75008823dcd607e5a156e9c87d9a0989 100644 --- a/doc/doc_ch/benchmark.md +++ b/doc/doc_ch/benchmark.md @@ -16,6 +16,14 @@ |480|0.057|0.043|0.241| 0.175| 说明: -- 评估耗时阶段为图像输入到结果输出的完整阶段,包括了图像的预处理和后处理。 -- `Intel至强6148`为服务器端CPU型号,目前正在调试使用Intel MKL-DNN 进一步加速CPU预测速度。 -- `骁龙855`为移动端处理平台型号。 +- 评估耗时阶段为图像输入到结果输出的完整阶段,包括了图像的预处理和后处理。 +- `Intel至强6148`为服务器端CPU型号,测试中使用Intel MKL-DNN 加速CPU预测速度,使用该操作需要: + - 更新到飞桨latest版本:https://www.paddlepaddle.org.cn/documentation/docs/zh/install/Tables.html#whl-dev ,请根据自己环境的CUDA版本和Python版本选择相应的mkl版wheel包,如,CUDA10、Python3.7环境,应操作: + ```shell + # 获取安装包 + wget https://paddle-wheel.bj.bcebos.com/0.0.0-gpu-cuda10-cudnn7-mkl/paddlepaddle_gpu-0.0.0-cp37-cp37m-linux_x86_64.whl + # 安装 + pip3.7 install paddlepaddle_gpu-0.0.0-cp37-cp37m-linux_x86_64.whl + ``` + - 预测时使用参数打开加速开关: `--enable_mkldnn True` +- `骁龙855`为移动端处理平台型号。 diff --git a/tools/infer/predict_system.py b/tools/infer/predict_system.py index e96a1934bd86dfea45257a6ffab42f40cecf85ad..1b7aff1ca8213633b7eff73e13d0ea75eeaedc0b 100755 --- a/tools/infer/predict_system.py +++ b/tools/infer/predict_system.py @@ -117,12 +117,16 @@ def main(args): image_file_list = get_image_file_list(args.image_dir) text_sys = TextSystem(args) is_visualize = True + tackle_img_num = 0 for image_file in image_file_list: img = cv2.imread(image_file) if img is None: logger.info("error in loading image:{}".format(image_file)) continue starttime = time.time() + tackle_img_num += 1 + if not args.use_gpu and args.enable_mkldnn and tackle_img_num % 30 == 0: + text_sys = TextSystem(args) dt_boxes, rec_res = text_sys(img) elapse = time.time() - starttime print("Predict time of %s: %.3fs" % (image_file, elapse)) diff --git a/tools/infer/utility.py b/tools/infer/utility.py index 0cf66d4c82c49e588eedd4855df4663040bcc4be..bab211a8dfa396b1aa8996cf7105452316441ed1 100755 --- a/tools/infer/utility.py +++ b/tools/infer/utility.py @@ -64,6 +64,7 @@ def parse_args(): type=str, default="./ppocr/utils/ppocr_keys_v1.txt") parser.add_argument("--use_space_char", type=bool, default=True) + parser.add_argument("--enable_mkldnn", type=bool, default=False) return parser.parse_args() @@ -91,8 +92,10 @@ def create_predictor(args, mode): config.enable_use_gpu(args.gpu_mem, 0) else: config.disable_gpu() - # config.enable_mkldnn() - config.set_cpu_math_library_num_threads(4) + config.set_cpu_math_library_num_threads(6) + if args.enable_mkldnn: + config.enable_mkldnn() + #config.enable_memory_optim() config.disable_glog_info()