Spaces:
Running
Running
Global: | |
device: gpu | |
epoch_num: 60 | |
log_smooth_window: 20 | |
print_batch_step: 10 | |
output_dir: ./output/rec/syn/svtr_base_cppd/ | |
save_epoch_step: 1 | |
# evaluation is run every 2000 iterations | |
eval_batch_step: [0, 500] | |
eval_epoch_step: [0, 1] | |
cal_metric_during_train: True | |
pretrained_model: | |
checkpoints: | |
use_tensorboard: false | |
infer_img: | |
# for data or label process | |
character_dict_path: | |
# ./tools/utils/EN_symbol_dict.txt # 96en | |
# ./tools/utils/ppocr_keys_v1.txt # ch | |
max_text_length: &max_text_length 25 | |
use_space_char: &use_space_char False | |
save_res_path: ./output/rec/syn/predicts_svtr_base_cppd.txt | |
use_amp: True | |
Optimizer: | |
name: AdamW | |
lr: 0.0005 # for 4gpus bs256/gpu | |
weight_decay: 0.05 | |
filter_bias_and_bn: True | |
LRScheduler: | |
name: CosineAnnealingLR | |
warmup_epoch: 6 | |
Architecture: | |
model_type: rec | |
algorithm: CPPD | |
in_channels: 3 | |
Transform: | |
Encoder: | |
name: SVTRNet | |
img_size: [32, 100] | |
out_char_num: 25 | |
out_channels: 256 | |
patch_merging: 'Conv' | |
embed_dim: [128, 256, 384] | |
depth: [6, 6, 4] | |
num_heads: [4, 8, 12] | |
mixer: ['Conv','Conv','Conv','Conv','Conv','Conv', 'Conv','Conv', 'Global','Global','Global','Global','Global','Global','Global','Global','Global','Global'] | |
local_mixer: [[5, 5], [5, 5], [5, 5]] | |
last_stage: False | |
prenorm: True | |
Decoder: | |
name: CPPDDecoder | |
vis_seq: 50 | |
num_layer: 3 | |
pos_len: False | |
rec_layer: 1 | |
Loss: | |
name: CPPDLoss | |
ignore_index: 100 | |
smoothing: True | |
pos_len: False | |
sideloss_weight: 1.0 | |
PostProcess: | |
name: CPPDLabelDecode | |
character_dict_path: | |
use_space_char: | |
Metric: | |
name: RecMetric | |
main_indicator: acc | |
Train: | |
dataset: | |
name: STRLMDBDataSet | |
data_dir: ./ | |
transforms: | |
- DecodeImage: # load image | |
img_mode: BGR | |
channel_first: False | |
# - SVTRRAug: | |
- CPPDLabelEncode: # Class handling label | |
pos_len: False | |
character_dict_path: | |
use_space_char: | |
max_text_length: | |
- SVTRResize: | |
image_shape: [3, 32, 100] | |
padding: False | |
- KeepKeys: | |
keep_keys: ['image', 'label', 'label_node', '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: LMDBDataSet | |
data_dir: ../evaluation/ | |
transforms: | |
- DecodeImage: # load image | |
img_mode: BGR | |
channel_first: False | |
- CPPDLabelEncode: # Class handling label | |
pos_len: False | |
character_dict_path: | |
use_space_char: | |
max_text_length: | |
- SVTRResize: | |
image_shape: [3, 32, 100] | |
padding: False | |
- KeepKeys: | |
keep_keys: ['image', 'label', 'label_node', 'length'] # dataloader will return list in this order | |
loader: | |
shuffle: False | |
drop_last: False | |
batch_size_per_card: 256 | |
num_workers: 4 | |