ResNet50_vehicle_cls_prune.yaml 2.9 KB
Newer Older
1 2 3 4 5 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
# global configs
Global:
  checkpoints: null
  pretrained_model: null
  output_dir: "./output_vehicle_cls_prune/"
  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"

Slim:
  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: 431
    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: "CompCars"
        image_root: "./dataset/CompCars/image/"
        label_root: "./dataset/CompCars/label/"
        bbox_crop: True
        cls_label_path: "./dataset/CompCars/train_test_split/classification/train_label.txt"
        transform_ops:
          - 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: 8
        use_shared_memory: True

  Eval:
    dataset: 
        name: "CompCars"
        image_root: "./dataset/CompCars/image/"
        label_root: "./dataset/CompCars/label/"
        cls_label_path: "./dataset/CompCars/train_test_split/classification/test_label.txt"
        bbox_crop: True
        transform_ops:
          - 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: 128
        drop_last: False
        shuffle: False
    loader:
        num_workers: 8
        use_shared_memory: True

Metric:
    Train:
    - TopkAcc:
        topk: [1, 5]
    Eval:
    - TopkAcc:
        topk: [1, 5]