mirror of
https://github.com/PaddlePaddle/PaddleOCR.git
synced 2025-09-07 23:31:54 +00:00
Merge pull request #4760 from andyjpaddle/tipc
add rec attention model to tipc
This commit is contained in:
commit
d7e7e9e408
103
test_tipc/configs/rec_mtb_nrtr/rec_mtb_nrtr.yml
Normal file
103
test_tipc/configs/rec_mtb_nrtr/rec_mtb_nrtr.yml
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
Global:
|
||||||
|
use_gpu: True
|
||||||
|
epoch_num: 21
|
||||||
|
log_smooth_window: 20
|
||||||
|
print_batch_step: 10
|
||||||
|
save_model_dir: ./output/rec/nrtr/
|
||||||
|
save_epoch_step: 1
|
||||||
|
# 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_symbol_dict.txt
|
||||||
|
max_text_length: 25
|
||||||
|
infer_mode: False
|
||||||
|
use_space_char: False
|
||||||
|
save_res_path: ./output/rec/predicts_nrtr.txt
|
||||||
|
|
||||||
|
Optimizer:
|
||||||
|
name: Adam
|
||||||
|
beta1: 0.9
|
||||||
|
beta2: 0.99
|
||||||
|
clip_norm: 5.0
|
||||||
|
lr:
|
||||||
|
name: Cosine
|
||||||
|
learning_rate: 0.0005
|
||||||
|
warmup_epoch: 2
|
||||||
|
regularizer:
|
||||||
|
name: 'L2'
|
||||||
|
factor: 0.
|
||||||
|
|
||||||
|
Architecture:
|
||||||
|
model_type: rec
|
||||||
|
algorithm: NRTR
|
||||||
|
in_channels: 1
|
||||||
|
Transform:
|
||||||
|
Backbone:
|
||||||
|
name: MTB
|
||||||
|
cnn_num: 2
|
||||||
|
Head:
|
||||||
|
name: Transformer
|
||||||
|
d_model: 512
|
||||||
|
num_encoder_layers: 6
|
||||||
|
beam_size: -1 # When Beam size is greater than 0, it means to use beam search when evaluation.
|
||||||
|
|
||||||
|
|
||||||
|
Loss:
|
||||||
|
name: NRTRLoss
|
||||||
|
smoothing: True
|
||||||
|
|
||||||
|
PostProcess:
|
||||||
|
name: NRTRLabelDecode
|
||||||
|
|
||||||
|
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
|
||||||
|
- NRTRLabelEncode: # Class handling label
|
||||||
|
- NRTRRecResizeImg:
|
||||||
|
image_shape: [100, 32]
|
||||||
|
resize_type: PIL # PIL or OpenCV
|
||||||
|
- KeepKeys:
|
||||||
|
keep_keys: ['image', 'label', 'length'] # dataloader will return list in this order
|
||||||
|
loader:
|
||||||
|
shuffle: True
|
||||||
|
batch_size_per_card: 512
|
||||||
|
drop_last: True
|
||||||
|
num_workers: 8
|
||||||
|
|
||||||
|
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
|
||||||
|
- NRTRLabelEncode: # Class handling label
|
||||||
|
- NRTRRecResizeImg:
|
||||||
|
image_shape: [100, 32]
|
||||||
|
resize_type: PIL # PIL or OpenCV
|
||||||
|
- 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: 1
|
||||||
|
use_shared_memory: False
|
52
test_tipc/configs/rec_mtb_nrtr/train_infer_python.txt
Normal file
52
test_tipc/configs/rec_mtb_nrtr/train_infer_python.txt
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
===========================train_params===========================
|
||||||
|
model_name:rec_mtb_nrtr
|
||||||
|
python:python3.7
|
||||||
|
gpu_list:0|0,1
|
||||||
|
Global.use_gpu:True|True
|
||||||
|
Global.auto_cast:null
|
||||||
|
Global.epoch_num:lite_train_lite_infer=2|whole_train_whole_infer=300
|
||||||
|
Global.save_model_dir:./output/
|
||||||
|
Train.loader.batch_size_per_card:lite_train_lite_infer=128|whole_train_whole_infer=128
|
||||||
|
Global.pretrained_model:null
|
||||||
|
train_model_name:latest
|
||||||
|
train_infer_img_dir:./inference/rec_inference
|
||||||
|
null:null
|
||||||
|
##
|
||||||
|
trainer:norm_train
|
||||||
|
norm_train:tools/train.py -c test_tipc/configs/rec_mtb_nrtr/rec_mtb_nrtr.yml -o
|
||||||
|
pact_train:null
|
||||||
|
fpgm_train:null
|
||||||
|
distill_train:null
|
||||||
|
null:null
|
||||||
|
null:null
|
||||||
|
##
|
||||||
|
===========================eval_params===========================
|
||||||
|
eval:tools/eval.py -c test_tipc/configs/rec_mtb_nrtr/rec_mtb_nrtr.yml -o
|
||||||
|
null:null
|
||||||
|
##
|
||||||
|
===========================infer_params===========================
|
||||||
|
Global.save_inference_dir:./output/
|
||||||
|
Global.pretrained_model:
|
||||||
|
norm_export:tools/export_model.py -c test_tipc/configs/rec_mtb_nrtr/rec_mtb_nrtr.yml -o
|
||||||
|
quant_export:null
|
||||||
|
fpgm_export:null
|
||||||
|
distill_export:null
|
||||||
|
export1:null
|
||||||
|
export2:null
|
||||||
|
##
|
||||||
|
infer_model:null
|
||||||
|
infer_export:tools/export_model.py -c test_tipc/configs/rec_mtb_nrtr/rec_mtb_nrtr.yml -o
|
||||||
|
infer_quant:False
|
||||||
|
inference:tools/infer/predict_rec.py --rec_char_dict_path=./ppocr/utils/EN_symbol_dict.txt --rec_image_shape="1,32,100" --rec_algorithm="NRTR"
|
||||||
|
--use_gpu:True|False
|
||||||
|
--enable_mkldnn:True|False
|
||||||
|
--cpu_threads:1|6
|
||||||
|
--rec_batch_num:1|6
|
||||||
|
--use_tensorrt:True|False
|
||||||
|
--precision:fp32|int8
|
||||||
|
--rec_model_dir:
|
||||||
|
--image_dir:./inference/rec_inference
|
||||||
|
--save_log_path:./test/output/
|
||||||
|
--benchmark:True
|
||||||
|
null:null
|
||||||
|
|
@ -0,0 +1,103 @@
|
|||||||
|
Global:
|
||||||
|
use_gpu: True
|
||||||
|
epoch_num: 72
|
||||||
|
log_smooth_window: 20
|
||||||
|
print_batch_step: 10
|
||||||
|
save_model_dir: ./output/rec/rec_mv3_tps_bilstm_att/
|
||||||
|
save_epoch_step: 3
|
||||||
|
# evaluation is run every 5000 iterations after the 4000th iteration
|
||||||
|
eval_batch_step: [0, 2000]
|
||||||
|
cal_metric_during_train: True
|
||||||
|
pretrained_model:
|
||||||
|
checkpoints:
|
||||||
|
save_inference_dir:
|
||||||
|
use_visualdl: False
|
||||||
|
infer_img: doc/imgs_words/ch/word_1.jpg
|
||||||
|
# for data or label process
|
||||||
|
character_dict_path:
|
||||||
|
max_text_length: 25
|
||||||
|
infer_mode: False
|
||||||
|
use_space_char: False
|
||||||
|
save_res_path: ./output/rec/predicts_mv3_tps_bilstm_att.txt
|
||||||
|
|
||||||
|
|
||||||
|
Optimizer:
|
||||||
|
name: Adam
|
||||||
|
beta1: 0.9
|
||||||
|
beta2: 0.999
|
||||||
|
lr:
|
||||||
|
learning_rate: 0.0005
|
||||||
|
regularizer:
|
||||||
|
name: 'L2'
|
||||||
|
factor: 0.00001
|
||||||
|
|
||||||
|
Architecture:
|
||||||
|
model_type: rec
|
||||||
|
algorithm: RARE
|
||||||
|
Transform:
|
||||||
|
name: TPS
|
||||||
|
num_fiducial: 20
|
||||||
|
loc_lr: 0.1
|
||||||
|
model_name: small
|
||||||
|
Backbone:
|
||||||
|
name: MobileNetV3
|
||||||
|
scale: 0.5
|
||||||
|
model_name: large
|
||||||
|
Neck:
|
||||||
|
name: SequenceEncoder
|
||||||
|
encoder_type: rnn
|
||||||
|
hidden_size: 96
|
||||||
|
Head:
|
||||||
|
name: AttentionHead
|
||||||
|
hidden_size: 96
|
||||||
|
|
||||||
|
|
||||||
|
Loss:
|
||||||
|
name: AttentionLoss
|
||||||
|
|
||||||
|
PostProcess:
|
||||||
|
name: AttnLabelDecode
|
||||||
|
|
||||||
|
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
|
||||||
|
- AttnLabelEncode: # 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
|
||||||
|
|
||||||
|
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
|
||||||
|
- AttnLabelEncode: # 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: 1
|
@ -0,0 +1,52 @@
|
|||||||
|
===========================train_params===========================
|
||||||
|
model_name:rec_mv3_tps_bilstm_att_v2.0
|
||||||
|
python:python3.7
|
||||||
|
gpu_list:0|0,1
|
||||||
|
Global.use_gpu:True|True
|
||||||
|
Global.auto_cast:null
|
||||||
|
Global.epoch_num:lite_train_lite_infer=2|whole_train_whole_infer=300
|
||||||
|
Global.save_model_dir:./output/
|
||||||
|
Train.loader.batch_size_per_card:lite_train_lite_infer=128|whole_train_whole_infer=128
|
||||||
|
Global.pretrained_model:null
|
||||||
|
train_model_name:latest
|
||||||
|
train_infer_img_dir:./inference/rec_inference
|
||||||
|
null:null
|
||||||
|
##
|
||||||
|
trainer:norm_train
|
||||||
|
norm_train:tools/train.py -c test_tipc/configs/rec_mv3_tps_bilstm_att_v2.0/rec_mv3_tps_bilstm_att.yml -o
|
||||||
|
pact_train:null
|
||||||
|
fpgm_train:null
|
||||||
|
distill_train:null
|
||||||
|
null:null
|
||||||
|
null:null
|
||||||
|
##
|
||||||
|
===========================eval_params===========================
|
||||||
|
eval:tools/eval.py -c test_tipc/configs/rec_mv3_tps_bilstm_att_v2.0/rec_mv3_tps_bilstm_att.yml -o
|
||||||
|
null:null
|
||||||
|
##
|
||||||
|
===========================infer_params===========================
|
||||||
|
Global.save_inference_dir:./output/
|
||||||
|
Global.pretrained_model:
|
||||||
|
norm_export:tools/export_model.py -c test_tipc/configs/rec_mv3_tps_bilstm_att_v2.0/rec_mv3_tps_bilstm_att.yml -o
|
||||||
|
quant_export:null
|
||||||
|
fpgm_export:null
|
||||||
|
distill_export:null
|
||||||
|
export1:null
|
||||||
|
export2:null
|
||||||
|
##
|
||||||
|
infer_model:null
|
||||||
|
infer_export:tools/export_model.py -c test_tipc/configs/rec_mv3_tps_bilstm_att_v2.0/rec_mv3_tps_bilstm_att.yml -o
|
||||||
|
infer_quant:False
|
||||||
|
inference:tools/infer/predict_rec.py --rec_char_dict_path=./ppocr/utils/ic15_dict.txt --rec_image_shape="3,32,100" --rec_algorithm="RARE"
|
||||||
|
--use_gpu:True|False
|
||||||
|
--enable_mkldnn:True|False
|
||||||
|
--cpu_threads:1|6
|
||||||
|
--rec_batch_num:1|6
|
||||||
|
--use_tensorrt:True|False
|
||||||
|
--precision:fp32|int8
|
||||||
|
--rec_model_dir:
|
||||||
|
--image_dir:./inference/rec_inference
|
||||||
|
--save_log_path:./test/output/
|
||||||
|
--benchmark:True
|
||||||
|
null:null
|
||||||
|
|
98
test_tipc/configs/rec_r31_sar/rec_r31_sar.yml
Normal file
98
test_tipc/configs/rec_r31_sar/rec_r31_sar.yml
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
Global:
|
||||||
|
use_gpu: true
|
||||||
|
epoch_num: 5
|
||||||
|
log_smooth_window: 20
|
||||||
|
print_batch_step: 20
|
||||||
|
save_model_dir: ./sar_rec
|
||||||
|
save_epoch_step: 1
|
||||||
|
# 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:
|
||||||
|
# for data or label process
|
||||||
|
character_dict_path: ppocr/utils/dict90.txt
|
||||||
|
max_text_length: 30
|
||||||
|
infer_mode: False
|
||||||
|
use_space_char: False
|
||||||
|
rm_symbol: True
|
||||||
|
save_res_path: ./output/rec/predicts_sar.txt
|
||||||
|
|
||||||
|
Optimizer:
|
||||||
|
name: Adam
|
||||||
|
beta1: 0.9
|
||||||
|
beta2: 0.999
|
||||||
|
lr:
|
||||||
|
name: Piecewise
|
||||||
|
decay_epochs: [3, 4]
|
||||||
|
values: [0.001, 0.0001, 0.00001]
|
||||||
|
regularizer:
|
||||||
|
name: 'L2'
|
||||||
|
factor: 0
|
||||||
|
|
||||||
|
Architecture:
|
||||||
|
model_type: rec
|
||||||
|
algorithm: SAR
|
||||||
|
Transform:
|
||||||
|
Backbone:
|
||||||
|
name: ResNet31
|
||||||
|
Head:
|
||||||
|
name: SARHead
|
||||||
|
|
||||||
|
Loss:
|
||||||
|
name: SARLoss
|
||||||
|
|
||||||
|
PostProcess:
|
||||||
|
name: SARLabelDecode
|
||||||
|
|
||||||
|
Metric:
|
||||||
|
name: RecMetric
|
||||||
|
|
||||||
|
|
||||||
|
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
|
||||||
|
- SARLabelEncode: # Class handling label
|
||||||
|
- SARRecResizeImg:
|
||||||
|
image_shape: [3, 48, 48, 160] # h:48 w:[48,160]
|
||||||
|
width_downsample_ratio: 0.25
|
||||||
|
- KeepKeys:
|
||||||
|
keep_keys: ['image', 'label', 'valid_ratio'] # dataloader will return list in this order
|
||||||
|
loader:
|
||||||
|
shuffle: True
|
||||||
|
batch_size_per_card: 64
|
||||||
|
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
|
||||||
|
- SARLabelEncode: # Class handling label
|
||||||
|
- SARRecResizeImg:
|
||||||
|
image_shape: [3, 48, 48, 160]
|
||||||
|
width_downsample_ratio: 0.25
|
||||||
|
- KeepKeys:
|
||||||
|
keep_keys: ['image', 'label', 'valid_ratio'] # dataloader will return list in this order
|
||||||
|
loader:
|
||||||
|
shuffle: False
|
||||||
|
drop_last: False
|
||||||
|
batch_size_per_card: 64
|
||||||
|
num_workers: 4
|
||||||
|
use_shared_memory: False
|
||||||
|
|
52
test_tipc/configs/rec_r31_sar/train_infer_python.txt
Normal file
52
test_tipc/configs/rec_r31_sar/train_infer_python.txt
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
===========================train_params===========================
|
||||||
|
model_name:rec_r31_sar
|
||||||
|
python:python3.7
|
||||||
|
gpu_list:0|0,1
|
||||||
|
Global.use_gpu:True|True
|
||||||
|
Global.auto_cast:null
|
||||||
|
Global.epoch_num:lite_train_lite_infer=2|whole_train_whole_infer=300
|
||||||
|
Global.save_model_dir:./output/
|
||||||
|
Train.loader.batch_size_per_card:lite_train_lite_infer=128|whole_train_whole_infer=128
|
||||||
|
Global.pretrained_model:null
|
||||||
|
train_model_name:latest
|
||||||
|
train_infer_img_dir:./inference/rec_inference
|
||||||
|
null:null
|
||||||
|
##
|
||||||
|
trainer:norm_train
|
||||||
|
norm_train:tools/train.py -c test_tipc/configs/rec_r31_sar/rec_r31_sar.yml -o
|
||||||
|
pact_train:null
|
||||||
|
fpgm_train:null
|
||||||
|
distill_train:null
|
||||||
|
null:null
|
||||||
|
null:null
|
||||||
|
##
|
||||||
|
===========================eval_params===========================
|
||||||
|
eval:tools/eval.py -c test_tipc/configs/rec_r31_sar/rec_r31_sar.yml -o
|
||||||
|
null:null
|
||||||
|
##
|
||||||
|
===========================infer_params===========================
|
||||||
|
Global.save_inference_dir:./output/
|
||||||
|
Global.pretrained_model:
|
||||||
|
norm_export:tools/export_model.py -c test_tipc/configs/rec_r31_sar/rec_r31_sar.yml -o
|
||||||
|
quant_export:null
|
||||||
|
fpgm_export:null
|
||||||
|
distill_export:null
|
||||||
|
export1:null
|
||||||
|
export2:null
|
||||||
|
##
|
||||||
|
infer_model:null
|
||||||
|
infer_export:tools/export_model.py -c test_tipc/configs/rec_r31_sar/rec_r31_sar.yml -o
|
||||||
|
infer_quant:False
|
||||||
|
inference:tools/infer/predict_rec.py --rec_char_dict_path=./ppocr/utils/dict90.txt --rec_image_shape="3,48,48,160" --rec_algorithm="SAR"
|
||||||
|
--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
|
||||||
|
|
@ -0,0 +1,102 @@
|
|||||||
|
Global:
|
||||||
|
use_gpu: True
|
||||||
|
epoch_num: 400
|
||||||
|
log_smooth_window: 20
|
||||||
|
print_batch_step: 10
|
||||||
|
save_model_dir: ./output/rec/b3_rare_r34_none_gru/
|
||||||
|
save_epoch_step: 3
|
||||||
|
# evaluation is run every 5000 iterations after the 4000th iteration
|
||||||
|
eval_batch_step: [0, 2000]
|
||||||
|
cal_metric_during_train: True
|
||||||
|
pretrained_model:
|
||||||
|
checkpoints:
|
||||||
|
save_inference_dir:
|
||||||
|
use_visualdl: False
|
||||||
|
infer_img: doc/imgs_words/ch/word_1.jpg
|
||||||
|
# for data or label process
|
||||||
|
character_dict_path:
|
||||||
|
max_text_length: 25
|
||||||
|
infer_mode: False
|
||||||
|
use_space_char: False
|
||||||
|
save_res_path: ./output/rec/predicts_b3_rare_r34_none_gru.txt
|
||||||
|
|
||||||
|
|
||||||
|
Optimizer:
|
||||||
|
name: Adam
|
||||||
|
beta1: 0.9
|
||||||
|
beta2: 0.999
|
||||||
|
lr:
|
||||||
|
learning_rate: 0.0005
|
||||||
|
regularizer:
|
||||||
|
name: 'L2'
|
||||||
|
factor: 0.00000
|
||||||
|
|
||||||
|
Architecture:
|
||||||
|
model_type: rec
|
||||||
|
algorithm: RARE
|
||||||
|
Transform:
|
||||||
|
name: TPS
|
||||||
|
num_fiducial: 20
|
||||||
|
loc_lr: 0.1
|
||||||
|
model_name: large
|
||||||
|
Backbone:
|
||||||
|
name: ResNet
|
||||||
|
layers: 34
|
||||||
|
Neck:
|
||||||
|
name: SequenceEncoder
|
||||||
|
encoder_type: rnn
|
||||||
|
hidden_size: 256 #96
|
||||||
|
Head:
|
||||||
|
name: AttentionHead # AttentionHead
|
||||||
|
hidden_size: 256 #
|
||||||
|
l2_decay: 0.00001
|
||||||
|
|
||||||
|
Loss:
|
||||||
|
name: AttentionLoss
|
||||||
|
|
||||||
|
PostProcess:
|
||||||
|
name: AttnLabelDecode
|
||||||
|
|
||||||
|
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
|
||||||
|
- AttnLabelEncode: # 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
|
||||||
|
|
||||||
|
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
|
||||||
|
- AttnLabelEncode: # 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: 8
|
@ -0,0 +1,52 @@
|
|||||||
|
===========================train_params===========================
|
||||||
|
model_name:rec_r34_vd_tps_bilstm_att_v2.0
|
||||||
|
python:python3.7
|
||||||
|
gpu_list:0|0,1
|
||||||
|
Global.use_gpu:True|True
|
||||||
|
Global.auto_cast:null
|
||||||
|
Global.epoch_num:lite_train_lite_infer=2|whole_train_whole_infer=300
|
||||||
|
Global.save_model_dir:./output/
|
||||||
|
Train.loader.batch_size_per_card:lite_train_lite_infer=128|whole_train_whole_infer=128
|
||||||
|
Global.pretrained_model:null
|
||||||
|
train_model_name:latest
|
||||||
|
train_infer_img_dir:./inference/rec_inference
|
||||||
|
null:null
|
||||||
|
##
|
||||||
|
trainer:norm_train
|
||||||
|
norm_train:tools/train.py -c test_tipc/configs/rec_r34_vd_tps_bilstm_att_v2.0/rec_r34_vd_tps_bilstm_att.yml -o
|
||||||
|
pact_train:null
|
||||||
|
fpgm_train:null
|
||||||
|
distill_train:null
|
||||||
|
null:null
|
||||||
|
null:null
|
||||||
|
##
|
||||||
|
===========================eval_params===========================
|
||||||
|
eval:tools/eval.py -c test_tipc/configs/rec_r34_vd_tps_bilstm_att_v2.0/rec_r34_vd_tps_bilstm_att.yml -o
|
||||||
|
null:null
|
||||||
|
##
|
||||||
|
===========================infer_params===========================
|
||||||
|
Global.save_inference_dir:./output/
|
||||||
|
Global.pretrained_model:
|
||||||
|
norm_export:tools/export_model.py -c test_tipc/configs/rec_r34_vd_tps_bilstm_att_v2.0/rec_r34_vd_tps_bilstm_att.yml -o
|
||||||
|
quant_export:null
|
||||||
|
fpgm_export:null
|
||||||
|
distill_export:null
|
||||||
|
export1:null
|
||||||
|
export2:null
|
||||||
|
##
|
||||||
|
infer_model:null
|
||||||
|
infer_export:tools/export_model.py -c test_tipc/configs/rec_r34_vd_tps_bilstm_att_v2.0/rec_r34_vd_tps_bilstm_att.yml -o
|
||||||
|
infer_quant:False
|
||||||
|
inference:tools/infer/predict_rec.py --rec_char_dict_path=./ppocr/utils/ic15_dict.txt --rec_image_shape="3,32,100" --rec_algorithm="RARE"
|
||||||
|
--use_gpu:True|False
|
||||||
|
--enable_mkldnn:True|False
|
||||||
|
--cpu_threads:1|6
|
||||||
|
--rec_batch_num:1|6
|
||||||
|
--use_tensorrt:True|False
|
||||||
|
--precision:fp32|int8
|
||||||
|
--rec_model_dir:
|
||||||
|
--image_dir:./inference/rec_inference
|
||||||
|
--save_log_path:./test/output/
|
||||||
|
--benchmark:True
|
||||||
|
null:null
|
||||||
|
|
108
test_tipc/configs/rec_r50_fpn_vd_none_srn/rec_r50_fpn_srn.yml
Normal file
108
test_tipc/configs/rec_r50_fpn_vd_none_srn/rec_r50_fpn_srn.yml
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
Global:
|
||||||
|
use_gpu: True
|
||||||
|
epoch_num: 72
|
||||||
|
log_smooth_window: 20
|
||||||
|
print_batch_step: 5
|
||||||
|
save_model_dir: ./output/rec/srn_new
|
||||||
|
save_epoch_step: 3
|
||||||
|
# evaluation is run every 5000 iterations after the 4000th iteration
|
||||||
|
eval_batch_step: [0, 5000]
|
||||||
|
cal_metric_during_train: True
|
||||||
|
pretrained_model:
|
||||||
|
checkpoints:
|
||||||
|
save_inference_dir:
|
||||||
|
use_visualdl: False
|
||||||
|
infer_img: doc/imgs_words/ch/word_1.jpg
|
||||||
|
# for data or label process
|
||||||
|
character_dict_path:
|
||||||
|
max_text_length: 25
|
||||||
|
num_heads: 8
|
||||||
|
infer_mode: False
|
||||||
|
use_space_char: False
|
||||||
|
save_res_path: ./output/rec/predicts_srn.txt
|
||||||
|
|
||||||
|
|
||||||
|
Optimizer:
|
||||||
|
name: Adam
|
||||||
|
beta1: 0.9
|
||||||
|
beta2: 0.999
|
||||||
|
clip_norm: 10.0
|
||||||
|
lr:
|
||||||
|
learning_rate: 0.0001
|
||||||
|
|
||||||
|
Architecture:
|
||||||
|
model_type: rec
|
||||||
|
algorithm: SRN
|
||||||
|
in_channels: 1
|
||||||
|
Transform:
|
||||||
|
Backbone:
|
||||||
|
name: ResNetFPN
|
||||||
|
Head:
|
||||||
|
name: SRNHead
|
||||||
|
max_text_length: 25
|
||||||
|
num_heads: 8
|
||||||
|
num_encoder_TUs: 2
|
||||||
|
num_decoder_TUs: 4
|
||||||
|
hidden_dims: 512
|
||||||
|
|
||||||
|
Loss:
|
||||||
|
name: SRNLoss
|
||||||
|
|
||||||
|
PostProcess:
|
||||||
|
name: SRNLabelDecode
|
||||||
|
|
||||||
|
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
|
||||||
|
- SRNLabelEncode: # Class handling label
|
||||||
|
- SRNRecResizeImg:
|
||||||
|
image_shape: [1, 64, 256]
|
||||||
|
- KeepKeys:
|
||||||
|
keep_keys: ['image',
|
||||||
|
'label',
|
||||||
|
'length',
|
||||||
|
'encoder_word_pos',
|
||||||
|
'gsrm_word_pos',
|
||||||
|
'gsrm_slf_attn_bias1',
|
||||||
|
'gsrm_slf_attn_bias2'] # dataloader will return list in this order
|
||||||
|
loader:
|
||||||
|
shuffle: False
|
||||||
|
batch_size_per_card: 64
|
||||||
|
drop_last: False
|
||||||
|
num_workers: 4
|
||||||
|
|
||||||
|
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
|
||||||
|
- SRNLabelEncode: # Class handling label
|
||||||
|
- SRNRecResizeImg:
|
||||||
|
image_shape: [1, 64, 256]
|
||||||
|
- KeepKeys:
|
||||||
|
keep_keys: ['image',
|
||||||
|
'label',
|
||||||
|
'length',
|
||||||
|
'encoder_word_pos',
|
||||||
|
'gsrm_word_pos',
|
||||||
|
'gsrm_slf_attn_bias1',
|
||||||
|
'gsrm_slf_attn_bias2']
|
||||||
|
loader:
|
||||||
|
shuffle: False
|
||||||
|
drop_last: False
|
||||||
|
batch_size_per_card: 32
|
||||||
|
num_workers: 4
|
@ -0,0 +1,52 @@
|
|||||||
|
===========================train_params===========================
|
||||||
|
model_name:rec_r50_fpn_vd_none_srn
|
||||||
|
python:python3.7
|
||||||
|
gpu_list:0|0,1
|
||||||
|
Global.use_gpu:True|True
|
||||||
|
Global.auto_cast:null
|
||||||
|
Global.epoch_num:lite_train_lite_infer=2|whole_train_whole_infer=300
|
||||||
|
Global.save_model_dir:./output/
|
||||||
|
Train.loader.batch_size_per_card:lite_train_lite_infer=128|whole_train_whole_infer=128
|
||||||
|
Global.pretrained_model:null
|
||||||
|
train_model_name:latest
|
||||||
|
train_infer_img_dir:./inference/rec_inference
|
||||||
|
null:null
|
||||||
|
##
|
||||||
|
trainer:norm_train
|
||||||
|
norm_train:tools/train.py -c test_tipc/configs/rec_r50_fpn_vd_none_srn/rec_r50_fpn_srn.yml -o
|
||||||
|
pact_train:null
|
||||||
|
fpgm_train:null
|
||||||
|
distill_train:null
|
||||||
|
null:null
|
||||||
|
null:null
|
||||||
|
##
|
||||||
|
===========================eval_params===========================
|
||||||
|
eval:tools/eval.py -c test_tipc/configs/rec_r50_fpn_vd_none_srn/rec_r50_fpn_srn.yml -o
|
||||||
|
null:null
|
||||||
|
##
|
||||||
|
===========================infer_params===========================
|
||||||
|
Global.save_inference_dir:./output/
|
||||||
|
Global.pretrained_model:
|
||||||
|
norm_export:tools/export_model.py -c test_tipc/configs/rec_r50_fpn_vd_none_srn/rec_r50_fpn_srn.yml -o
|
||||||
|
quant_export:null
|
||||||
|
fpgm_export:null
|
||||||
|
distill_export:null
|
||||||
|
export1:null
|
||||||
|
export2:null
|
||||||
|
##
|
||||||
|
infer_model:null
|
||||||
|
infer_export:tools/export_model.py -c test_tipc/configs/rec_r50_fpn_vd_none_srn/rec_r50_fpn_srn.yml -o
|
||||||
|
infer_quant:False
|
||||||
|
inference:tools/infer/predict_rec.py --rec_char_dict_path=./ppocr/utils/ic15_dict.txt --rec_image_shape="1,64,256" --rec_algorithm="SRN" --use_space_char=False
|
||||||
|
--use_gpu:True|False
|
||||||
|
--enable_mkldnn:True|False
|
||||||
|
--cpu_threads:1|6
|
||||||
|
--rec_batch_num:1|6
|
||||||
|
--use_tensorrt:True|False
|
||||||
|
--precision:fp32|int8
|
||||||
|
--rec_model_dir:
|
||||||
|
--image_dir:./inference/rec_inference
|
||||||
|
--save_log_path:./test/output/
|
||||||
|
--benchmark:True
|
||||||
|
null:null
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user