File size: 2,138 Bytes
cb8c81f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
{
    "model_type": "unet_with_spatial_attention",
    "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"]
      }
    }
}