Files
hypertower/v4/configs/img_solo_reg_smoke.json
rpotter6298 280060db82 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.
2026-06-11 15:08:20 +02:00

115 lines
2.5 KiB
JSON

{
"_notes": [
"Smoke test: convnextv2_tiny backbone, single fold, few epochs.",
"Goal is to verify the new ConvNeXt-V2 path works end-to-end (load weights,",
"forward, backward, save summary). Not for measuring quality."
],
"run_name": "smoke/convnextv2_tiny",
"num_classes": 2,
"label_filter": [
0,
1,
2
],
"split_identity_level": 1,
"eval_stage": "hb",
"save_predictions": false,
"seed": 1234,
"folds": 3,
"fold_seed": 100,
"output_root": "v4/results",
"out_dir_tags": [
"binary"
],
"data": {
"module": "v4.classes.profiles.v4papila",
"args": {
"image_dir": "Papila/FundusImages",
"clinical_dir": "Papila/ClinicalData",
"label_col": "Diagnosis",
"iop_corr_method": "ratio",
"iop_drop_raw": true,
"exclude_cols": [
"Axial_Length"
],
"in_memory_cache": true
}
},
"towers": [
{
"name": "img",
"module": "v4.classes.towers.image_tower",
"class": "ImageEncoder",
"data_source": "image",
"args": {
"backbone": "convnextv2_tiny",
"freeze_ratio": 0.6,
"augment": true
}
}
],
"stages": [
{
"name": "img_fuse",
"type": "fusion",
"module": "v4.classes.bridges.mono_bridge",
"class": "MonoBridge",
"inputs": [
"img"
],
"level": "eye",
"epochs": 2,
"train_towers": true,
"args": {
"use_ln": false
}
},
{
"name": "img_fuse_head",
"type": "head",
"input": "img_fuse",
"train_with": "img_fuse",
"module": "v4.classes.heads.regression",
"class": "RegressionHead",
"args": {
"dropout": 0.3,
"target_key": "vf_md",
"loss": "mse"
}
},
{
"name": "hb",
"type": "fusion",
"module": "v4.classes.bridges.hyperbridge",
"class": "HyperBridge",
"inputs": {
"a": "img_fuse",
"b": "img_fuse"
},
"level": "patient",
"epochs": 2,
"args": {
"hidden_dim": 256,
"mode": "embedding_mlp"
}
},
{
"name": "hb_head",
"type": "head",
"input": "hb",
"train_with": "hb",
"module": "v4.classes.heads.regression",
"class": "RegressionHead",
"args": {
"dropout": 0.3,
"target_key": "vf_md",
"loss": "mse"
}
}
],
"training": {
"lr": 1e-4,
"batch_size": 8,
"tune_binary_threshold": true
}
}