Merge pull request #3974 from tink2123/more_config_for_rec
polish tests for rec and server
This commit is contained in:
commit
f902c5d4ca
|
@ -0,0 +1,99 @@
|
||||||
|
Global:
|
||||||
|
use_gpu: true
|
||||||
|
epoch_num: 72
|
||||||
|
log_smooth_window: 20
|
||||||
|
print_batch_step: 10
|
||||||
|
save_model_dir: ./output/rec/ic15/
|
||||||
|
save_epoch_step: 3
|
||||||
|
# evaluation is run every 2000 iterations
|
||||||
|
eval_batch_step: [0, 2000]
|
||||||
|
cal_metric_during_train: True
|
||||||
|
pretrained_model:
|
||||||
|
checkpoints:
|
||||||
|
save_inference_dir: ./
|
||||||
|
use_visualdl: False
|
||||||
|
infer_img: doc/imgs_words_en/word_10.png
|
||||||
|
# for data or label process
|
||||||
|
character_dict_path: ppocr/utils/en_dict.txt
|
||||||
|
character_type: EN
|
||||||
|
max_text_length: 25
|
||||||
|
infer_mode: False
|
||||||
|
use_space_char: False
|
||||||
|
save_res_path: ./output/rec/predicts_ic15.txt
|
||||||
|
|
||||||
|
Optimizer:
|
||||||
|
name: Adam
|
||||||
|
beta1: 0.9
|
||||||
|
beta2: 0.999
|
||||||
|
lr:
|
||||||
|
learning_rate: 0.0005
|
||||||
|
regularizer:
|
||||||
|
name: 'L2'
|
||||||
|
factor: 0
|
||||||
|
|
||||||
|
Architecture:
|
||||||
|
model_type: rec
|
||||||
|
algorithm: CRNN
|
||||||
|
Transform:
|
||||||
|
Backbone:
|
||||||
|
name: ResNet
|
||||||
|
layers: 34
|
||||||
|
Neck:
|
||||||
|
name: SequenceEncoder
|
||||||
|
encoder_type: rnn
|
||||||
|
hidden_size: 256
|
||||||
|
Head:
|
||||||
|
name: CTCHead
|
||||||
|
fc_decay: 0
|
||||||
|
|
||||||
|
Loss:
|
||||||
|
name: CTCLoss
|
||||||
|
|
||||||
|
PostProcess:
|
||||||
|
name: CTCLabelDecode
|
||||||
|
|
||||||
|
Metric:
|
||||||
|
name: RecMetric
|
||||||
|
main_indicator: acc
|
||||||
|
|
||||||
|
Train:
|
||||||
|
dataset:
|
||||||
|
name: SimpleDataSet
|
||||||
|
data_dir: ./train_data/ic15_data/
|
||||||
|
label_file_list: ["./train_data/ic15_data/rec_gt_train.txt"]
|
||||||
|
transforms:
|
||||||
|
- DecodeImage: # load image
|
||||||
|
img_mode: BGR
|
||||||
|
channel_first: False
|
||||||
|
- CTCLabelEncode: # Class handling label
|
||||||
|
- RecResizeImg:
|
||||||
|
image_shape: [3, 32, 100]
|
||||||
|
- KeepKeys:
|
||||||
|
keep_keys: ['image', 'label', 'length'] # dataloader will return list in this order
|
||||||
|
loader:
|
||||||
|
shuffle: True
|
||||||
|
batch_size_per_card: 256
|
||||||
|
drop_last: True
|
||||||
|
num_workers: 8
|
||||||
|
use_shared_memory: False
|
||||||
|
|
||||||
|
Eval:
|
||||||
|
dataset:
|
||||||
|
name: SimpleDataSet
|
||||||
|
data_dir: ./train_data/ic15_data
|
||||||
|
label_file_list: ["./train_data/ic15_data/rec_gt_test.txt"]
|
||||||
|
transforms:
|
||||||
|
- DecodeImage: # load image
|
||||||
|
img_mode: BGR
|
||||||
|
channel_first: False
|
||||||
|
- CTCLabelEncode: # Class handling label
|
||||||
|
- RecResizeImg:
|
||||||
|
image_shape: [3, 32, 100]
|
||||||
|
- KeepKeys:
|
||||||
|
keep_keys: ['image', 'label', 'length'] # dataloader will return list in this order
|
||||||
|
loader:
|
||||||
|
shuffle: False
|
||||||
|
drop_last: False
|
||||||
|
batch_size_per_card: 256
|
||||||
|
num_workers: 4
|
||||||
|
use_shared_memory: False
|
|
@ -1,5 +1,5 @@
|
||||||
===========================train_params===========================
|
===========================train_params===========================
|
||||||
model_name:ocr_system
|
model_name:ocr_system_mobile
|
||||||
python:python3.7
|
python:python3.7
|
||||||
gpu_list:null
|
gpu_list:null
|
||||||
Global.use_gpu:null
|
Global.use_gpu:null
|
||||||
|
|
|
@ -0,0 +1,66 @@
|
||||||
|
===========================train_params===========================
|
||||||
|
model_name:ocr_system_server
|
||||||
|
python:python3.7
|
||||||
|
gpu_list:null
|
||||||
|
Global.use_gpu:null
|
||||||
|
Global.auto_cast:null
|
||||||
|
Global.epoch_num:null
|
||||||
|
Global.save_model_dir:./output/
|
||||||
|
Train.loader.batch_size_per_card:null
|
||||||
|
Global.pretrained_model:null
|
||||||
|
train_model_name:null
|
||||||
|
train_infer_img_dir:null
|
||||||
|
null:null
|
||||||
|
##
|
||||||
|
trainer:
|
||||||
|
norm_train:null
|
||||||
|
pact_train:null
|
||||||
|
fpgm_train:null
|
||||||
|
distill_train:null
|
||||||
|
null:null
|
||||||
|
null:null
|
||||||
|
##
|
||||||
|
===========================eval_params===========================
|
||||||
|
eval:null
|
||||||
|
null:null
|
||||||
|
##
|
||||||
|
===========================infer_params===========================
|
||||||
|
Global.save_inference_dir:./output/
|
||||||
|
Global.pretrained_model:
|
||||||
|
norm_export:null
|
||||||
|
quant_export:null
|
||||||
|
fpgm_export:null
|
||||||
|
distill_export:null
|
||||||
|
export1:null
|
||||||
|
export2:null
|
||||||
|
##
|
||||||
|
infer_model:./inference/ch_ppocr_server_v2.0_det_infer/
|
||||||
|
infer_export:null
|
||||||
|
infer_quant:False
|
||||||
|
inference:tools/infer/predict_system.py
|
||||||
|
--use_gpu:True
|
||||||
|
--enable_mkldnn:True|False
|
||||||
|
--cpu_threads:1|6
|
||||||
|
--rec_batch_num:1
|
||||||
|
--use_tensorrt:False|True
|
||||||
|
--precision:fp32|fp16|int8
|
||||||
|
--det_model_dir:
|
||||||
|
--image_dir:./inference/ch_det_data_50/all-sum-510/
|
||||||
|
--save_log_path:null
|
||||||
|
--benchmark:True
|
||||||
|
--rec_model_dir:./inference/ch_ppocr_server_v2.0_rec_infer/
|
||||||
|
===========================cpp_infer_params===========================
|
||||||
|
use_opencv:True
|
||||||
|
infer_model:./inference/ch_ppocr_server_v2.0_det_infer/
|
||||||
|
infer_quant:False
|
||||||
|
inference:./deploy/cpp_infer/build/ppocr system
|
||||||
|
--use_gpu:True|False
|
||||||
|
--enable_mkldnn:True|False
|
||||||
|
--cpu_threads:1|6
|
||||||
|
--rec_batch_num:1
|
||||||
|
--use_tensorrt:False|True
|
||||||
|
--precision:fp32|fp16
|
||||||
|
--det_model_dir:
|
||||||
|
--image_dir:./inference/ch_det_data_50/all-sum-510/
|
||||||
|
--rec_model_dir:./inference/ch_ppocr_server_v2.0_rec_infer/
|
||||||
|
--benchmark:True
|
|
@ -63,4 +63,19 @@ inference:./deploy/cpp_infer/build/ppocr rec
|
||||||
--rec_model_dir:
|
--rec_model_dir:
|
||||||
--image_dir:./inference/rec_inference/
|
--image_dir:./inference/rec_inference/
|
||||||
null:null
|
null:null
|
||||||
--benchmark:True
|
--benchmark:True
|
||||||
|
===========================serving_params===========================
|
||||||
|
trans_model:-m paddle_serving_client.convert
|
||||||
|
--dirname:./inference/ch_ppocr_mobile_v2.0_rec_infer/
|
||||||
|
--model_filename:inference.pdmodel
|
||||||
|
--params_filename:inference.pdiparams
|
||||||
|
--serving_server:./deploy/pdserving/ppocr_rec_mobile_2.0_serving/
|
||||||
|
--serving_client:./deploy/pdserving/ppocr_rec_mobile_2.0_client/
|
||||||
|
serving_dir:./deploy/pdserving
|
||||||
|
web_service:web_service_rec.py --config=config.yml --opt op.rec.concurrency=1
|
||||||
|
op.rec.local_service_conf.devices:null|0
|
||||||
|
op.rec.local_service_conf.use_mkldnn:True|False
|
||||||
|
op.rec.local_service_conf.thread_num:1|6
|
||||||
|
op.rec.local_service_conf.use_trt:False|True
|
||||||
|
op.rec.local_service_conf.precision:fp32|fp16|int8
|
||||||
|
pipline:pipeline_http_client.py --image_dir=../../doc/imgs_words_en
|
|
@ -0,0 +1,81 @@
|
||||||
|
===========================train_params===========================
|
||||||
|
model_name:ocr_server_rec
|
||||||
|
python:python3.7
|
||||||
|
gpu_list:0|0,1
|
||||||
|
Global.use_gpu:True|True
|
||||||
|
Global.auto_cast:null
|
||||||
|
Global.epoch_num:lite_train_infer=2|whole_train_infer=300
|
||||||
|
Global.save_model_dir:./output/
|
||||||
|
Train.loader.batch_size_per_card:lite_train_infer=128|whole_train_infer=128
|
||||||
|
Global.pretrained_model:null
|
||||||
|
train_model_name:latest
|
||||||
|
train_infer_img_dir:./inference/rec_inference
|
||||||
|
null:null
|
||||||
|
##
|
||||||
|
trainer:norm_train|pact_train
|
||||||
|
norm_train:tools/train.py -c tests/configs/rec_icdar15_r34_train.yml -o
|
||||||
|
pact_train:deploy/slim/quantization/quant.py -c tests/configs/rec_icdar15_r34_train.yml -o
|
||||||
|
fpgm_train:null
|
||||||
|
distill_train:null
|
||||||
|
null:null
|
||||||
|
null:null
|
||||||
|
##
|
||||||
|
===========================eval_params===========================
|
||||||
|
eval:tools/eval.py -c tests/configs/rec_icdar15_r34_train.yml -o
|
||||||
|
null:null
|
||||||
|
##
|
||||||
|
===========================infer_params===========================
|
||||||
|
Global.save_inference_dir:./output/
|
||||||
|
Global.pretrained_model:
|
||||||
|
norm_export:tools/export_model.py -c tests/configs/rec_icdar15_r34_train.yml -o
|
||||||
|
quant_export:deploy/slim/quantization/export_model.py -c tests/configs/rec_icdar15_r34_train.yml -o
|
||||||
|
fpgm_export:null
|
||||||
|
distill_export:null
|
||||||
|
export1:null
|
||||||
|
export2:null
|
||||||
|
##
|
||||||
|
infer_model:./inference/ch_ppocr_server_v2.0_rec_infer/
|
||||||
|
infer_export:null
|
||||||
|
infer_quant:False
|
||||||
|
inference:tools/infer/predict_rec.py
|
||||||
|
--use_gpu:True|False
|
||||||
|
--enable_mkldnn:True|False
|
||||||
|
--cpu_threads:1|6
|
||||||
|
--rec_batch_num:1|6
|
||||||
|
--use_tensorrt:True|False
|
||||||
|
--precision:fp32|fp16|int8
|
||||||
|
--rec_model_dir:
|
||||||
|
--image_dir:./inference/rec_inference
|
||||||
|
--save_log_path:./test/output/
|
||||||
|
--benchmark:True
|
||||||
|
null:null
|
||||||
|
===========================cpp_infer_params===========================
|
||||||
|
use_opencv:True
|
||||||
|
infer_model:./inference/ch_ppocr_server_v2.0_rec_infer/
|
||||||
|
infer_quant:False
|
||||||
|
inference:./deploy/cpp_infer/build/ppocr rec
|
||||||
|
--use_gpu:True|False
|
||||||
|
--enable_mkldnn:True|False
|
||||||
|
--cpu_threads:1|6
|
||||||
|
--rec_batch_num:1
|
||||||
|
--use_tensorrt:False|True
|
||||||
|
--precision:fp32|fp16
|
||||||
|
--rec_model_dir:
|
||||||
|
--image_dir:./inference/rec_inference/
|
||||||
|
null:null
|
||||||
|
--benchmark:True
|
||||||
|
===========================serving_params===========================
|
||||||
|
trans_model:-m paddle_serving_client.convert
|
||||||
|
--dirname:./inference/ch_ppocr_server_v2.0_rec_infer/
|
||||||
|
--model_filename:inference.pdmodel
|
||||||
|
--params_filename:inference.pdiparams
|
||||||
|
--serving_server:./deploy/pdserving/ppocr_rec_server_2.0_serving/
|
||||||
|
--serving_client:./deploy/pdserving/ppocr_rec_server_2.0_client/
|
||||||
|
serving_dir:./deploy/pdserving
|
||||||
|
web_service:web_service_rec.py --config=config.yml --opt op.rec.concurrency=1
|
||||||
|
op.rec.local_service_conf.devices:null|0
|
||||||
|
op.rec.local_service_conf.use_mkldnn:True|False
|
||||||
|
op.rec.local_service_conf.thread_num:1|6
|
||||||
|
op.rec.local_service_conf.use_trt:False|True
|
||||||
|
op.rec.local_service_conf.precision:fp32|fp16|int8
|
||||||
|
pipline:pipeline_http_client.py --image_dir=../../doc/imgs_words_en
|
|
@ -75,17 +75,28 @@ elif [ ${MODE} = "infer" ];then
|
||||||
wget -nc -P ./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_server_v2.0_det_infer.tar
|
wget -nc -P ./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_server_v2.0_det_infer.tar
|
||||||
wget -nc -P ./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/test/ch_det_data_50.tar
|
wget -nc -P ./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/test/ch_det_data_50.tar
|
||||||
cd ./inference && tar xf ch_ppocr_server_v2.0_det_infer.tar && tar xf ch_det_data_50.tar && cd ../
|
cd ./inference && tar xf ch_ppocr_server_v2.0_det_infer.tar && tar xf ch_det_data_50.tar && cd ../
|
||||||
elif [ ${model_name} = "ocr_system" ]; then
|
elif [ ${model_name} = "ocr_system_mobile" ]; then
|
||||||
wget -nc -P ./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_det_infer.tar
|
wget -nc -P ./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_det_infer.tar
|
||||||
wget -nc -P ./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/test/ch_det_data_50.tar
|
wget -nc -P ./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/test/ch_det_data_50.tar
|
||||||
wget -nc -P ./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_rec_infer.tar
|
wget -nc -P ./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_rec_infer.tar
|
||||||
cd ./inference && tar xf ch_ppocr_mobile_v2.0_det_infer.tar && tar xf ch_ppocr_mobile_v2.0_rec_infer.tar && tar xf ch_det_data_50.tar && cd ../
|
cd ./inference && tar xf ch_ppocr_mobile_v2.0_det_infer.tar && tar xf ch_ppocr_mobile_v2.0_rec_infer.tar && tar xf ch_det_data_50.tar && cd ../
|
||||||
else
|
elif [ ${model_name} = "ocr_system_server" ]; then
|
||||||
|
wget -nc -P ./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_server_v2.0_det_infer.tar
|
||||||
|
wget -nc -P ./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/test/ch_det_data_50.tar
|
||||||
|
wget -nc -P ./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_server_v2.0_rec_infer.tar
|
||||||
|
cd ./inference && tar xf ch_ppocr_server_v2.0_det_infer.tar && tar xf ch_ppocr_server_v2.0_rec_infer.tar && tar xf ch_det_data_50.tar && cd ../
|
||||||
|
elif [ ${model_name} = "ocr_rec" ]; then
|
||||||
rm -rf ./train_data/ic15_data
|
rm -rf ./train_data/ic15_data
|
||||||
eval_model_name="ch_ppocr_mobile_v2.0_rec_infer"
|
eval_model_name="ch_ppocr_mobile_v2.0_rec_infer"
|
||||||
wget -nc -P ./inference/ https://paddleocr.bj.bcebos.com/dygraph_v2.0/test/rec_inference.tar
|
wget -nc -P ./inference/ https://paddleocr.bj.bcebos.com/dygraph_v2.0/test/rec_inference.tar
|
||||||
wget -nc -P ./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_rec_infer.tar
|
wget -nc -P ./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_rec_infer.tar
|
||||||
cd ./inference && tar xf ${eval_model_name}.tar && tar xf rec_inference.tar && cd ../
|
cd ./inference && tar xf ${eval_model_name}.tar && tar xf rec_inference.tar && cd ../
|
||||||
|
elif [ ${model_name} = "ocr_server_rec" ]; then
|
||||||
|
rm -rf ./train_data/ic15_data
|
||||||
|
eval_model_name="ch_ppocr_server_v2.0_rec_infer"
|
||||||
|
wget -nc -P ./inference/ https://paddleocr.bj.bcebos.com/dygraph_v2.0/test/rec_inference.tar
|
||||||
|
wget -nc -P ./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_server_v2.0_rec_infer.tar
|
||||||
|
cd ./inference && tar xf ${eval_model_name}.tar && tar xf rec_inference.tar && cd ../
|
||||||
fi
|
fi
|
||||||
elif [ ${MODE} = "cpp_infer" ];then
|
elif [ ${MODE} = "cpp_infer" ];then
|
||||||
if [ ${model_name} = "ocr_det" ]; then
|
if [ ${model_name} = "ocr_det" ]; then
|
||||||
|
@ -107,12 +118,15 @@ fi
|
||||||
if [ ${MODE} = "serving_infer" ];then
|
if [ ${MODE} = "serving_infer" ];then
|
||||||
# prepare serving env
|
# prepare serving env
|
||||||
python_name=$(func_parser_value "${lines[2]}")
|
python_name=$(func_parser_value "${lines[2]}")
|
||||||
${python_name} -m pip install install paddle-serving-server-gpu==0.6.1.post101
|
wget https://paddle-serving.bj.bcebos.com/chain/paddle_serving_server_gpu-0.0.0.post101-py3-none-any.whl
|
||||||
|
${python_name} -m pip install install paddle_serving_server_gpu-0.0.0.post101-py3-none-any.whl
|
||||||
${python_name} -m pip install paddle_serving_client==0.6.1
|
${python_name} -m pip install paddle_serving_client==0.6.1
|
||||||
${python_name} -m pip install paddle-serving-app==0.6.1
|
${python_name} -m pip install paddle-serving-app==0.6.3
|
||||||
wget -nc -P ./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_det_infer.tar
|
wget -nc -P ./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_det_infer.tar
|
||||||
wget -nc -P ./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_rec_infer.tar
|
wget -nc -P ./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_rec_infer.tar
|
||||||
cd ./inference && tar xf ch_ppocr_mobile_v2.0_det_infer.tar && tar xf ch_ppocr_mobile_v2.0_rec_infer.tar && cd ../
|
wget -nc -P ./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_server_v2.0_det_infer.tar
|
||||||
|
wget -nc -P ./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_server_v2.0_rec_infer.tar
|
||||||
|
cd ./inference && tar xf ch_ppocr_mobile_v2.0_det_infer.tar && tar xf ch_ppocr_mobile_v2.0_rec_infer.tar && tar xf ch_ppocr_server_v2.0_rec_infer.tar && tar xf ch_ppocr_server_v2.0_det_infer.tar cd ../
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ${MODE} = "cpp_infer" ];then
|
if [ ${MODE} = "cpp_infer" ];then
|
||||||
|
|
Loading…
Reference in New Issue