data_cfg:
  dataset_name: SUSTech1K
  dataset_root: your_path
  dataset_partition: ./datasets/SUSTech1K/SUSTech1K.json
  num_workers: 1
  remove_no_gallery: false
  test_dataset_name: SUSTech1K

evaluator_cfg:
  enable_float16: false
  restore_ckpt_strict: true
  restore_hint: 300000
  save_name: MSGG_SUSTech1K
  eval_func: evaluate_indoor_dataset
  sampler:
    batch_size: 8
    sample_type: all_ordered
    type: InferenceSampler
  transform:
    - type: MSGGTransform
      # prob: alphapose
      prob: coco
  metric: euc # cos

loss_cfg:
  - loss_term_weight: 0.3
    margin: 0.2
    type: TripletLoss
    log_prefix: triplet_joints
  - loss_term_weight: 0.2
    margin: 0.2
    type: TripletLoss
    log_prefix: triplet_limbs
  - loss_term_weight: 0.1
    margin: 0.2
    type: TripletLoss
    log_prefix: triplet_bodyparts
  - loss_term_weight: 1.0
    scale: 1
    type: CrossEntropyLoss
    log_accuracy: true
    label_smooth: false
    log_prefix: softmax

model_cfg:
  model: MultiScaleGaitGraph
  in_channels:
    - 3
    - 16
    - 32
    - 64
    - 128
  out_channels: 128
  graph_cfg:
    layout: 'body_12'
    strategy: 'gait_temporal'
  temporal_kernel_size: 9
  num_id: 5153

optimizer_cfg:
  lr: 0.1
  momentum: 0.9
  solver: SGD
  weight_decay: 0.0005

scheduler_cfg:
  gamma: 0.1
  milestones:
    - 75000
    - 150000
    - 225000
  scheduler: MultiStepLR

trainer_cfg:
  enable_float16: false
  fix_BN: false
  with_test: false
  log_iter: 100
  restore_ckpt_strict: true
  restore_hint: 0
  save_iter: 2000
  save_name: MSGG_SUSTech1K
  sync_BN: true
  total_iter: 300000
  sampler:
    batch_shuffle: false
    batch_size:
      - 32
      - 8
    frames_num_fixed: 30
    frames_num_max: 50
    frames_num_min: 25
    frames_skip_num: 0
    sample_type: fixed_ordered
    type: TripletSampler
  transform:
    - type: MSGGTransform
      prob: coco