|
Global: |
|
debug: false |
|
use_gpu: true |
|
epoch_num: 200 |
|
log_smooth_window: 20 |
|
print_batch_step: 10 |
|
save_model_dir: ./output/rec_ppocr_v4 |
|
save_epoch_step: 10 |
|
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 |
|
character_dict_path: pytorchocr/utils/ppocr_keys_v1.txt |
|
max_text_length: &max_text_length 25 |
|
infer_mode: true |
|
use_space_char: true |
|
distributed: true |
|
save_res_path: ./output/rec/predicts_ppocrv3.txt |
|
|
|
|
|
Optimizer: |
|
name: Adam |
|
beta1: 0.9 |
|
beta2: 0.999 |
|
lr: |
|
name: Cosine |
|
learning_rate: 0.001 |
|
warmup_epoch: 5 |
|
regularizer: |
|
name: L2 |
|
factor: 3.0e-05 |
|
|
|
|
|
Architecture: |
|
model_type: rec |
|
algorithm: SVTR_LCNet |
|
Transform: |
|
Backbone: |
|
name: PPLCNetV3 |
|
scale: 0.95 |
|
Head: |
|
name: MultiHead |
|
head_list: |
|
- CTCHead: |
|
Neck: |
|
name: svtr |
|
dims: 120 |
|
depth: 2 |
|
hidden_dims: 120 |
|
kernel_size: [1, 3] |
|
use_guide: True |
|
Head: |
|
fc_decay: 0.00001 |
|
- NRTRHead: |
|
nrtr_dim: 384 |
|
max_text_length: *max_text_length |
|
|
|
Loss: |
|
name: MultiLoss |
|
loss_config_list: |
|
- CTCLoss: |
|
- NRTRLoss: |
|
|
|
PostProcess: |
|
name: CTCLabelDecode |
|
|
|
Metric: |
|
name: RecMetric |
|
main_indicator: acc |
|
|
|
Train: |
|
dataset: |
|
name: MultiScaleDataSet |
|
ds_width: false |
|
data_dir: ./train_data/ |
|
ext_op_transform_idx: 1 |
|
label_file_list: |
|
- ./train_data/train_list.txt |
|
transforms: |
|
- DecodeImage: |
|
img_mode: BGR |
|
channel_first: false |
|
- RecConAug: |
|
prob: 0.5 |
|
ext_data_num: 2 |
|
image_shape: [48, 320, 3] |
|
max_text_length: *max_text_length |
|
- RecAug: |
|
- MultiLabelEncode: |
|
gtc_encode: NRTRLabelEncode |
|
- KeepKeys: |
|
keep_keys: |
|
- image |
|
- label_ctc |
|
- label_gtc |
|
- length |
|
- valid_ratio |
|
sampler: |
|
name: MultiScaleSampler |
|
scales: [[320, 32], [320, 48], [320, 64]] |
|
first_bs: &bs 192 |
|
fix_bs: false |
|
divided_factor: [8, 16] |
|
is_training: True |
|
loader: |
|
shuffle: true |
|
batch_size_per_card: *bs |
|
drop_last: true |
|
num_workers: 8 |
|
Eval: |
|
dataset: |
|
name: SimpleDataSet |
|
data_dir: ./train_data |
|
label_file_list: |
|
- ./train_data/val_list.txt |
|
transforms: |
|
- DecodeImage: |
|
img_mode: BGR |
|
channel_first: false |
|
- MultiLabelEncode: |
|
gtc_encode: NRTRLabelEncode |
|
- RecResizeImg: |
|
image_shape: [3, 48, 320] |
|
- KeepKeys: |
|
keep_keys: |
|
- image |
|
- label_ctc |
|
- label_gtc |
|
- length |
|
- valid_ratio |
|
loader: |
|
shuffle: false |
|
drop_last: false |
|
batch_size_per_card: 128 |
|
num_workers: 4 |
|
|