2022-04-26 18:30:26 +08:00
|
|
|
Global:
|
|
|
|
use_gpu: True
|
|
|
|
epoch_num: 20
|
|
|
|
log_smooth_window: 20
|
|
|
|
print_batch_step: 10
|
2022-04-27 11:42:23 +08:00
|
|
|
save_model_dir: ./output/rec/svtr/
|
2022-04-26 18:30:26 +08:00
|
|
|
save_epoch_step: 1
|
|
|
|
# evaluation is run every 2000 iterations after the 0th 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_en/word_10.png
|
|
|
|
# for data or label process
|
|
|
|
character_dict_path:
|
|
|
|
character_type: en
|
|
|
|
max_text_length: 25
|
|
|
|
infer_mode: False
|
|
|
|
use_space_char: False
|
|
|
|
save_res_path: ./output/rec/predicts_svtr_tiny.txt
|
|
|
|
|
|
|
|
|
|
|
|
Optimizer:
|
|
|
|
name: AdamW
|
|
|
|
beta1: 0.9
|
|
|
|
beta2: 0.99
|
2023-01-19 22:14:31 +08:00
|
|
|
epsilon: 1.e-8
|
2022-04-26 18:30:26 +08:00
|
|
|
weight_decay: 0.05
|
|
|
|
no_weight_decay_name: norm pos_embed
|
2023-01-19 22:14:31 +08:00
|
|
|
one_dim_param_no_weight_decay: True
|
2022-04-26 18:30:26 +08:00
|
|
|
lr:
|
|
|
|
name: Cosine
|
|
|
|
learning_rate: 0.0005
|
|
|
|
warmup_epoch: 2
|
|
|
|
|
|
|
|
Architecture:
|
|
|
|
model_type: rec
|
|
|
|
algorithm: SVTR
|
|
|
|
Transform:
|
|
|
|
name: STN_ON
|
|
|
|
tps_inputsize: [32, 64]
|
|
|
|
tps_outputsize: [32, 100]
|
|
|
|
num_control_points: 20
|
|
|
|
tps_margins: [0.05,0.05]
|
|
|
|
stn_activation: none
|
|
|
|
Backbone:
|
|
|
|
name: SVTRNet
|
2022-04-26 20:59:48 +08:00
|
|
|
img_size: [32, 100]
|
2023-01-19 22:14:31 +08:00
|
|
|
out_char_num: 25 # W//4 or W//8 or W/12
|
2022-04-26 20:59:48 +08:00
|
|
|
out_channels: 192
|
|
|
|
patch_merging: 'Conv'
|
|
|
|
embed_dim: [64, 128, 256]
|
|
|
|
depth: [3, 6, 3]
|
|
|
|
num_heads: [2, 4, 8]
|
|
|
|
mixer: ['Local','Local','Local','Local','Local','Local','Global','Global','Global','Global','Global','Global']
|
|
|
|
local_mixer: [[7, 11], [7, 11], [7, 11]]
|
|
|
|
last_stage: True
|
2023-01-19 22:14:31 +08:00
|
|
|
prenorm: False
|
2022-04-26 18:30:26 +08:00
|
|
|
Neck:
|
|
|
|
name: SequenceEncoder
|
|
|
|
encoder_type: reshape
|
|
|
|
Head:
|
|
|
|
name: CTCHead
|
|
|
|
|
|
|
|
Loss:
|
|
|
|
name: CTCLoss
|
|
|
|
|
|
|
|
PostProcess:
|
|
|
|
name: CTCLabelDecode
|
|
|
|
|
|
|
|
Metric:
|
|
|
|
name: RecMetric
|
|
|
|
main_indicator: acc
|
|
|
|
|
|
|
|
Train:
|
|
|
|
dataset:
|
|
|
|
name: LMDBDataSet
|
2022-07-20 16:57:55 +08:00
|
|
|
data_dir: ./train_data/data_lmdb_release/training/
|
2022-04-26 18:30:26 +08:00
|
|
|
transforms:
|
|
|
|
- DecodeImage: # load image
|
|
|
|
img_mode: BGR
|
|
|
|
channel_first: False
|
2023-01-19 22:14:31 +08:00
|
|
|
- SVTRRecAug:
|
|
|
|
aug_type: 0 # or 1
|
2022-04-26 18:30:26 +08:00
|
|
|
- CTCLabelEncode: # Class handling label
|
2022-06-28 15:06:53 +08:00
|
|
|
- SVTRRecResizeImg:
|
2022-04-26 18:30:26 +08:00
|
|
|
image_shape: [3, 64, 256]
|
|
|
|
padding: False
|
|
|
|
- KeepKeys:
|
|
|
|
keep_keys: ['image', 'label', 'length'] # dataloader will return list in this order
|
|
|
|
loader:
|
|
|
|
shuffle: True
|
|
|
|
batch_size_per_card: 512
|
|
|
|
drop_last: True
|
2023-01-19 22:14:31 +08:00
|
|
|
num_workers: 8
|
2022-04-26 18:30:26 +08:00
|
|
|
|
|
|
|
Eval:
|
|
|
|
dataset:
|
|
|
|
name: LMDBDataSet
|
2022-07-20 16:57:55 +08:00
|
|
|
data_dir: ./train_data/data_lmdb_release/evaluation/
|
2022-04-26 18:30:26 +08:00
|
|
|
transforms:
|
|
|
|
- DecodeImage: # load image
|
|
|
|
img_mode: BGR
|
|
|
|
channel_first: False
|
|
|
|
- CTCLabelEncode: # Class handling label
|
2022-06-28 15:06:53 +08:00
|
|
|
- SVTRRecResizeImg:
|
2022-04-26 18:30:26 +08:00
|
|
|
image_shape: [3, 64, 256]
|
|
|
|
padding: False
|
|
|
|
- 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: 2
|