Add analysis scripts and experiment configurations for bridge attention and sensitivity studies

- Introduced `bridge_attention_ceiling_check.py` for variance decomposition analysis on bridge attention configurations.
- Added `bridge_attention_readout.py` to perform per-tower gate and contribution readouts, including AUC sanity checks.
- Created multiple JSON configuration files for backbone replication experiments, including anonymous CV variants and basic backbones.
- Implemented sensitivity experiments to evaluate the impact of axial length inclusion and EfficientNetV2-M performance at higher resolutions.
- Added a memory probe script to assess GPU memory usage during training with EfficientNetV2-M.
This commit is contained in:
rpotter6298
2026-07-03 08:51:44 +02:00
parent 3d954a4606
commit 708fbc70ce
52 changed files with 2223 additions and 218 deletions
+26 -1
View File
@@ -413,8 +413,33 @@ def submit_job(job: JobSubmit):
)
if cur.rowcount == 0:
existing = conn.execute(
"SELECT job_id FROM jobs WHERE args=?", (args_json,)
"SELECT job_id, state FROM jobs WHERE args=?", (args_json,)
).fetchone()
# If the existing duplicate is a terminal failure, drop it and
# take the new submission — saves an explicit /jobs/clear round-
# trip when re-deploying after a fix.
if existing["state"] == "failed":
conn.execute(
"DELETE FROM jobs WHERE job_id=?", (existing["job_id"],)
)
conn.execute(
"INSERT INTO jobs "
"(job_id, run_name, module, args, output_dir, priority, created_at) "
"VALUES (?,?,?,?,?,?,?)",
(job_id, job.run_name, job.module, args_json,
job.output_dir, job.priority, _now()),
)
print(
f"[server] requeued failed {existing['job_id']}{job_id} "
f"({job.run_name})",
flush=True,
)
return {
"job_id": job_id,
"duplicate": False,
"requeued": True,
"previous_job_id": existing["job_id"],
}
job_id = existing["job_id"]
print(f"[server] duplicate ignored ({job.run_name}) → {job_id}", flush=True)
return {"job_id": job_id, "duplicate": True}