PPLCNet_x1_0_Distillation.yaml 3.9 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14
# global configs
Global:
  checkpoints: null
  pretrained_model: null
  output_dir: ./output
  device: gpu
  save_interval: 1
  eval_during_train: True
  start_eval_epoch: 1
  eval_interval: 1
  epochs: 20
  print_batch_step: 10
  use_visualdl: False
  # used for static mode and model export
C
cuicheng01 已提交
15
  image_shape: [3, 256, 192]
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
  save_inference_dir: ./inference
  # training model under @to_static
  to_static: False
  use_dali: False
  use_multilabel: True

# model architecture
Arch:
  name: "DistillationModel"
  class_num: &class_num 26
  # if not null, its lengths should be same as models
  pretrained_list:
  # if not null, its lengths should be same as models
  freeze_params_list:
  - True
  - False
  use_sync_bn: True
  models:
    - Teacher:
        name: ResNet101_vd
        class_num: *class_num
    - Student:
        name: PPLCNet_x1_0
        class_num: *class_num
        pretrained: True
        use_ssld: True

  infer_model_name: "Student"
 
# loss function config for traing/eval process
Loss:
  Train:
    - DistillationDMLLoss:
        weight: 1.0
        model_name_pairs:
        - ["Student", "Teacher"]
    - DistillationMultiLabelLoss:
        weight: 1.0
        weight_ratio: True
        model_names: ["Student"]
        size_sum: True
  Eval:
    - MultiLabelLoss:
        weight: 1.0
        weight_ratio: True
        size_sum: True

Optimizer:
  name: Momentum
  momentum: 0.9
  lr:
    name: Cosine
    learning_rate: 0.01
    warmup_epoch: 5
  regularizer:
    name: 'L2'
    coeff: 0.0005


# data loader for train and eval
DataLoader:
  Train:
    dataset:
      name: MultiLabelDataset
C
cuicheng01 已提交
80
      image_root: "dataset/pa100k/"
81
      cls_label_path: "dataset/pa100k/train_list.txt"
82 83 84 85 86 87 88 89
      label_ratio: True
      transform_ops:
        - DecodeImage:
            to_rgb: True
            channel_first: False
        - ResizeImage:
            size: [192, 256]
        - TimmAutoAugment:
C
cuicheng01 已提交
90
            prob: 0.8
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
            config_str: rand-m9-mstd0.5-inc1
            interpolation: bicubic
            img_size: [192, 256]
        - Padv2:
            size: [212, 276]
            pad_mode: 1
            fill_value: 0
        - RandomCropImage:
            size: [192, 256]
        - RandFlipImage:
            flip_code: 1
        - NormalizeImage:
            scale: 1.0/255.0
            mean: [0.485, 0.456, 0.406]
            std: [0.229, 0.224, 0.225]
            order: ''
        - RandomErasing:
C
cuicheng01 已提交
108
            EPSILON: 0.4
109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
            sl: 0.02
            sh: 1.0/3.0
            r1: 0.3
            attempt: 10
            use_log_aspect: True
            mode: pixel
    sampler:
      name: DistributedBatchSampler
      batch_size: 64
      drop_last: True
      shuffle: True
    loader:
      num_workers: 4
      use_shared_memory: True
  Eval:
    dataset:
      name: MultiLabelDataset
C
cuicheng01 已提交
126
      image_root: "dataset/pa100k/"
127
      cls_label_path: "dataset/pa100k/val_list.txt"
128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148
      label_ratio: True
      transform_ops:
        - DecodeImage:
            to_rgb: True
            channel_first: False
        - ResizeImage:
            size: [192, 256]
        - NormalizeImage:
            scale: 1.0/255.0
            mean: [0.485, 0.456, 0.406]
            std: [0.229, 0.224, 0.225]
            order: ''
    sampler:
      name: DistributedBatchSampler
      batch_size: 64
      drop_last: False
      shuffle: False
    loader:
      num_workers: 4
      use_shared_memory: True

149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168
Infer:
  infer_imgs: deploy/images/PULC/person_attribute/090004.jpg
  batch_size: 10
  transforms:
    - DecodeImage:
        to_rgb: True
        channel_first: False
    - ResizeImage:
        size: [192, 256]
    - NormalizeImage:
        scale: 1.0/255.0
        mean: [0.485, 0.456, 0.406]
        std: [0.229, 0.224, 0.225]
        order: ''
    - ToCHWImage:
  PostProcess:
    name: PersonAttribute
    threshold: 0.5  #default threshold
    glasses_threshold: 0.3  #threshold only for glasses
    hold_threshold: 0.6 #threshold only for hold
169 170 171 172

Metric:
  Eval:
    - ATTRMetric: