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:
    - DecodeNormResizeMask: {target_size: *input_size, mosaic: True}
    - MosaicPerspective:
        mosaic_prob: 0.0
        target_size: *input_size
        degrees: 0.0
        translate: 0.1
        scale: 0.9 #
        shear: 0.0
        mixup_prob: 0.1 #
        with_mask: True
    - Poly2Mask: {del_poly: True}
    - RandomHSV: {hgain: 0.015, sgain: 0.7, vgain: 0.4}
    - RandomFlip: {}
  batch_transforms:
    - NormalizeImage: {mean: [0., 0., 0.], std: [1., 1., 1.], norm_type: none}
    - Permute: {}
    - PadGT: {}
  batch_size: 8
  shuffle: True
  drop_last: True
  use_shared_memory: True
  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, *input_height, *input_width]
  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
