model_name: xdxd_spacenet4

model_path:
train: true
infer: true

pretrained: false
nn_framework: torch
batch_size: 20

data_specs:
    width: 512
    height: 512
    image_type: 16bit
    channels: 3
    label_type: mask
    is_categorical: false
    mask_channels: 1
    val_holdout_frac: 0.05
    dtype:

training_data_csv: 'csv_file_path'
validation_data_csv: 'auto_split_from_training_dataset'
inference_data_csv: 'csv_file_path'

training_augmentation:
    augmentations:
        DropChannel:
            axis: 2
            idx: 3
            p: 1.0
        HorizontalFlip:
            p: 0.5
        RandomRotate90:
            p: 0.5
        RandomCrop:
            height: 512
            width: 512
            p: 1.0
        Normalize:
            mean:
                - 0.0
                - 0.0
                - 0.0
            std:
                - 1.0
                - 1.0
                - 1.0
            max_pixel_value: 255
            p: 1.0
    p: 1.0
    shuffle: true
validation_augmentation:
    augmentations:
        DropChannel:
            axis: 2
            idx: 3
            p: 1.0
        CenterCrop:
            height: 512
            width: 512
            p: 1.0
        Normalize:
            mean:
                - 0.0
                - 0.0
                - 0.0
            std:
                - 1.0
                - 1.0
                - 1.0
            max_pixel_value: 255
            p: 1.0
    p: 1.0
inference_augmentation:
    augmentations:
        DropChannel:
            axis: 2
            idx: 3
            p: 1.0
        Normalize:
            mean:
                - 0.0
                - 0.0
                - 0.0
            std:
                - 1.0
                - 1.0
                - 1.0
            max_pixel_value: 255
            p: 1.0
    p: 1.0

training:
    epochs: 100
    optimizer: AdamW
    lr: 1e-4
    opt_args:
    loss:
        bcewithlogits:
        jaccard:
    loss_weights:
        bcewithlogits: 10
        jaccard: 2.5
    metrics:
        training:
        validation:
    callbacks:
        model_checkpoint:
            filepath: './models/buildings/RGB-only/checkpoint.pth'
            monitor: periodic
            period: 10
    model_dest_path: './models/buildings/RGB-only.pth'
    verbose: true
    
inference:
    output_dir: './results/buildings/RGB-only/pred_mask'
    window_step_size_x:
    window_step_size_y: