Add new regression and ensemble experiment configurations for V2-M and OrthoBridge

- Introduced multiple regression experiment configurations targeting vf_md, including:
  - cd_solo_reg_set.json: CD tower only regression setup.
  - img_solo_reg_set.json: Image tower only regression setup.
  - reg_head_epoch_sweep.json: Baseline regression sweeps at different epochs (50, 75, 100).
  - reg_head_set.json: Various regression setups including baseline and OrthoBridge configurations.
  - single_eye_reg.json: Single-eye regression setup for worst-eye aggregation analysis.

- Added ensemble configurations for OrthoBridge with different inner bridges:
  - ortho_alts_ensemble.json: Ensemble tests with ConcatBridge, PairwiseAdditiveBridge, and GatedAdditiveBridge.
  - ortho_alts_tritower.json: Tritower tests with the same inner bridges.

- Created V2-M specific configurations:
  - baseline_reg_nt50.json: Regression baseline with V2-M backbone.
  - geom_vec_gt.json and geom_vec_unet.json: Geometry vector injection experiments with V2-M.
  - single_l1_bridges.json: Single-eye ensemble experiments with various bridge types.
  - tritower_geom_gt.json: Tritower setup with GT contour-rasterized masks.

- Promoted existing experiments to higher repetitions for robustness.
This commit is contained in:
rpotter6298
2026-06-11 15:08:20 +02:00
parent 32a801a572
commit 280060db82
343 changed files with 8558 additions and 57747 deletions
@@ -0,0 +1,29 @@
[
{
"_note": "EfficientNet-B7 (ImageNet-pretrained, torchvision) vs the refugelike resnet50 img backbone. Otherwise identical to experiments/tri_v1/baseline_ensemble.",
"run_name": "experiments/efficientnet/baseline_efficientnet_b7",
"reps": 3,
"tower_overrides": {
"img": {
"args": {
"backbone": "efficientnet_b7",
"freeze_ratio": 0.0
}
}
}
},
{
"_note": "Same architecture, freeze the first 40% of B7 blocks (keep low-level ImageNet filters fixed since fundus is out-of-distribution).",
"run_name": "experiments/efficientnet/baseline_efficientnet_b7_freeze40",
"reps": 3,
"tower_overrides": {
"img": {
"args": {
"backbone": "efficientnet_b7",
"freeze_ratio": 0.4
}
}
}
}
]
@@ -0,0 +1,43 @@
[
{
"_note": "EfficientNetV2-S (ImageNet, torchvision). 20M params, 1280-dim output. Direct comparison to B7 unfrozen (0.9015 test AUC).",
"run_name": "experiments/efficientnet/baseline_efficientnetv2_s",
"reps": 3,
"tower_overrides": {
"img": {
"args": {
"backbone": "efficientnet_v2_s",
"freeze_ratio": 0.0
}
}
}
},
{
"_note": "EfficientNetV2-S + freeze 0.4. Applies the lesson from refugelike_freeze_sweep — anchoring low-level filters from ImageNet pretraining.",
"run_name": "experiments/efficientnet/baseline_efficientnetv2_s_freeze40",
"reps": 3,
"tower_overrides": {
"img": {
"args": {
"backbone": "efficientnet_v2_s",
"freeze_ratio": 0.4
}
}
}
},
{
"_note": "EfficientNetV2-M (53M params). Mid-size variant; tests whether extra capacity helps or overfits on PAPILA.",
"run_name": "experiments/efficientnet/baseline_efficientnetv2_m",
"reps": 3,
"tower_overrides": {
"img": {
"args": {
"backbone": "efficientnet_v2_m",
"freeze_ratio": 0.0
}
}
}
}
]
@@ -0,0 +1,15 @@
[
{
"_note": "REFUGE-pretrained EfficientNetV2-M (whole-image, no UNet/disc crop) vs ImageNet-pretrained V2-M (0.9029) and refugelike resnet50 (0.8958). Tests whether fundus-domain pretraining beats ImageNet for V2-M.",
"run_name": "experiments/efficientnet/refuge_efficientnetv2_m",
"reps": 10,
"tower_overrides": {
"img": {
"args": {
"backbone": "refuge_efficientnet_v2_m",
"freeze_ratio": 0.0
}
}
}
}
]