ResNet50_vehicle_reid_prune.yaml 3.7 KB
Newer Older
D
dongshuilong 已提交
1 2 3 4
# global configs
Global:
  checkpoints: null
  pretrained_model: null
5
  output_dir: "./output_fpgm/"
D
dongshuilong 已提交
6 7 8 9 10 11 12 13 14 15 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 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163
  device: "gpu"
  save_interval: 1
  eval_during_train: True
  eval_interval: 1
  epochs: 160
  print_batch_step: 10
  use_visualdl: False
  # used for static mode and model export
  image_shape: [3, 224, 224]
  save_inference_dir: "./inference"
  eval_mode: "retrieval"

# for quantizaiton or prune model
Slim:
  ## for prune
  prune:
    name: fpgm
    pruned_ratio: 0.3

# model architecture
Arch:
  name: "RecModel"
  infer_output_key: "features"
  infer_add_softmax: False
  Backbone: 
    name: "ResNet50_last_stage_stride1"
    pretrained: True
  BackboneStopLayer:
    name: "adaptive_avg_pool2d_0"
  Neck:
    name: "VehicleNeck"
    in_channels: 2048
    out_channels: 512
  Head:
    name: "ArcMargin"  
    embedding_size: 512
    class_num: 30671
    margin: 0.15
    scale: 32
 
# loss function config for traing/eval process
Loss:
  Train:
    - CELoss:
        weight: 1.0
    - SupConLoss:
        weight: 1.0
        views: 2
  Eval:
    - CELoss:
        weight: 1.0

Optimizer:
  name: Momentum
  momentum: 0.9
  lr:
    name: Cosine
    learning_rate: 0.01
    last_epoch: -1
  regularizer:
    name: 'L2'
    coeff: 0.0005

# data loader for train and eval
DataLoader:
  Train:
    dataset:
        name: "VeriWild"
        image_root: "./dataset/VeRI-Wild/images/"
        cls_label_path: "./dataset/VeRI-Wild/train_test_split/train_list_start0.txt"
        transform_ops:
          - DecodeImage:
              to_rgb: True
              channel_first: False
          - ResizeImage:
              size: 224
          - RandFlipImage:
              flip_code: 1
          - AugMix:
              prob: 0.5
          - NormalizeImage:
              scale: 0.00392157
              mean: [0.485, 0.456, 0.406]
              std: [0.229, 0.224, 0.225]
              order: ''
          - RandomErasing:
              EPSILON: 0.5
              sl: 0.02
              sh: 0.4
              r1: 0.3
              mean: [0., 0., 0.]

    sampler:
        name: DistributedRandomIdentitySampler
        batch_size: 128
        num_instances: 2
        drop_last: False
        shuffle: True
    loader:
        num_workers: 6
        use_shared_memory: True
  Eval:
    Query:
      dataset: 
        name: "VeriWild"
        image_root: "./dataset/VeRI-Wild/images"
        cls_label_path: "./dataset/VeRI-Wild/train_test_split/test_3000_id_query.txt"
        transform_ops:
          - DecodeImage:
              to_rgb: True
              channel_first: False
          - ResizeImage:
              size: 224
          - NormalizeImage:
              scale: 0.00392157
              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: 6
        use_shared_memory: True

    Gallery:
      dataset: 
        name: "VeriWild"
        image_root: "./dataset/VeRI-Wild/images"
        cls_label_path: "./dataset/VeRI-Wild/train_test_split/test_3000_id.txt"
        transform_ops:
          - DecodeImage:
              to_rgb: True
              channel_first: False
          - ResizeImage:
              size: 224
          - NormalizeImage:
              scale: 0.00392157
              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: 6
        use_shared_memory: True

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