File size: 2,207 Bytes
33be17a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
{
  "common": {
    "image_size": 224,
    "batch_size": 32,
    "optimizer": "AdamW",
    "weight_decay": 0.0001,
    "lr_schedule": "warmup-cosine",
    "warmup_epochs": 3,
    "total_epochs": 60,
    "early_stopping_patience": 12,
    "label_smoothing": 0.1,
    "loss": "CrossEntropyLoss (label-smoothed)",
    "mixup_alpha": 0.2,
    "cutmix_alpha": 1.0,
    "mixup_cutmix_prob": 0.7,
    "sampler": "WeightedRandomSampler (inverse-frequency)",
    "augmentations": [
      "CLAHE (cliplimit=2.0, tilegrid=8x8)",
      "RandAugment (n=2, m=9)",
      "RandomHorizontalFlip(0.5)",
      "RandomVerticalFlip(0.2)",
      "ColorJitter(brightness=0.2, contrast=0.2, saturation=0.2)",
      "RandomErasing(p=0.25)",
      "Normalize(ImageNet stats)"
    ],
    "tta": {
      "crops": 6,
      "ops": [
        "centre",
        "horizontal-flip",
        "vertical-flip",
        "rot90",
        "rot180",
        "rot270"
      ]
    },
    "amp": "fp16",
    "split": "Group-aware StratifiedGroupKFold(5) on pHash groups, fold 0 = test"
  },
  "per_model_learning_rate": {
    "vgg19": 0.0001,
    "resnet50": 0.0001,
    "resnet101": 0.0001,
    "densenet121": 0.0001,
    "inception_v3": 0.0001,
    "swin_b": 5e-05,
    "clip_openai": 5e-05,
    "dinov2_l": {
      "stage1_head_only_lr": 0.001,
      "stage1_epochs": 20,
      "stage2_full_lr": 1e-05,
      "stage2_epochs": 40
    },
    "retfound": {
      "stage1_head_only_lr": 0.001,
      "stage1_epochs": 20,
      "stage2_full_lr": 1e-05,
      "stage2_epochs": 40
    }
  },
  "ensemble": {
    "method": "soft-vote",
    "weights": "per-model validation F1, L1-normalised",
    "calibration": "per-model temperature scaling on validation set",
    "conformal": "Mondrian (class-conditioned) split-conformal at 90% coverage"
  },
  "hardware": {
    "gpu": "NVIDIA Tesla T4 (16 GB)",
    "cuda": "12.8",
    "pytorch": "2.11.0+cu128",
    "approx_gpu_hours": {
      "vgg19": 2.5,
      "resnet50": 2.3,
      "resnet101": 3.1,
      "densenet121": 2.8,
      "inception_v3": 2.2,
      "swin_b": 4.5,
      "clip_openai": 3.8,
      "dinov2_l": 11.2,
      "retfound": 9.4,
      "ensemble_and_stats": 0.3,
      "total": 42.1
    }
  }
}