Files
hypertower-sample/configs/tabular_smoke.json
T
ryan 4e815df327 Smoke job repo: grouped tabular dataset + config
400 rows / 200 patients, two samples each, so grouped splitting is actually
exercised. Signal is modest and noisy on purpose — a separable toy would score
1.0 with a broken model and prove nothing.
2026-08-13 21:16:22 +02:00

53 lines
1.6 KiB
JSON

{
"_notes": [
"Smoke test for the repo-backed job flow: tabular-only binary classification.",
"metadata_csv is relative to the repo root, which is the provider's working",
"directory when a job carries repo+ref. Deliberately small and short — this",
"exists to prove the path works end to end, not to produce a good model."
],
"run_name": "tabular_smoke",
"num_classes": 2,
"split_identity_level": 1,
"eval_stage": "cd_fuse",
"save_predictions": true,
"seed": 1234,
"folds": 3,
"fold_seed": 100,
"output_root": "results",
"data": {
"module": "hypertower_core.profiles.generic",
"args": {
"metadata_csv": "data/smoke/labels.csv",
"id_column": "sample_id",
"label_col": "diagnosis",
"target_type": "classification",
"group_column": "patient_id",
"cat_cols": ["site"],
"exclude_cols": ["notes"]
}
},
"towers": [
{
"name": "cd",
"module": "hypertower_core.components.towers.clinical_tower",
"class": "ClinicalEncoder",
"data_source": "matrix",
"args": { "hidden_dim": 64 }
}
],
"stages": [
{ "name": "cd_warm", "type": "warm", "tower": "cd", "head_name": "cd_aux",
"level": "sample", "epochs": 8 },
{ "name": "cd_aux", "type": "head", "input": "cd", "train_with": "cd_fuse" },
{ "name": "cd_fuse", "type": "fusion",
"module": "hypertower_core.components.bridges.mono_bridge",
"class": "MonoBridge", "inputs": ["cd"], "level": "sample",
"epochs": 10, "train_towers": true, "args": { "use_ln": false } }
],
"training": { "lr": 1e-3, "batch_size": 32, "tune_binary_threshold": true }
}