| { |
| "model_type": "unet", |
| "input_shape": [4, 384, 384], |
| "num_classes": 1, |
| "architecture": { |
| "encoder": { |
| "downsample_blocks": [ |
| {"in_channels": 4, "out_channels": 32}, |
| {"in_channels": 32, "out_channels": 64}, |
| {"in_channels": 64, "out_channels": 128} |
| ], |
| "bottleneck": {"in_channels": 128, "out_channels": 256} |
| }, |
| "decoder": { |
| "upsample_blocks": [ |
| {"in_channels": 256, "out_channels": 128}, |
| {"in_channels": 128, "out_channels": 64}, |
| {"in_channels": 64, "out_channels": 32} |
| ] |
| }, |
| "spatial_attention": { |
| "conv": {"in_channels": 2, "out_channels": 1, "kernel_size": 3, "padding": 1} |
| }, |
| "output": {"in_channels": 32, "out_channels": 1, "kernel_size": 1} |
| }, |
| "training": { |
| "optimizer": "Adam", |
| "learning_rate": 0.0008, |
| "weight_decay": 1e-5, |
| "loss_function": "BCEWithLogitsLoss", |
| "batch_size": 8, |
| "epochs": 15, |
| "patience": 4, |
| "scheduler": "ReduceLROnPlateau", |
| "scheduler_params": { |
| "mode": "min", |
| "factor": 0.1, |
| "patience": 2 |
| } |
| }, |
| "metrics": { |
| "validation": { |
| "Jaccard_index": 0.8897, |
| "Precision": 0.9445, |
| "Recall": 0.9328, |
| "Specificity": 0.9797, |
| "Overall_Accuracy": 0.9706 |
| } |
| }, |
| "data": { |
| "dataset_path": "../input/38cloud-cloud-segmentation-in-satellite-images/38-Cloud_training", |
| "input_channels": ["red", "green", "blue", "nir"], |
| "target": "binary_cloud_mask", |
| "normalization": "divide_by_max_value_uint16", |
| "augmentation": false, |
| "train_val_split": 0.8, |
| "image_size": [384, 384] |
| }, |
| "misc": { |
| "device": "cuda_if_available", |
| "grad_clip": 1.0, |
| "threshold": 0.5 |
| }, |
| "output": { |
| "model_file": "pytorch_model.bin", |
| "visualization": { |
| "samples": 5, |
| "types": ["original_image", "ground_truth_mask", "predicted_mask"] |
| } |
| } |
| } |