Merge pull request #327 from MissPenguin/develop

add parameter enable_mkldnn
This commit is contained in:
dyning 2020-07-14 16:16:12 +08:00 committed by GitHub
commit d671fefd1e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 20 additions and 5 deletions

View File

@ -17,5 +17,13 @@
说明: 说明:
- 评估耗时阶段为图像输入到结果输出的完整阶段,包括了图像的预处理和后处理。 - 评估耗时阶段为图像输入到结果输出的完整阶段,包括了图像的预处理和后处理。
- `Intel至强6148`为服务器端CPU型号目前正在调试使用Intel MKL-DNN 进一步加速CPU预测速度。 - `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`为移动端处理平台型号。 - `骁龙855`为移动端处理平台型号。

View File

@ -117,12 +117,16 @@ def main(args):
image_file_list = get_image_file_list(args.image_dir) image_file_list = get_image_file_list(args.image_dir)
text_sys = TextSystem(args) text_sys = TextSystem(args)
is_visualize = True is_visualize = True
tackle_img_num = 0
for image_file in image_file_list: for image_file in image_file_list:
img = cv2.imread(image_file) img = cv2.imread(image_file)
if img is None: if img is None:
logger.info("error in loading image:{}".format(image_file)) logger.info("error in loading image:{}".format(image_file))
continue continue
starttime = time.time() 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) dt_boxes, rec_res = text_sys(img)
elapse = time.time() - starttime elapse = time.time() - starttime
print("Predict time of %s: %.3fs" % (image_file, elapse)) print("Predict time of %s: %.3fs" % (image_file, elapse))

View File

@ -64,6 +64,7 @@ def parse_args():
type=str, type=str,
default="./ppocr/utils/ppocr_keys_v1.txt") default="./ppocr/utils/ppocr_keys_v1.txt")
parser.add_argument("--use_space_char", type=bool, default=True) parser.add_argument("--use_space_char", type=bool, default=True)
parser.add_argument("--enable_mkldnn", type=bool, default=False)
return parser.parse_args() return parser.parse_args()
@ -91,8 +92,10 @@ def create_predictor(args, mode):
config.enable_use_gpu(args.gpu_mem, 0) config.enable_use_gpu(args.gpu_mem, 0)
else: else:
config.disable_gpu() config.disable_gpu()
# config.enable_mkldnn() config.set_cpu_math_library_num_threads(6)
config.set_cpu_math_library_num_threads(4) if args.enable_mkldnn:
config.enable_mkldnn()
#config.enable_memory_optim() #config.enable_memory_optim()
config.disable_glog_info() config.disable_glog_info()