input_height: &input_height 640
input_width: &input_width 640
input_size: &input_size [*input_height, *input_width]
mosaic_epoch: &mosaic_epoch 300

worker_num: 4
TrainReader:
  sample_transforms:
    - DecodeNormResize: {target_size: *input_size, mosaic: True}
    - MosaicPerspective: {mosaic_prob: 1.0, target_size: *input_size}
    - RandomHSV: {hgain: 0.015, sgain: 0.7, vgain: 0.4}
    - RandomFlip: {}
    - BboxXYXY2XYWH: {}
    - NormalizeBox: {}
    - NormalizeImage: {mean: [0., 0., 0.], std: [1., 1., 1.], norm_type: none}
    - RGBReverse: {} # bgr->rgb
    - Permute: {}
  batch_size: 8
  shuffle: True
  drop_last: False
  use_shared_memory: False
  collate_batch: False
  mosaic_epoch: *mosaic_epoch


EvalReader:
  sample_transforms:
    - Decode: {}
    - Resize: {target_size: *input_size, keep_ratio: True, interp: 1}
    - Pad: {size: *input_size, fill_value: [114., 114., 114.]}
    - NormalizeImage: {mean: [0., 0., 0.], std: [1., 1., 1.], norm_type: none}
    - Permute: {}
  batch_size: 1


TestReader:
  inputs_def:
    image_shape: [3, 640, 640]
  sample_transforms:
    - Decode: {}
    - Resize: {target_size: *input_size, keep_ratio: True, interp: 1}
    - Pad: {size: *input_size, fill_value: [114., 114., 114.]}
    - NormalizeImage: {mean: [0., 0., 0.], std: [1., 1., 1.], norm_type: none}
    - Permute: {}
  batch_size: 1
  fuse_normalize: False
