det_mv3_db.yml 3.31 KB
Newer Older
LDOUBLEV's avatar
LDOUBLEV committed
1
2
3
4
5
Global:
  use_gpu: true
  epoch_num: 1200
  log_smooth_window: 20
  print_batch_step: 2
WenmuZhou's avatar
WenmuZhou committed
6
  save_model_dir: ./output/db_mv3/
WenmuZhou's avatar
WenmuZhou committed
7
  save_epoch_step: 1200
LDOUBLEV's avatar
LDOUBLEV committed
8
  # evaluation is run every 5000 iterations after the 4000th iteration
dyning's avatar
dyning committed
9
  eval_batch_step: [4000, 5000]
WenmuZhou's avatar
WenmuZhou committed
10
11
12
  # if pretrained_model is saved in static mode, load_static_weights must set to True
  load_static_weights: True
  cal_metric_during_train: False
WenmuZhou's avatar
WenmuZhou committed
13
  pretrained_model: ./pretrain_models/MobileNetV3_large_x0_5_pretrained
dyning's avatar
dyning committed
14
  checkpoints: #./output/det_db_0.001_DiceLoss_256_pp_config_2.0b_4gpu/best_accuracy
15
  save_inference_dir:
dyning's avatar
dyning committed
16
  use_visualdl: False
WenmuZhou's avatar
WenmuZhou committed
17
18
  infer_img: doc/imgs_en/img_10.jpg
  save_res_path: ./output/det_db/predicts_db.txt
LDOUBLEV's avatar
LDOUBLEV committed
19

WenmuZhou's avatar
WenmuZhou committed
20
Architecture:
dyning's avatar
dyning committed
21
  model_type: det
WenmuZhou's avatar
WenmuZhou committed
22
23
24
25
26
27
28
  algorithm: DB
  Transform:
  Backbone:
    name: MobileNetV3
    scale: 0.5
    model_name: large
  Neck:
dyning's avatar
dyning committed
29
    name: DBFPN
WenmuZhou's avatar
WenmuZhou committed
30
31
32
33
    out_channels: 256
  Head:
    name: DBHead
    k: 50
LDOUBLEV's avatar
LDOUBLEV committed
34
35

Loss:
WenmuZhou's avatar
WenmuZhou committed
36
  name: DBLoss
LDOUBLEV's avatar
LDOUBLEV committed
37
38
39
40
41
  balance_loss: true
  main_loss_type: DiceLoss
  alpha: 5
  beta: 10
  ohem_ratio: 3
dyning's avatar
dyning committed
42
43
44
45
46
  
Optimizer:
  name: Adam
  beta1: 0.9
  beta2: 0.999
WenmuZhou's avatar
WenmuZhou committed
47
  lr:
dyning's avatar
dyning committed
48
#    name: Cosine
WenmuZhou's avatar
WenmuZhou committed
49
    learning_rate: 0.001
dyning's avatar
dyning committed
50
51
52
53
#    warmup_epoch: 0
  regularizer:
    name: 'L2'
    factor: 0
LDOUBLEV's avatar
LDOUBLEV committed
54
55

PostProcess:
WenmuZhou's avatar
WenmuZhou committed
56
  name: DBPostProcess
LDOUBLEV's avatar
LDOUBLEV committed
57
  thresh: 0.3
WenmuZhou's avatar
WenmuZhou committed
58
  box_thresh: 0.6
LDOUBLEV's avatar
LDOUBLEV committed
59
  max_candidates: 1000
WenmuZhou's avatar
WenmuZhou committed
60
61
62
63
64
65
  unclip_ratio: 1.5

Metric:
  name: DetMetric
  main_indicator: hmean

dyning's avatar
dyning committed
66
Train:
WenmuZhou's avatar
WenmuZhou committed
67
68
  dataset:
    name: SimpleDataSet
dyning's avatar
dyning committed
69
70
71
72
    data_dir: ./train_data/icdar2015/text_localization/
    label_file_list:
      - ./train_data/icdar2015/text_localization/train_icdar2015_label.txt
    ratio_list: [0.5]
WenmuZhou's avatar
WenmuZhou committed
73
74
75
76
77
78
79
80
    transforms:
      - DecodeImage: # load image
          img_mode: BGR
          channel_first: False
      - DetLabelEncode: # Class handling label
      - IaaAugment:
          augmenter_args:
            - { 'type': Fliplr, 'args': { 'p': 0.5 } }
dyning's avatar
dyning committed
81
82
            - { 'type': Affine, 'args': { 'rotate': [-10, 10] } }
            - { 'type': Resize, 'args': { 'size': [0.5, 3] } }
WenmuZhou's avatar
WenmuZhou committed
83
      - EastRandomCropData:
dyning's avatar
dyning committed
84
          size: [640, 640]
WenmuZhou's avatar
WenmuZhou committed
85
86
87
88
89
90
91
92
93
94
95
          max_tries: 50
          keep_ratio: true
      - MakeBorderMap:
          shrink_ratio: 0.4
          thresh_min: 0.3
          thresh_max: 0.7
      - MakeShrinkMap:
          shrink_ratio: 0.4
          min_text_size: 8
      - NormalizeImage:
          scale: 1./255.
dyning's avatar
dyning committed
96
97
          mean: [0.485, 0.456, 0.406]
          std: [0.229, 0.224, 0.225]
WenmuZhou's avatar
WenmuZhou committed
98
99
          order: 'hwc'
      - ToCHWImage:
dyning's avatar
dyning committed
100
101
      - KeepKeys:
          keep_keys: ['image', 'threshold_map', 'threshold_mask', 'shrink_map', 'shrink_mask'] # the order of the dataloader list
WenmuZhou's avatar
WenmuZhou committed
102
  loader:
WenmuZhou's avatar
WenmuZhou committed
103
    shuffle: True
WenmuZhou's avatar
WenmuZhou committed
104
    drop_last: False
dyning's avatar
dyning committed
105
    batch_size_per_card: 4
WenmuZhou's avatar
WenmuZhou committed
106
    num_workers: 8
WenmuZhou's avatar
WenmuZhou committed
107

dyning's avatar
dyning committed
108
Eval:
WenmuZhou's avatar
WenmuZhou committed
109
110
  dataset:
    name: SimpleDataSet
dyning's avatar
dyning committed
111
112
113
    data_dir: ./train_data/icdar2015/text_localization/
    label_file_list:
      - ./train_data/icdar2015/text_localization/test_icdar2015_label.txt
WenmuZhou's avatar
WenmuZhou committed
114
115
116
117
118
119
    transforms:
      - DecodeImage: # load image
          img_mode: BGR
          channel_first: False
      - DetLabelEncode: # Class handling label
      - DetResizeForTest:
dyning's avatar
dyning committed
120
          image_shape: [736, 1280]
WenmuZhou's avatar
WenmuZhou committed
121
122
      - NormalizeImage:
          scale: 1./255.
dyning's avatar
dyning committed
123
124
          mean: [0.485, 0.456, 0.406]
          std: [0.229, 0.224, 0.225]
WenmuZhou's avatar
WenmuZhou committed
125
126
          order: 'hwc'
      - ToCHWImage:
dyning's avatar
dyning committed
127
128
      - KeepKeys:
          keep_keys: ['image', 'shape', 'polys', 'ignore_tags']
WenmuZhou's avatar
WenmuZhou committed
129
  loader:
WenmuZhou's avatar
WenmuZhou committed
130
    shuffle: False
WenmuZhou's avatar
WenmuZhou committed
131
    drop_last: False
dyning's avatar
dyning committed
132
133
    batch_size_per_card: 1 # must be 1
    num_workers: 2