mirror of
https://github.com/PaddlePaddle/PaddleOCR.git
synced 2025-06-03 21:53:39 +08:00
Merge pull request #4381 from LDOUBLEV/test_v10
add precision to mkldnn
This commit is contained in:
commit
d128c1df2d
@ -141,10 +141,15 @@ function func_inference(){
|
|||||||
fi
|
fi
|
||||||
for threads in ${cpu_threads_list[*]}; do
|
for threads in ${cpu_threads_list[*]}; do
|
||||||
for batch_size in ${batch_size_list[*]}; do
|
for batch_size in ${batch_size_list[*]}; do
|
||||||
precison="fp32"
|
for precision in ${precision_list[*]}; do
|
||||||
if [ ${use_mkldnn} = "False" ] && [ ${_flag_quant} = "True" ]; then
|
if [ ${use_mkldnn} = "False" ] && [ ${precision} = "fp16" ]; then
|
||||||
precision="int8"
|
continue
|
||||||
fi
|
fi # skip when enable fp16 but disable mkldnn
|
||||||
|
if [ ${_flag_quant} = "True" ] && [ ${precision} != "int8" ]; then
|
||||||
|
continue
|
||||||
|
fi # skip when quant model inference but precision is not int8
|
||||||
|
set_precision=$(func_set_params "${precision_key}" "${precision}")
|
||||||
|
|
||||||
_save_log_path="${_log_path}/python_infer_cpu_usemkldnn_${use_mkldnn}_threads_${threads}_precision_${precision}_batchsize_${batch_size}.log"
|
_save_log_path="${_log_path}/python_infer_cpu_usemkldnn_${use_mkldnn}_threads_${threads}_precision_${precision}_batchsize_${batch_size}.log"
|
||||||
set_infer_data=$(func_set_params "${image_dir_key}" "${_img_dir}")
|
set_infer_data=$(func_set_params "${image_dir_key}" "${_img_dir}")
|
||||||
set_benchmark=$(func_set_params "${benchmark_key}" "${benchmark_value}")
|
set_benchmark=$(func_set_params "${benchmark_key}" "${benchmark_value}")
|
||||||
@ -152,7 +157,7 @@ function func_inference(){
|
|||||||
set_cpu_threads=$(func_set_params "${cpu_threads_key}" "${threads}")
|
set_cpu_threads=$(func_set_params "${cpu_threads_key}" "${threads}")
|
||||||
set_model_dir=$(func_set_params "${infer_model_key}" "${_model_dir}")
|
set_model_dir=$(func_set_params "${infer_model_key}" "${_model_dir}")
|
||||||
set_infer_params1=$(func_set_params "${infer_key1}" "${infer_value1}")
|
set_infer_params1=$(func_set_params "${infer_key1}" "${infer_value1}")
|
||||||
command="${_python} ${_script} ${use_gpu_key}=${use_gpu} ${use_mkldnn_key}=${use_mkldnn} ${set_cpu_threads} ${set_model_dir} ${set_batchsize} ${set_infer_data} ${set_benchmark} ${set_infer_params1} > ${_save_log_path} 2>&1 "
|
command="${_python} ${_script} ${use_gpu_key}=${use_gpu} ${use_mkldnn_key}=${use_mkldnn} ${set_cpu_threads} ${set_model_dir} ${set_batchsize} ${set_infer_data} ${set_benchmark} ${set_precision} ${set_infer_params1} > ${_save_log_path} 2>&1 "
|
||||||
eval $command
|
eval $command
|
||||||
last_status=${PIPESTATUS[0]}
|
last_status=${PIPESTATUS[0]}
|
||||||
eval "cat ${_save_log_path}"
|
eval "cat ${_save_log_path}"
|
||||||
@ -160,6 +165,7 @@ function func_inference(){
|
|||||||
done
|
done
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
done
|
||||||
elif [ ${use_gpu} = "True" ] || [ ${use_gpu} = "gpu" ]; then
|
elif [ ${use_gpu} = "True" ] || [ ${use_gpu} = "gpu" ]; then
|
||||||
for use_trt in ${use_trt_list[*]}; do
|
for use_trt in ${use_trt_list[*]}; do
|
||||||
for precision in ${precision_list[*]}; do
|
for precision in ${precision_list[*]}; do
|
||||||
|
@ -267,10 +267,11 @@ def create_predictor(args, mode, logger):
|
|||||||
# cache 10 different shapes for mkldnn to avoid memory leak
|
# cache 10 different shapes for mkldnn to avoid memory leak
|
||||||
config.set_mkldnn_cache_capacity(10)
|
config.set_mkldnn_cache_capacity(10)
|
||||||
config.enable_mkldnn()
|
config.enable_mkldnn()
|
||||||
|
if args.precision == "fp16":
|
||||||
|
config.enable_mkldnn_bfloat16()
|
||||||
# enable memory optim
|
# enable memory optim
|
||||||
config.enable_memory_optim()
|
config.enable_memory_optim()
|
||||||
#config.disable_glog_info()
|
config.disable_glog_info()
|
||||||
|
|
||||||
config.delete_pass("conv_transpose_eltwiseadd_bn_fuse_pass")
|
config.delete_pass("conv_transpose_eltwiseadd_bn_fuse_pass")
|
||||||
if mode == 'table':
|
if mode == 'table':
|
||||||
|
Loading…
x
Reference in New Issue
Block a user