ResNet50_vehicle_cls_prune.yaml 3.0 KB
Newer Older
1 2 3
# global configs
Global:
  checkpoints: null
4
  pretrained_model: "https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/rec/models/pretrain/vehicle_cls_ResNet50_CompCars_v1.2_pretrained.pdparams"
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
  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
  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:
95
        name: PKSampler
96
        batch_size: 128
97
        sample_per_id: 2
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
        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]