data_cfg:
  dataset_name: OUMVLP
  dataset_root: your_path
  dataset_partition: ./datasets/OUMVLP/OUMVLP.json
  num_workers: 1
  remove_no_gallery: true # Remove probe if no gallery for it
  test_dataset_name: OUMVLP

evaluator_cfg:
  enable_float16: true
  restore_ckpt_strict: true
  restore_hint: 80000
  save_name: GaitSSB_Finetune
  sampler:
    batch_shuffle: false
    batch_size: 4
    sample_type: all_ordered # all indicates whole sequence used to test, while ordered means input sequence by its natural order; Other options:   fixed_unordered
    frames_all_limit: 720 # limit the number of sampled frames to prevent out of memory
  metric: euc # cos
  transform:
    - type: BaseSilCuttingTransform

loss_cfg:
  - loss_term_weight: 1.0
    margin: 0.3
    type: TripletLoss
    log_prefix: triplet

model_cfg:
  model: GaitSSB_Finetune
  backbone_cfg:
    type: ResNet9
    block: BasicBlock
    channels: # Layers configuration for automatically model construction
      - 64
      - 128
      - 256
      - 512
    layers:
      - 1
      - 1
      - 1
      - 1
    strides:
      - 1
      - 2
      - 2
      - 1
    maxpool: false
  parts_num: 31
  backbone_lr: 
    - 0.001
    - 0.001
    - 0.001
    - 0.001
  projector_lr: 0.01

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

scheduler_cfg:
  gamma: 0.1
  milestones: # Learning Rate Reduction at each milestones
    - 50000
    - 60000
    - 70000
  scheduler: MultiStepLR

trainer_cfg:
  find_unused_parameters: true
  enable_float16: true # half_percesion float for memory reduction and speedup
  fix_BN: true
  with_test: false
  log_iter: 100
  optimizer_reset: true
  restore_ckpt_strict: false
  restore_hint: ./output/GaitLU-1M/GaitSSB_Pretrain/GaitSSB_Pretrain/checkpoints/GaitSSB_Pretrain-150000.pt
  save_iter: 20000
  save_name: GaitSSB_Finetune
  sync_BN: true
  total_iter: 80000
  sampler:
    batch_shuffle: true
    batch_size:
      - 32  # TripletSampler, batch_size[0] indicates Number of Identity
      - 16 # batch_size[1] indicates Samples sequqnce for each Identity
    frames_num_fixed: 30 # fixed frames number for training
    sample_type: fixed_unordered # fixed control input frames number, unordered for controlling order of input tensor; Other options: unfixed_ordered or all_ordered
    frames_skip_num: 4
    type: TripletSampler
  transform:
    - type: BaseSilCuttingTransform
