softmax_triplet_with_center.yaml 4.5 KB
Newer Older
H
HydrogenSulfate 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13
# global configs
Global:
  checkpoints: null
  pretrained_model: null
  output_dir: "./output/"
  device: "gpu"
  save_interval: 40
  eval_during_train: True
  eval_interval: 10
  epochs: 120
  print_batch_step: 20
  use_visualdl: False
  eval_mode: "retrieval"
H
HydrogenSulfate 已提交
14
  retrieval_feature_from: "features" # 'backbone' or 'features'
H
HydrogenSulfate 已提交
15
  re_ranking: False
H
HydrogenSulfate 已提交
16 17 18 19 20 21 22 23 24 25 26
  # used for static mode and model export
  image_shape: [3, 256, 128]
  save_inference_dir: "./inference"

# model architecture
Arch:
  name: "RecModel"
  infer_output_key: "features"
  infer_add_softmax: False
  Backbone:
    name: "ResNet50_last_stage_stride1"
H
HydrogenSulfate 已提交
27
    pretrained: https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/others/resnet50-19c8e357_torch2paddle.pdparams
H
HydrogenSulfate 已提交
28 29 30 31 32 33
    stem_act: null
  BackboneStopLayer:
    name: "flatten"
  Neck:
    name: BNNeck
    num_features: &feat_dim 2048
H
HydrogenSulfate 已提交
34 35 36 37 38 39 40 41
    weight_attr:
      initializer:
        name: Constant
        value: 1.0
    bias_attr:
      initializer:
        name: Constant
        value: 0.0
H
HydrogenSulfate 已提交
42
      learning_rate: 1.0e-20 # NOTE: Temporarily set lr small enough to freeze the bias to zero
H
HydrogenSulfate 已提交
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
  Head:
    name: "FC"
    embedding_size: *feat_dim
    class_num: &class_num 751
    weight_attr:
      initializer:
        name: Normal
        std: 0.001
    bias_attr: False

# loss function config for traing/eval process
Loss:
  Train:
    - CELoss:
        weight: 1.0
        epsilon: 0.1
H
HydrogenSulfate 已提交
59
    - TripletLossV2:
H
HydrogenSulfate 已提交
60 61
        weight: 1.0
        margin: 0.3
H
HydrogenSulfate 已提交
62 63
        normalize_feature: False
        feature_from: "backbone"
H
HydrogenSulfate 已提交
64 65 66 67
    - CenterLoss:
        weight: 0.0005
        num_classes: *class_num
        feat_dim: *feat_dim
H
HydrogenSulfate 已提交
68
        feature_from: "backbone"
H
HydrogenSulfate 已提交
69 70 71 72 73 74
  Eval:
    - CELoss:
        weight: 1.0

Optimizer:
  - Adam:
H
HydrogenSulfate 已提交
75
      scope: RecModel
H
HydrogenSulfate 已提交
76 77 78 79 80 81
      lr:
        name: Piecewise
        decay_epochs: [30, 60]
        values: [0.00035, 0.000035, 0.0000035]
        warmup_epoch: 10
        warmup_start_lr: 0.0000035
H
HydrogenSulfate 已提交
82 83
        by_epoch: True
        last_epoch: 0
H
HydrogenSulfate 已提交
84 85 86
      regularizer:
        name: 'L2'
        coeff: 0.0005
H
HydrogenSulfate 已提交
87
  - SGD:
H
HydrogenSulfate 已提交
88 89 90
      scope: CenterLoss
      lr:
        name: Constant
H
HydrogenSulfate 已提交
91
        learning_rate: 1000.0 # NOTE: set to ori_lr*(1/centerloss_weight) to avoid manually scaling centers' gradidents.
H
HydrogenSulfate 已提交
92 93 94 95 96

# data loader for train and eval
DataLoader:
  Train:
    dataset:
H
HydrogenSulfate 已提交
97 98 99
        name: "Market1501"
        image_root: "./dataset/"
        cls_label_path: "bounding_box_train"
H
HydrogenSulfate 已提交
100
        backend: "pil"
H
HydrogenSulfate 已提交
101 102 103
        transform_ops:
          - ResizeImage:
              size: [128, 256]
H
HydrogenSulfate 已提交
104
              return_numpy: False
105
              interpolation: 'bilinear'
H
HydrogenSulfate 已提交
106
              backend: "pil"
H
HydrogenSulfate 已提交
107 108 109 110
          - RandFlipImage:
              flip_code: 1
          - Pad:
              padding: 10
H
HydrogenSulfate 已提交
111
          - RandCropImageV2:
H
HydrogenSulfate 已提交
112
              size: [128, 256]
H
HydrogenSulfate 已提交
113 114
          - ToTensor:
          - Normalize:
H
HydrogenSulfate 已提交
115 116 117 118 119 120 121
              mean: [0.485, 0.456, 0.406]
              std: [0.229, 0.224, 0.225]
          - RandomErasing:
              EPSILON: 0.5
              sl: 0.02
              sh: 0.4
              r1: 0.3
H
HydrogenSulfate 已提交
122
              mean: [0.485, 0.456, 0.406]
H
HydrogenSulfate 已提交
123 124 125 126
    sampler:
        name: DistributedRandomIdentitySampler
        batch_size: 64
        num_instances: 4
H
HydrogenSulfate 已提交
127
        drop_last: False
H
HydrogenSulfate 已提交
128 129
        shuffle: True
    loader:
H
HydrogenSulfate 已提交
130
        num_workers: 4
H
HydrogenSulfate 已提交
131 132 133 134
        use_shared_memory: True
  Eval:
    Query:
      dataset:
H
HydrogenSulfate 已提交
135 136 137
        name: "Market1501"
        image_root: "./dataset/"
        cls_label_path: "query"
H
HydrogenSulfate 已提交
138
        backend: "pil"
H
HydrogenSulfate 已提交
139 140 141
        transform_ops:
          - ResizeImage:
              size: [128, 256]
H
HydrogenSulfate 已提交
142
              return_numpy: False
143
              interpolation: 'bilinear'
H
HydrogenSulfate 已提交
144
              backend: "pil"
H
HydrogenSulfate 已提交
145 146
          - ToTensor:
          - Normalize:
H
HydrogenSulfate 已提交
147 148 149 150 151 152 153 154
              mean: [0.485, 0.456, 0.406]
              std: [0.229, 0.224, 0.225]
      sampler:
        name: DistributedBatchSampler
        batch_size: 128
        drop_last: False
        shuffle: False
      loader:
H
HydrogenSulfate 已提交
155
        num_workers: 4
H
HydrogenSulfate 已提交
156 157 158 159
        use_shared_memory: True

    Gallery:
      dataset:
H
HydrogenSulfate 已提交
160 161 162
        name: "Market1501"
        image_root: "./dataset/"
        cls_label_path: "bounding_box_test"
H
HydrogenSulfate 已提交
163
        backend: "pil"
H
HydrogenSulfate 已提交
164 165 166
        transform_ops:
          - ResizeImage:
              size: [128, 256]
H
HydrogenSulfate 已提交
167
              return_numpy: False
168
              interpolation: 'bilinear'
H
HydrogenSulfate 已提交
169
              backend: "pil"
H
HydrogenSulfate 已提交
170 171
          - ToTensor:
          - Normalize:
H
HydrogenSulfate 已提交
172 173 174 175 176 177 178 179
              mean: [0.485, 0.456, 0.406]
              std: [0.229, 0.224, 0.225]
      sampler:
        name: DistributedBatchSampler
        batch_size: 128
        drop_last: False
        shuffle: False
      loader:
H
HydrogenSulfate 已提交
180
        num_workers: 4
H
HydrogenSulfate 已提交
181 182 183 184 185 186 187
        use_shared_memory: True

Metric:
  Eval:
    - Recallk:
        topk: [1, 5]
    - mAP: {}