pscotti commited on
Commit
61aebd5
·
verified ·
1 Parent(s): 98cf207

Publish selected full checkpoint and concise inference model card

Browse files
NOTICE CHANGED
@@ -1,28 +1,8 @@
1
- SPECTRA merged weights -- OpenMidnight
2
- =====================================================================
3
 
4
- This repository contains FULL MODEL WEIGHTS that are a derivative work of:
 
5
 
6
- SophontAI/OpenMidnight
7
- pinned revision: 87189e66
8
- upstream licence: Apache License, Version 2.0
9
 
10
- Original authors / copyright holders of the base model retain their rights in the
11
- base weights. The SPECTRA contribution is a rank-32 LoRA delta (alpha 64, scaling
12
- 2.0) trained on registered PLISM tiles and folded into those base weights; it is a
13
- modification of the original work within the meaning of Apache-2.0 Section 4.
14
-
15
- Modifications made:
16
- - attn.qkv, attn.proj, mlp.fc1, mlp.fc2 (4 per block x 40 blocks = 160 modules)
17
- had W replaced by W + 2.0 * (B @ A) from the SPECTRA adapter for the given seed.
18
- - No other tensor was changed. All other weights are byte-identical to the base
19
- checkpoint at the pinned revision.
20
- - Weights are stored in fp32 as `model.safetensors`; `config.json` is a verbatim
21
- copy of the base checkpoint's config.
22
-
23
- The `LICENSE` file in this repository is the Apache License, Version 2.0, carried
24
- forward from the base model.
25
-
26
- NOTE: the base repository is GATED on the Hugging Face Hub. Redistribution of
27
- derived full weights has not yet been cleared with the upstream authors. See
28
- PENDING_LICENCE_DECISION.md.
 
1
+ OpenMidnight-1.0-SPECTRA
 
2
 
3
+ Base model: https://huggingface.co/SophontAI/OpenMidnight
4
+ Base authors: MedARC and Sophont. Original authors retain their rights in the base weights.
5
 
6
+ MedARC and Sophont adapted the base encoder with SPECTRA on registered PLISM tiles and merged the learned rank-32 LoRA updates into the full weights in float32.
 
 
7
 
8
+ The full model weights are distributed under the Apache License, Version 2.0. See LICENSE.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
README.md CHANGED
@@ -1,242 +1,60 @@
1
  ---
 
 
2
  library_name: timm
 
3
  base_model: SophontAI/OpenMidnight
4
- license: apache-2.0
5
- pipeline_tag: feature-extraction
6
  tags:
7
  - pathology
8
  - histopathology
9
  - feature-extraction
10
- - computational-pathology
11
- - vision-transformer
12
  ---
 
13
 
14
- # SPECTRA (merged) - OpenMidnight
15
-
16
- Full-weight release of `SophontAI/OpenMidnight` made robust to changes in slide acquisition --
17
- scanner, stain, centre. The SPECTRA rank-32 LoRA delta has already been **folded into
18
- the base weights**, so this repository is a drop-in replacement for the base model: you
19
- build the architecture and `load_state_dict`, and you do not need `peft` installed.
20
-
21
- Training was contrastive on registered PLISM tiles -- the same physical tissue location
22
- imaged under many scanner/stain conditions -- with an objective that pulls matched
23
- conditions of one tile together while pushing different tiles apart.
24
-
25
- If you would rather keep the base weights untouched and apply a small delta at load
26
- time, use the adapter-only release instead.
27
-
28
- > **Base model.** These are `SophontAI/OpenMidnight` weights (Apache-2.0) with a SPECTRA
29
- > LoRA adapter merged in, released here by the same organisation. Apache-2.0 terms and the
30
- > attribution in `NOTICE` apply.
31
-
32
- ## Base model
33
-
34
- | | |
35
- |---|---|
36
- | Base repository | [`SophontAI/OpenMidnight`](https://huggingface.co/SophontAI/OpenMidnight) |
37
- | Pinned revision | `87189e66` |
38
- | Loader | `timm` |
39
- | Merged modules | attn.qkv, attn.proj, mlp.fc1, mlp.fc2 (4 per block x 40 blocks = 160 modules) |
40
- | LoRA rank / alpha / scaling | 32 / 64 / 2.0 |
41
- | Weight dtype | fp32 |
42
- | Embedding dimension (this readout) | **1536** |
43
-
44
- The delta was trained and evaluated against **that exact base revision**. The merge is
45
- `W <- W + (alpha/r) * (B @ A)`, computed in fp32 before any device move or dtype cast.
46
-
47
- ## Seeds
48
-
49
- Three independent training seeds are shipped as subfolders. They are **not** an
50
- ensemble -- pick one, and report spread across all three.
51
-
52
- | Folder | Original training seed | Selected step | Training run |
53
- |---|---|---|---|
54
- | `seed0/` | s0 | 150 | `genMASK-c50-ms500-openmidnight-s0-t900-438670` |
55
- | `seed1/` | s1 | 150 | `genMASK-c50-ms500-openmidnight-s1-t900-438671` |
56
- | `seed2/` | s2 | 150 | `genMASK-c50-ms500-openmidnight-s2-t900-438672` |
57
-
58
- Folder names are positional (`seed0/1/2`); the "original training seed" column records
59
- the seed label the run actually used, so provenance is not lost.
60
 
61
- ## Usage
62
 
63
- ```python
64
- import json, timm, torch
65
- import safetensors.torch as st
66
- from huggingface_hub import snapshot_download
67
 
68
- d = snapshot_download("medarc/spectra-openmidnight-merged", allow_patterns=["seed0/*"])
69
- cfg = json.load(open(f"{d}/seed0/config.json"))
70
 
71
- model = timm.create_model(
72
- cfg["architecture"], # "vit_giant_patch14_reg4_dinov2"
73
- pretrained=False,
74
- num_classes=0, global_pool="token",
75
- img_size=224, init_values=1e-5, dynamic_img_size=False,
76
- )
77
- model.load_state_dict(st.load_file(f"{d}/seed0/model.safetensors"), strict=True)
78
- model = model.float().eval().cuda()
79
- ```
80
 
81
- Preprocessing -- this must match exactly:
82
 
83
- ```python
84
- import torchvision.transforms as T
85
-
86
- # DEFAULT transform -- used for HEST, PathoROB and CPTAC in the paper.
87
- tf = T.Compose([
88
- T.Resize(256, interpolation=T.InterpolationMode.BICUBIC), # crop_pct 0.875
89
- T.CenterCrop(224),
90
- T.ToTensor(),
91
- T.Normalize(mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225)),
92
- ])
93
-
94
- # THUNDER-ONLY transform -- squash resize, no crop. See warning 1.
95
- tf_thunder = T.Compose([
96
- T.Resize((224, 224)),
97
- T.ToTensor(),
98
- T.Normalize(mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225)),
99
- ])
100
  ```
101
 
102
- Forward pass and readout:
103
-
104
  ```python
 
 
105
  from PIL import Image
 
106
 
107
- img = Image.open("tile.png").convert("RGB")
108
- x = tf(img).unsqueeze(0).cuda()
109
- with torch.inference_mode():
110
- h = model.forward_features(x) # (B, 5 + 256, 1536)
111
- feat = h[:, 0] # (B, 1536) -- CLS token alone
112
- ```
113
-
114
- **Readout:** CLS token alone. `h[:, 0]`
115
-
116
- **Embedding dimension:** 1536
117
-
118
- **Token layout:** `num_prefix_tokens = 5` (1 CLS + 4 register tokens), then 256 spatial tokens. Patch tokens begin at index **5**, not 1.
119
-
120
- ## WARNINGS
121
-
122
- ### 1. There are TWO transforms, and which one you want depends on the benchmark
123
-
124
- This is the one genuinely unusual inference detail in this release.
125
-
126
- - **Default (HEST, PathoROB, CPTAC and general use):** `Resize(256, bicubic)` ->
127
- `CenterCrop(224)`, from the checkpoint's own `pretrained_cfg` under timm's defaults
128
- (it carries no `crop_pct` and no `interpolation`).
129
- - **THUNDER only:** `Resize((224, 224))` -- a **squash** resize with no crop. THUNDER's
130
- `get_openmidnight` hand-builds this transform.
131
-
132
- Using the generic resize+crop path on THUNDER puts the base model roughly **6.2 F1
133
- below** the published leaderboard on segmentation, and about a point below on kNN and
134
- linear probing. Match the transform to the benchmark you are reproducing.
135
-
136
- ### 2. Normalisation is ImageNet, unlike `kaiko-ai/midnight`
137
-
138
- OpenMidnight replicates Midnight's recipe but uses **ImageNet** statistics
139
- (`mean = (0.485, 0.456, 0.406)`, `std = (0.229, 0.224, 0.225)`), whereas
140
- `kaiko-ai/midnight` demands `(0.5, 0.5, 0.5)` / `(0.5, 0.5, 0.5)`. The two are not
141
- interchangeable. The original training checkpoint stores no normalisation at all; these
142
- statistics come from SophontAI's own model card.
143
-
144
- ### 3. Readout is CLS alone, and four register tokens sit in front of the patches
145
-
146
- `num_prefix_tokens = 5`. Patch/dense tokens begin at index **5**.
147
-
148
- ### Un-annealed checkpoints
149
-
150
- The 1-SE selection rule picked steps inside the 200-step warmup, so these weights come
151
- from a **mid-warmup, un-annealed** point of the schedule -- not from the end of a
152
- completed LR decay. That is what the selection rule chose and what the paper reports,
153
- but it is unusual enough to state plainly.
154
-
155
- ## Results
156
-
157
- Base model versus these merged weights. Values are read from the SPECTRA paper's
158
- tables. n = 3 seeds; the interval is **mean +/- 2SD** across the three seeds.
159
-
160
- | Metric | Base model | SPECTRA (merged, n=3 seeds, mean +/- 2SD) |
161
- |---|---|---|
162
- | PathoROB mean robustness index (cross-centre) | 0.618 | **0.879** +/- 0.007 |
163
- | PLISM top-1 retrieval across scanners | 0.703 | **0.948** +/- 0.015 |
164
- | PLISM top-1 retrieval across stains | 0.486 | **0.782** +/- 0.029 |
165
- | HEST mean Pearson r | 0.3902 | **0.4048** +/- 0.0014 |
166
- | CPTAC AUC | 0.6561 | **0.6844** +/- 0.0022 |
167
-
168
- ## Training
169
-
170
- | | |
171
- |---|---|
172
- | Base-model weights | **modified** -- the LoRA delta has been folded in |
173
- | Method | LoRA (PEFT), r = 32, lora_alpha = 64 (scaling alpha/r = 2.0), lora_dropout = 0.0, bias = none, no DoRA, no rsLoRA |
174
- | Optimiser | AdamW, lr 1e-4, weight decay 0.05, grad clip 1.0 |
175
- | Schedule | 500 steps total, 200 warmup |
176
- | Objective | InfoNCE over registered PLISM tiles, split CLS / mean heads (weights 0.5 / 0.5), temperature 0.07 |
177
- | Batch geometry | 4 groups x 64 tiles, 2 acquisition conditions per batch, 900-tile grid sampler |
178
- | Same-core masking | on (`same_core_logit_bias_cls = +3.0`, `same_core_logit_bias_mean = -inf`) |
179
- | Checkpoint selection | 1-SE rule on the PathoROB robustness-index curve, applied per seed |
180
- | Precision | bf16 autocast during training; the released weights are **fp32** |
181
-
182
- Checkpoints were written every 50 steps; only the 1-SE-selected step per seed is
183
- released. Because selection is per seed, the three seeds of a backbone need not sit at
184
- the same step -- and because the selected steps fall **inside** the 200-step warmup,
185
- the released checkpoints are **un-annealed**. This is deliberate (the 1-SE rule picked
186
- them) but it means they are not the end of a completed LR schedule.
187
-
188
- Full run hyper-parameters are in each seed folder's `training_config.json`.
189
-
190
- > **`training_config.json` encoding note.** The training code writes
191
- > `same_core_logit_bias_mean` as negative infinity, and Python's `json` module emits the
192
- > bare token `-Infinity`. That token is **not valid JSON** and is rejected by
193
- > `JSON.parse` and most non-Python parsers. In the released files it is encoded as the
194
- > **string `"-Infinity"`** so the file parses everywhere. Read it back with
195
- > `float("-inf")`. That is the only edit made to the training configuration.
196
-
197
- ## What is NOT in this repository
198
-
199
- Nothing else from the training run is needed to reproduce the published numbers. The
200
- contrastive projector heads (`projector*.pt`, `projector_heads.json`) and the GeM
201
- pooling head (`pool_head.pt`) are training-only machinery and are deliberately not
202
- released. In particular the GeM pooling head is vacuous at inference: with it applied
203
- the features are bit-identical to the plain readout below.
204
-
205
- ## Citation
206
 
207
- ```bibtex
208
- @inproceedings{spectra2026,
209
- title = {SPECTRA: cross-acquisition robustness for pathology foundation models},
210
- author = {TODO: author list},
211
- year = {2026},
212
- note = {TODO: confirm venue and year before citing -- submitted to NeurIPS 2026},
213
- url = {https://github.com/TODO-org/spectra}
214
- }
215
  ```
216
 
217
- Code: **SPECTRA** on GitHub (TODO: fill in the canonical repository URL before publishing).
218
-
219
- ## Merge verification
220
-
221
- Every seed in this repository was verified at staging time, on CPU in fp32:
222
-
223
- | Folder | Modules merged | merged-vs-base feature diff (mean / max abs) | Reload bit-identical |
224
- |---|---|---|---|
225
- | `seed0/` | 160 | 0.1175 / 25.8296 | yes |
226
- | `seed1/` | 160 | 0.1322 / 26.8647 | yes |
227
- | `seed2/` | 160 | 0.1186 / 23.0432 | yes |
228
 
229
- "Reload bit-identical" means: the merged model was serialised to
230
- `model.safetensors`, re-instantiated from the architecture, re-loaded with
231
- `strict=True`, and its features on a fixed input compared with `torch.equal` against
232
- the in-memory merged model. All differences were exactly zero.
233
 
234
- The merged-vs-base column proves the merge is not a no-op: every one of the merged
235
- modules had a non-zero delta norm, and the resulting features differ substantially from
236
- the base model's on the same input.
237
 
238
- ## Licence
239
 
240
- See `LICENSE` (and `NOTICE`, where present) in this repository. These are **merged full
241
- weights**, i.e. a derivative of the base model, so the base model's licence governs this
242
- artifact -- it is not merely the SPECTRA delta's licence.
 
1
  ---
2
+ language: en
3
+ license: apache-2.0
4
  library_name: timm
5
+ pipeline_tag: image-feature-extraction
6
  base_model: SophontAI/OpenMidnight
7
+ base_model_relation: finetune
 
8
  tags:
9
  - pathology
10
  - histopathology
11
  - feature-extraction
12
+ - spectra
 
13
  ---
14
+ # OpenMidnight-1.0-SPECTRA
15
 
16
+ [MedARC](https://www.medarc.ai/) · [Sophont](https://sophont.med/) · [Paper (coming soon)](#paper)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
 
18
+ OpenMidnight-1.0-SPECTRA is [OpenMidnight](https://huggingface.co/SophontAI/OpenMidnight) adapted with **SPECTRA** by MedARC and Sophont. We trained on registered PLISM image tiles, aligning representations of the same tissue across scanners and stains with a contrastive objective. The learned updates are merged into the full model weights.
19
 
20
+ **Legacy OpenMidnight 1.0 release.** For the current model, use [OpenMidnight-1.1-SPECTRA](https://huggingface.co/medarc/OpenMidnight-1.1-SPECTRA).
 
 
 
21
 
22
+ The model maps RGB histology tiles to **1,536-dimensional embeddings** for downstream analysis. All inference weights are included; no separate base checkpoint, adapter, or cluster access is required.
 
23
 
24
+ ## Inference
 
 
 
 
 
 
 
 
25
 
26
+ In a Python environment:
27
 
28
+ ```bash
29
+ uv pip install torch torchvision "timm==1.0.30" huggingface_hub safetensors pillow
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  ```
31
 
 
 
32
  ```python
33
+ import torch
34
+ import timm
35
  from PIL import Image
36
+ from timm.data import create_transform, resolve_model_data_config
37
 
38
+ device = "cuda" # Use "cpu" to run without a GPU.
39
+ model = timm.create_model(
40
+ "hf-hub:medarc/OpenMidnight-1.0-SPECTRA", pretrained=True,
41
+ ).eval().to(device)
42
+ transform = create_transform(**resolve_model_data_config(model), is_training=False)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43
 
44
+ image = Image.open("tile.png").convert("RGB")
45
+ batch = transform(image).unsqueeze(0).to(device)
46
+ with torch.inference_mode():
47
+ tokens = model.forward_features(batch)
48
+ embedding = tokens[:, 0]
49
+ print(embedding.shape) # torch.Size([1, 1536])
 
 
50
  ```
51
 
52
+ The configuration supplies bicubic resizing to 256 pixels, a 224 × 224 center crop, and ImageNet normalization stored in `config.json`. The embedding uses the CLS token.
 
 
 
 
 
 
 
 
 
 
53
 
54
+ These are tile embeddings. Slide-level predictions require a downstream model.
 
 
 
55
 
56
+ Released checkpoint: training seed **0**, step **150**. The full weights are stored in float32; provenance is recorded in [`provenance.json`](provenance.json).
 
 
57
 
58
+ ## Paper
59
 
60
+ Coming soon. We will add the paper link and citation here.
 
 
seed1/config.json → config.json RENAMED
@@ -4,7 +4,7 @@
4
  "num_features": 1536,
5
  "global_pool": "token",
6
  "pretrained_cfg": {
7
- "custom_load": true,
8
  "input_size": [
9
  3,
10
  224,
@@ -22,6 +22,16 @@
22
  0.225
23
  ],
24
  "num_classes": 0,
25
- "license": "Apache 2.0"
 
 
 
 
 
 
 
 
 
 
26
  }
27
- }
 
4
  "num_features": 1536,
5
  "global_pool": "token",
6
  "pretrained_cfg": {
7
+ "custom_load": false,
8
  "input_size": [
9
  3,
10
  224,
 
22
  0.225
23
  ],
24
  "num_classes": 0,
25
+ "license": "Apache 2.0",
26
+ "interpolation": "bicubic",
27
+ "crop_pct": 0.875,
28
+ "crop_mode": "center"
29
+ },
30
+ "model_args": {
31
+ "img_size": 224,
32
+ "init_values": 1e-05,
33
+ "dynamic_img_size": false,
34
+ "num_classes": 0,
35
+ "global_pool": "token"
36
  }
37
+ }
seed0/model.safetensors → model.safetensors RENAMED
File without changes
provenance.json ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model": "medarc/OpenMidnight-1.0-SPECTRA",
3
+ "weights_sha256": "b0153c417d9ccce0674a39486c1935f7a7cf637f7edc0a4c390de3a4feed631d",
4
+ "dtype": "float32",
5
+ "embedding_dimension": 1536,
6
+ "training_seed": 0,
7
+ "training_step": 150,
8
+ "base_model": "SophontAI/OpenMidnight",
9
+ "base_revision": "87189e6674d397a14a5cd342c97b1a1615a185aa",
10
+ "method": "SPECTRA",
11
+ "training_data": "registered PLISM tiles",
12
+ "lora_rank": 32,
13
+ "lora_alpha": 64,
14
+ "merge": "W <- W + 2 * (B @ A), float32"
15
+ }
seed0/_verify.json DELETED
@@ -1,28 +0,0 @@
1
- {
2
- "backbone": "openmidnightsq",
3
- "hub": "SophontAI/OpenMidnight",
4
- "revision": "87189e66",
5
- "seed_label": "s0",
6
- "run": "genMASK-c50-ms500-openmidnight-s0-t900-438670",
7
- "step": "step_0000150",
8
- "adapter_dir": "/admin/home/ryan.kim/waiv/runs/genMASK-c50-ms500-openmidnight-s0-t900-438670/step_0000150/adapter",
9
- "out": "/admin/home/ryan.kim/spectra-release/merged/spectra-openmidnight-merged/seed0",
10
- "merge_info": {
11
- "merged": 160,
12
- "r": 32,
13
- "alpha": 64,
14
- "scaling": 2.0,
15
- "delta_norm_min": 0.37314584851264954,
16
- "delta_norm_max": 1.7552255392074585,
17
- "delta_norm_mean": 0.9496017875149846
18
- },
19
- "merged_vs_base": {
20
- "mean_abs_diff": 0.11748708039522171,
21
- "max_abs_diff": 25.829559326171875,
22
- "base_feat_absmean": 0.5962615609169006,
23
- "feat_dim": 1536
24
- },
25
- "reload_bit_identical": true,
26
- "reload_max_abs_diff": 0.0,
27
- "size_bytes": 4539151496
28
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
seed0/config.json DELETED
@@ -1,27 +0,0 @@
1
- {
2
- "architecture": "vit_giant_patch14_reg4_dinov2",
3
- "num_classes": 0,
4
- "num_features": 1536,
5
- "global_pool": "token",
6
- "pretrained_cfg": {
7
- "custom_load": true,
8
- "input_size": [
9
- 3,
10
- 224,
11
- 224
12
- ],
13
- "fixed_input_size": true,
14
- "mean": [
15
- 0.485,
16
- 0.456,
17
- 0.406
18
- ],
19
- "std": [
20
- 0.229,
21
- 0.224,
22
- 0.225
23
- ],
24
- "num_classes": 0,
25
- "license": "Apache 2.0"
26
- }
27
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
seed0/ri_curve.json DELETED
@@ -1,892 +0,0 @@
1
- {
2
- "run_dir": "/data/ryan.kim/waiv_runs/genMASK-c50-ms500-openmidnight-s0-t900-438670",
3
- "datasets": [
4
- "camelyon",
5
- "tolkach_esca",
6
- "tcga"
7
- ],
8
- "targets": {
9
- "phikon_v2_base": {
10
- "tcga": 0.619,
11
- "camelyon": 0.019,
12
- "tolkach_esca": 0.768,
13
- "avg": 0.469
14
- },
15
- "phaet_target": {
16
- "tcga": 0.785,
17
- "camelyon": 0.702,
18
- "tolkach_esca": 0.932,
19
- "avg": 0.806
20
- },
21
- "midnight_base": {
22
- "tcga": 0.858,
23
- "camelyon": 0.478,
24
- "tolkach_esca": 0.941,
25
- "avg": 0.759
26
- },
27
- "mascaret_target": {
28
- "tcga": 0.893,
29
- "camelyon": 0.907,
30
- "tolkach_esca": 0.972,
31
- "avg": 0.924
32
- },
33
- "virchow2_base": {
34
- "avg": 0.858
35
- },
36
- "virchow2_target": {
37
- "avg": 0.918
38
- }
39
- },
40
- "points": [
41
- {
42
- "model": "waiv_genMASK_c50_ms500_openmidnight_s0_t900_438670_s0000050",
43
- "adapter_rel_l2_delta": {
44
- "camelyon": 0.06374021,
45
- "tolkach_esca": 0.0206254,
46
- "tcga": 0.03763534
47
- },
48
- "datasets": {
49
- "camelyon": {
50
- "robustness_index": 0.29756242568370983,
51
- "balanced_accuracy": 0.9660294117647059,
52
- "k_opt": 11,
53
- "generalization_index": 0.9913733496391026,
54
- "confounder_insensitivity": 0.01916613679716595,
55
- "prediction_performance": 0.9569162210338681,
56
- "ID_performance": 0.9570714869652103,
57
- "OOD_performance": 0.9488151658767773
58
- },
59
- "tolkach_esca": {
60
- "robustness_index": 0.8845985248432408,
61
- "balanced_accuracy": 0.9554444444444444,
62
- "k_opt": 46,
63
- "generalization_index": 1.00991924821455,
64
- "confounder_insensitivity": 0.5562681141714376,
65
- "prediction_performance": 0.9350193236714976,
66
- "ID_performance": 0.9317159171644345,
67
- "OOD_performance": 0.9409578386122355
68
- },
69
- "tcga": {
70
- "robustness_index": 0.8085340762578971,
71
- "balanced_accuracy": 0.9244592198581559,
72
- "k_opt": 61,
73
- "generalization_index": 1.006949167173255,
74
- "confounder_insensitivity": 0.4979636159075689,
75
- "prediction_performance": 0.8959273630973144,
76
- "ID_performance": 0.8938624593877003,
77
- "OOD_performance": 0.9000740590478822
78
- }
79
- },
80
- "avg_robustness_index": 0.6635650089282826,
81
- "avg_balanced_accuracy": 0.9486443586891021,
82
- "step": 50,
83
- "checkpoint": "/data/ryan.kim/waiv_runs/genMASK-c50-ms500-openmidnight-s0-t900-438670/step_0000050",
84
- "probe": {
85
- "train.cross_scanner.separation": 0.0005232888460159302,
86
- "train.cross_scanner.matched": 0.9998923575878144,
87
- "train.cross_scanner.random": 0.9993690687417984,
88
- "train.cross_scanner.top1": 0.7503125,
89
- "train.cross_stain.separation": 0.0004410478803846571,
90
- "train.cross_stain.matched": 0.999780216217041,
91
- "train.cross_stain.random": 0.9993391683366564,
92
- "train.cross_stain.top1": 0.4851215277777778,
93
- "train.within_condition_random": 0.9993936657905579,
94
- "heldout.cross_scanner.separation": 0.0005500659550706002,
95
- "heldout.cross_scanner.matched": 0.9998943421938647,
96
- "heldout.cross_scanner.random": 0.9993442762387942,
97
- "heldout.cross_scanner.top1": 0.7379066780821918,
98
- "heldout.cross_stain.separation": 0.0005110564984773335,
99
- "heldout.cross_stain.matched": 0.9998160154498809,
100
- "heldout.cross_stain.random": 0.9993049589514035,
101
- "heldout.cross_stain.top1": 0.5181834795321637,
102
- "heldout.within_condition_random": 0.9993553655903514
103
- },
104
- "eval_seconds": 3570.8,
105
- "train_metrics": {
106
- "step": 50,
107
- "loss_cls": 4.892350196838379,
108
- "top1_cls": 0.028888888657093048,
109
- "weight_cls": 0.5,
110
- "negatives_per_anchor": 899.0,
111
- "n_rows": 1800.0,
112
- "n_cond": 2.0,
113
- "n_tiles": 900.0,
114
- "loss_mean": 0.6314055323600769,
115
- "top1_mean": 0.9111111164093018,
116
- "weight_mean": 0.5,
117
- "loss": 2.7618777751922607,
118
- "top1": 0.4700000025331974,
119
- "n_heads": 2.0,
120
- "split_input_rel_distance": 1.9106868505477905,
121
- "split_input_cosine": -0.12762205302715302,
122
- "heldout_loss": 2.427219945192337,
123
- "heldout_top1": 0.49636112414300443
124
- }
125
- },
126
- {
127
- "model": "waiv_genMASK_c50_ms500_openmidnight_s0_t900_438670_s0000100",
128
- "adapter_rel_l2_delta": {
129
- "camelyon": 0.1126843,
130
- "tolkach_esca": 0.04074381,
131
- "tcga": 0.06952679
132
- },
133
- "datasets": {
134
- "camelyon": {
135
- "robustness_index": 0.7134971842016933,
136
- "balanced_accuracy": 0.9709313725490196,
137
- "k_opt": 11,
138
- "generalization_index": 0.9971324075061127,
139
- "confounder_insensitivity": 0.09749834935074463,
140
- "prediction_performance": 0.9621836007130126,
141
- "ID_performance": 0.9624287775413886,
142
- "OOD_performance": 0.9596689240030097
143
- },
144
- "tolkach_esca": {
145
- "robustness_index": 0.951786159268093,
146
- "balanced_accuracy": 0.9672222222222223,
147
- "k_opt": 46,
148
- "generalization_index": 1.009492712801384,
149
- "confounder_insensitivity": 1.187571003587828,
150
- "prediction_performance": 0.9476062801932368,
151
- "ID_performance": 0.9427479907635891,
152
- "OOD_performance": 0.9516972266839896
153
- },
154
- "tcga": {
155
- "robustness_index": 0.8463655111487451,
156
- "balanced_accuracy": 0.9303812056737591,
157
- "k_opt": 61,
158
- "generalization_index": 1.0132432010185413,
159
- "confounder_insensitivity": 0.6466215398046015,
160
- "prediction_performance": 0.8983580397628183,
161
- "ID_performance": 0.8937102541485012,
162
- "OOD_performance": 0.9055458386965214
163
- }
164
- },
165
- "avg_robustness_index": 0.8372162848728438,
166
- "avg_balanced_accuracy": 0.9561782668150004,
167
- "step": 100,
168
- "checkpoint": "/data/ryan.kim/waiv_runs/genMASK-c50-ms500-openmidnight-s0-t900-438670/step_0000100",
169
- "probe": {
170
- "train.cross_scanner.separation": 0.0004898476600646973,
171
- "train.cross_scanner.matched": 0.9999630546569824,
172
- "train.cross_scanner.random": 0.9994732069969178,
173
- "train.cross_scanner.top1": 0.9084375,
174
- "train.cross_stain.separation": 0.0004304936197068956,
175
- "train.cross_stain.matched": 0.9998944293128119,
176
- "train.cross_stain.random": 0.9994639356931051,
177
- "train.cross_stain.top1": 0.6517881944444445,
178
- "train.within_condition_random": 0.9994787991046905,
179
- "heldout.cross_scanner.separation": 0.0005155744617932463,
180
- "heldout.cross_scanner.matched": 0.9999579893399592,
181
- "heldout.cross_scanner.random": 0.9994424148781659,
182
- "heldout.cross_scanner.top1": 0.8894477739726028,
183
- "heldout.cross_stain.separation": 0.0004799390396876642,
184
- "heldout.cross_stain.matched": 0.9999059027398539,
185
- "heldout.cross_stain.random": 0.9994259637001662,
186
- "heldout.cross_stain.top1": 0.6676489400584795,
187
- "heldout.within_condition_random": 0.9994440107810788
188
- },
189
- "eval_seconds": 2810.1,
190
- "train_metrics": {
191
- "step": 100,
192
- "loss_cls": 3.64172625541687,
193
- "top1_cls": 0.11166667193174362,
194
- "weight_cls": 0.5,
195
- "negatives_per_anchor": 899.0,
196
- "n_rows": 1800.0,
197
- "n_cond": 2.0,
198
- "n_tiles": 900.0,
199
- "loss_mean": 0.3925608992576599,
200
- "top1_mean": 0.9377778172492981,
201
- "weight_mean": 0.5,
202
- "loss": 2.017143487930298,
203
- "top1": 0.5247222445905209,
204
- "n_heads": 2.0,
205
- "split_input_rel_distance": 1.9103822708129883,
206
- "split_input_cosine": -0.09801985323429108,
207
- "heldout_loss": 1.6705534160137177,
208
- "heldout_top1": 0.708847238868475
209
- }
210
- },
211
- {
212
- "model": "waiv_genMASK_c50_ms500_openmidnight_s0_t900_438670_s0000150",
213
- "adapter_rel_l2_delta": {
214
- "camelyon": 0.1060357,
215
- "tolkach_esca": 0.03727667,
216
- "tcga": 0.0692298
217
- },
218
- "datasets": {
219
- "camelyon": {
220
- "robustness_index": 0.8415839370360434,
221
- "balanced_accuracy": 0.972843137254902,
222
- "k_opt": 11,
223
- "generalization_index": 1.0055968843391836,
224
- "confounder_insensitivity": 0.20980785404671018,
225
- "prediction_performance": 0.9627361853832442,
226
- "ID_performance": 0.9618026352677319,
227
- "OOD_performance": 0.9671857333744476
228
- },
229
- "tolkach_esca": {
230
- "robustness_index": 0.9604878776034846,
231
- "balanced_accuracy": 0.9667777777777777,
232
- "k_opt": 46,
233
- "generalization_index": 1.0099744602023812,
234
- "confounder_insensitivity": 1.5420294482445263,
235
- "prediction_performance": 0.945475845410628,
236
- "ID_performance": 0.9397895150495511,
237
- "OOD_performance": 0.9491634081660282
238
- },
239
- "tcga": {
240
- "robustness_index": 0.8464677207107342,
241
- "balanced_accuracy": 0.9233421985815604,
242
- "k_opt": 61,
243
- "generalization_index": 1.0121879701648233,
244
- "confounder_insensitivity": 0.74241536023921,
245
- "prediction_performance": 0.8846190849901174,
246
- "ID_performance": 0.8800489035074948,
247
- "OOD_performance": 0.8907749132870295
248
- }
249
- },
250
- "avg_robustness_index": 0.8828465117834208,
251
- "avg_balanced_accuracy": 0.9543210378714134,
252
- "step": 150,
253
- "checkpoint": "/data/ryan.kim/waiv_runs/genMASK-c50-ms500-openmidnight-s0-t900-438670/step_0000150",
254
- "probe": {
255
- "train.cross_scanner.separation": 0.0005586463212966919,
256
- "train.cross_scanner.matched": 0.9999723851680755,
257
- "train.cross_scanner.random": 0.9994137388467789,
258
- "train.cross_scanner.top1": 0.9619921875,
259
- "train.cross_stain.separation": 0.0004952155219184028,
260
- "train.cross_stain.matched": 0.9999027323722839,
261
- "train.cross_stain.random": 0.9994075168503656,
262
- "train.cross_stain.top1": 0.7573784722222222,
263
- "train.within_condition_random": 0.9994162178039551,
264
- "heldout.cross_scanner.separation": 0.0005905391418770568,
265
- "heldout.cross_scanner.matched": 0.9999654978921969,
266
- "heldout.cross_scanner.random": 0.9993749587503198,
267
- "heldout.cross_scanner.top1": 0.9398544520547946,
268
- "heldout.cross_stain.separation": 0.0005396799734461378,
269
- "heldout.cross_stain.matched": 0.9999090108955115,
270
- "heldout.cross_stain.random": 0.9993693309220654,
271
- "heldout.cross_stain.top1": 0.7663788377192983,
272
- "heldout.within_condition_random": 0.9993788919797758
273
- },
274
- "eval_seconds": 2298.1,
275
- "train_metrics": {
276
- "step": 150,
277
- "loss_cls": 1.8985670804977417,
278
- "top1_cls": 0.40666666626930237,
279
- "weight_cls": 0.5,
280
- "negatives_per_anchor": 899.0,
281
- "n_rows": 1800.0,
282
- "n_cond": 2.0,
283
- "n_tiles": 900.0,
284
- "loss_mean": 0.10505829006433487,
285
- "top1_mean": 0.9938889145851135,
286
- "weight_mean": 0.5,
287
- "loss": 1.0018126964569092,
288
- "top1": 0.700277790427208,
289
- "n_heads": 2.0,
290
- "split_input_rel_distance": 1.9079663753509521,
291
- "split_input_cosine": -0.0761035680770874,
292
- "heldout_loss": 1.5808512270450592,
293
- "heldout_top1": 0.7832222409546375
294
- }
295
- },
296
- {
297
- "model": "waiv_genMASK_c50_ms500_openmidnight_s0_t900_438670_s0000200",
298
- "adapter_rel_l2_delta": {
299
- "camelyon": 0.08966193,
300
- "tolkach_esca": 0.02933603,
301
- "tcga": 0.05624159
302
- },
303
- "datasets": {
304
- "camelyon": {
305
- "robustness_index": 0.8695477454247108,
306
- "balanced_accuracy": 0.9697058823529412,
307
- "k_opt": 11,
308
- "generalization_index": 1.007689422740446,
309
- "confounder_insensitivity": 0.31694005105783624,
310
- "prediction_performance": 0.9560427807486631,
311
- "ID_performance": 0.9542768273716953,
312
- "OOD_performance": 0.9616146653087677
313
- },
314
- "tolkach_esca": {
315
- "robustness_index": 0.9615664394109408,
316
- "balanced_accuracy": 0.9634444444444444,
317
- "k_opt": 46,
318
- "generalization_index": 1.008042917084278,
319
- "confounder_insensitivity": 1.7602760276027603,
320
- "prediction_performance": 0.9385628019323672,
321
- "ID_performance": 0.9337733773377337,
322
- "OOD_performance": 0.9412836391871673
323
- },
324
- "tcga": {
325
- "robustness_index": 0.8377346428524514,
326
- "balanced_accuracy": 0.9184308510638297,
327
- "k_opt": 61,
328
- "generalization_index": 1.0098778458475681,
329
- "confounder_insensitivity": 0.8057638634654825,
330
- "prediction_performance": 0.8676530345308685,
331
- "ID_performance": 0.8638454886739545,
332
- "OOD_performance": 0.8723784212471929
333
- }
334
- },
335
- "avg_robustness_index": 0.8896162758960343,
336
- "avg_balanced_accuracy": 0.9505270592870718,
337
- "step": 200,
338
- "checkpoint": "/data/ryan.kim/waiv_runs/genMASK-c50-ms500-openmidnight-s0-t900-438670/step_0000200",
339
- "probe": {
340
- "train.cross_scanner.separation": 0.0005888128280639648,
341
- "train.cross_scanner.matched": 0.9999768853187561,
342
- "train.cross_scanner.random": 0.9993880724906922,
343
- "train.cross_scanner.top1": 0.989453125,
344
- "train.cross_stain.separation": 0.0005249057875739203,
345
- "train.cross_stain.matched": 0.9999101400375366,
346
- "train.cross_stain.random": 0.9993852342499627,
347
- "train.cross_stain.top1": 0.8552604166666666,
348
- "train.within_condition_random": 0.9993896424770355,
349
- "heldout.cross_scanner.separation": 0.0006078375528936517,
350
- "heldout.cross_scanner.matched": 0.9999700474412474,
351
- "heldout.cross_scanner.random": 0.9993622098883538,
352
- "heldout.cross_scanner.top1": 0.979933647260274,
353
- "heldout.cross_stain.separation": 0.0005537609607852691,
354
- "heldout.cross_stain.matched": 0.9999124833017762,
355
- "heldout.cross_stain.random": 0.9993587223409909,
356
- "heldout.cross_stain.top1": 0.8576845760233918,
357
- "heldout.within_condition_random": 0.9993644429416191
358
- },
359
- "eval_seconds": 2351.9,
360
- "train_metrics": {
361
- "step": 200,
362
- "loss_cls": 2.2011358737945557,
363
- "top1_cls": 0.4327777922153473,
364
- "weight_cls": 0.5,
365
- "negatives_per_anchor": 899.0,
366
- "n_rows": 1800.0,
367
- "n_cond": 2.0,
368
- "n_tiles": 900.0,
369
- "loss_mean": 0.08813183009624481,
370
- "top1_mean": 0.991111159324646,
371
- "weight_mean": 0.5,
372
- "loss": 1.1446338891983032,
373
- "top1": 0.7119444757699966,
374
- "n_heads": 2.0,
375
- "split_input_rel_distance": 1.9042781591415405,
376
- "split_input_cosine": -0.05710367113351822,
377
- "heldout_loss": 1.2109025865793228,
378
- "heldout_top1": 0.8121944665908813
379
- }
380
- },
381
- {
382
- "model": "waiv_genMASK_c50_ms500_openmidnight_s0_t900_438670_s0000250",
383
- "adapter_rel_l2_delta": {
384
- "camelyon": 0.08658062,
385
- "tolkach_esca": 0.02974765,
386
- "tcga": 0.05555091
387
- },
388
- "datasets": {
389
- "camelyon": {
390
- "robustness_index": 0.8655360387643852,
391
- "balanced_accuracy": 0.9691176470588235,
392
- "k_opt": 11,
393
- "generalization_index": 1.0075849399214611,
394
- "confounder_insensitivity": 0.3014806952830024,
395
- "prediction_performance": 0.9566131907308378,
396
- "ID_performance": 0.9549353609520992,
397
- "OOD_performance": 0.9621784882937997
398
- },
399
- "tolkach_esca": {
400
- "robustness_index": 0.9614416298706329,
401
- "balanced_accuracy": 0.9633333333333334,
402
- "k_opt": 46,
403
- "generalization_index": 1.0075070664975965,
404
- "confounder_insensitivity": 1.7576651768169615,
405
- "prediction_performance": 0.9381570048309178,
406
- "ID_performance": 0.9336894762434472,
407
- "OOD_performance": 0.9406987452297128
408
- },
409
- "tcga": {
410
- "robustness_index": 0.8391377455382278,
411
- "balanced_accuracy": 0.9204609929078015,
412
- "k_opt": 61,
413
- "generalization_index": 1.0110562716115323,
414
- "confounder_insensitivity": 0.7884517914928457,
415
- "prediction_performance": 0.8716685559818625,
416
- "ID_performance": 0.8674404460212874,
417
- "OOD_performance": 0.8770311031993275
418
- }
419
- },
420
- "avg_robustness_index": 0.8887051380577486,
421
- "avg_balanced_accuracy": 0.9509706577666529,
422
- "step": 250,
423
- "checkpoint": "/data/ryan.kim/waiv_runs/genMASK-c50-ms500-openmidnight-s0-t900-438670/step_0000250",
424
- "probe": {
425
- "train.cross_scanner.separation": 0.0006528121232986451,
426
- "train.cross_scanner.matched": 0.9999767744541168,
427
- "train.cross_scanner.random": 0.9993239623308182,
428
- "train.cross_scanner.top1": 0.9903515625,
429
- "train.cross_stain.separation": 0.0005891905890570747,
430
- "train.cross_stain.matched": 0.9999101919598049,
431
- "train.cross_stain.random": 0.9993210013707479,
432
- "train.cross_stain.top1": 0.86625,
433
- "train.within_condition_random": 0.9993254554271698,
434
- "heldout.cross_scanner.separation": 0.0006717247505710549,
435
- "heldout.cross_scanner.matched": 0.9999692831953911,
436
- "heldout.cross_scanner.random": 0.99929755844482,
437
- "heldout.cross_scanner.top1": 0.981538955479452,
438
- "heldout.cross_stain.separation": 0.0006194233197217797,
439
- "heldout.cross_stain.matched": 0.999912492713036,
440
- "heldout.cross_stain.random": 0.9992930693933141,
441
- "heldout.cross_stain.top1": 0.8686723318713451,
442
- "heldout.within_condition_random": 0.9992995465674052
443
- },
444
- "eval_seconds": 2471.4,
445
- "train_metrics": {
446
- "step": 250,
447
- "loss_cls": 1.1153584718704224,
448
- "top1_cls": 0.6611111164093018,
449
- "weight_cls": 0.5,
450
- "negatives_per_anchor": 899.0,
451
- "n_rows": 1800.0,
452
- "n_cond": 2.0,
453
- "n_tiles": 900.0,
454
- "loss_mean": 0.01960674487054348,
455
- "top1_mean": 0.9994444847106934,
456
- "weight_mean": 0.5,
457
- "loss": 0.567482590675354,
458
- "top1": 0.8302778005599976,
459
- "n_heads": 2.0,
460
- "split_input_rel_distance": 1.9031012058258057,
461
- "split_input_cosine": -0.04557694122195244,
462
- "heldout_loss": 1.0882921874523164,
463
- "heldout_top1": 0.8291389077901841
464
- }
465
- },
466
- {
467
- "model": "waiv_genMASK_c50_ms500_openmidnight_s0_t900_438670_s0000300",
468
- "adapter_rel_l2_delta": {
469
- "camelyon": 0.07430177,
470
- "tolkach_esca": 0.03844914,
471
- "tcga": 0.04813877
472
- },
473
- "datasets": {
474
- "camelyon": {
475
- "robustness_index": 0.8623951001624256,
476
- "balanced_accuracy": 0.9678431372549019,
477
- "k_opt": 11,
478
- "generalization_index": 1.007191760520451,
479
- "confounder_insensitivity": 0.3102119460500963,
480
- "prediction_performance": 0.9541354723707666,
481
- "ID_performance": 0.9525135750569277,
482
- "OOD_performance": 0.9593638245812159
483
- },
484
- "tolkach_esca": {
485
- "robustness_index": 0.9614466537771131,
486
- "balanced_accuracy": 0.9634444444444444,
487
- "k_opt": 46,
488
- "generalization_index": 1.007525769183128,
489
- "confounder_insensitivity": 1.804023163669613,
490
- "prediction_performance": 0.9365797101449276,
491
- "ID_performance": 0.9320667818077145,
492
- "OOD_performance": 0.9390813012708603
493
- },
494
- "tcga": {
495
- "robustness_index": 0.835332495349946,
496
- "balanced_accuracy": 0.9208687943262412,
497
- "k_opt": 61,
498
- "generalization_index": 1.0112616636580545,
499
- "confounder_insensitivity": 0.7945378324399068,
500
- "prediction_performance": 0.8675717939774445,
501
- "ID_performance": 0.863267421293367,
502
- "OOD_performance": 0.872989248638929
503
- }
504
- },
505
- "avg_robustness_index": 0.8863914164298282,
506
- "avg_balanced_accuracy": 0.9507187920085292,
507
- "step": 300,
508
- "checkpoint": "/data/ryan.kim/waiv_runs/genMASK-c50-ms500-openmidnight-s0-t900-438670/step_0000300",
509
- "probe": {
510
- "train.cross_scanner.separation": 0.0007215380668640137,
511
- "train.cross_scanner.matched": 0.9999754893779754,
512
- "train.cross_scanner.random": 0.9992539513111115,
513
- "train.cross_scanner.top1": 0.99484375,
514
- "train.cross_stain.separation": 0.0006525437037150065,
515
- "train.cross_stain.matched": 0.9999038802252875,
516
- "train.cross_stain.random": 0.9992513365215725,
517
- "train.cross_stain.top1": 0.8904861111111111,
518
- "train.within_condition_random": 0.9992554938793182,
519
- "heldout.cross_scanner.separation": 0.0007306337356567383,
520
- "heldout.cross_scanner.matched": 0.9999680004707755,
521
- "heldout.cross_scanner.random": 0.9992373667351188,
522
- "heldout.cross_scanner.top1": 0.9875856164383562,
523
- "heldout.cross_stain.separation": 0.0006734481331897758,
524
- "heldout.cross_stain.matched": 0.9999066044015494,
525
- "heldout.cross_stain.random": 0.9992331562683596,
526
- "heldout.cross_stain.top1": 0.8902595029239766,
527
- "heldout.within_condition_random": 0.9992389286436686
528
- },
529
- "eval_seconds": 2429.1,
530
- "train_metrics": {
531
- "step": 300,
532
- "loss_cls": 1.7683112621307373,
533
- "top1_cls": 0.48500001430511475,
534
- "weight_cls": 0.5,
535
- "negatives_per_anchor": 899.0,
536
- "n_rows": 1800.0,
537
- "n_cond": 2.0,
538
- "n_tiles": 900.0,
539
- "loss_mean": 0.06796896457672119,
540
- "top1_mean": 0.9927778244018555,
541
- "weight_mean": 0.5,
542
- "loss": 0.9181401133537292,
543
- "top1": 0.7388889193534851,
544
- "n_heads": 2.0,
545
- "split_input_rel_distance": 1.9006847143173218,
546
- "split_input_cosine": -0.041205547749996185,
547
- "heldout_loss": 1.0133501410484314,
548
- "heldout_top1": 0.8375555753707886
549
- }
550
- },
551
- {
552
- "model": "waiv_genMASK_c50_ms500_openmidnight_s0_t900_438670_s0000350",
553
- "adapter_rel_l2_delta": {
554
- "camelyon": 0.07401788,
555
- "tolkach_esca": 0.03976233,
556
- "tcga": 0.04607474
557
- },
558
- "datasets": {
559
- "camelyon": {
560
- "robustness_index": 0.8625927234192865,
561
- "balanced_accuracy": 0.9672549019607843,
562
- "k_opt": 11,
563
- "generalization_index": 1.0076057464400203,
564
- "confounder_insensitivity": 0.31265684318898396,
565
- "prediction_performance": 0.953939393939394,
566
- "ID_performance": 0.9522143772192032,
567
- "OOD_performance": 0.9594566783288743
568
- },
569
- "tolkach_esca": {
570
- "robustness_index": 0.9621462910232964,
571
- "balanced_accuracy": 0.963777777777778,
572
- "k_opt": 46,
573
- "generalization_index": 1.0072227604027881,
574
- "confounder_insensitivity": 1.779250944878189,
575
- "prediction_performance": 0.9384565217391304,
576
- "ID_performance": 0.9341371231396137,
577
- "OOD_performance": 0.9408841717634009
578
- },
579
- "tcga": {
580
- "robustness_index": 0.8366918027878243,
581
- "balanced_accuracy": 0.9210638297872342,
582
- "k_opt": 61,
583
- "generalization_index": 1.0119224227122665,
584
- "confounder_insensitivity": 0.7874659174037374,
585
- "prediction_performance": 0.8699472445064528,
586
- "ID_performance": 0.865401800558622,
587
- "OOD_performance": 0.8757194866408385
588
- }
589
- },
590
- "avg_robustness_index": 0.8871436057434691,
591
- "avg_balanced_accuracy": 0.9506988365085989,
592
- "step": 350,
593
- "checkpoint": "/data/ryan.kim/waiv_runs/genMASK-c50-ms500-openmidnight-s0-t900-438670/step_0000350",
594
- "probe": {
595
- "train.cross_scanner.separation": 0.0008098453283309937,
596
- "train.cross_scanner.matched": 0.9999728953838348,
597
- "train.cross_scanner.random": 0.9991630500555039,
598
- "train.cross_scanner.top1": 0.994140625,
599
- "train.cross_stain.separation": 0.0007334121068318685,
600
- "train.cross_stain.matched": 0.999893672466278,
601
- "train.cross_stain.random": 0.9991602603594462,
602
- "train.cross_stain.top1": 0.8898784722222223,
603
- "train.within_condition_random": 0.9991646647453308,
604
- "heldout.cross_scanner.separation": 0.0008189229116047898,
605
- "heldout.cross_scanner.matched": 0.9999644944112595,
606
- "heldout.cross_scanner.random": 0.9991455714996547,
607
- "heldout.cross_scanner.top1": 0.987478595890411,
608
- "heldout.cross_stain.separation": 0.0007573645017300433,
609
- "heldout.cross_stain.matched": 0.9998967319901226,
610
- "heldout.cross_stain.random": 0.9991393674883926,
611
- "heldout.cross_stain.top1": 0.8921783625730995,
612
- "heldout.within_condition_random": 0.9991464469490982
613
- },
614
- "eval_seconds": 2588.6,
615
- "train_metrics": {
616
- "step": 350,
617
- "loss_cls": 0.5551905035972595,
618
- "top1_cls": 0.8388888835906982,
619
- "weight_cls": 0.5,
620
- "negatives_per_anchor": 899.0,
621
- "n_rows": 1800.0,
622
- "n_cond": 2.0,
623
- "n_tiles": 900.0,
624
- "loss_mean": 0.011262433603405952,
625
- "top1_mean": 0.9983333349227905,
626
- "weight_mean": 0.5,
627
- "loss": 0.28322646021842957,
628
- "top1": 0.9186111092567444,
629
- "n_heads": 2.0,
630
- "split_input_rel_distance": 1.9005026817321777,
631
- "split_input_cosine": -0.04086735472083092,
632
- "heldout_loss": 0.9614806115627289,
633
- "heldout_top1": 0.8447916835546494
634
- }
635
- },
636
- {
637
- "model": "waiv_genMASK_c50_ms500_openmidnight_s0_t900_438670_s0000400",
638
- "adapter_rel_l2_delta": {
639
- "camelyon": 0.07261994,
640
- "tolkach_esca": 0.03964668,
641
- "tcga": 0.04430719
642
- },
643
- "datasets": {
644
- "camelyon": {
645
- "robustness_index": 0.8651184455682726,
646
- "balanced_accuracy": 0.9678431372549019,
647
- "k_opt": 11,
648
- "generalization_index": 1.0083015206770733,
649
- "confounder_insensitivity": 0.3181003847396399,
650
- "prediction_performance": 0.954282531194296,
651
- "ID_performance": 0.9523745190754501,
652
- "OOD_performance": 0.9602806758378728
653
- },
654
- "tolkach_esca": {
655
- "robustness_index": 0.9625429500315866,
656
- "balanced_accuracy": 0.9646666666666667,
657
- "k_opt": 46,
658
- "generalization_index": 1.0067634533411522,
659
- "confounder_insensitivity": 1.7898702103858646,
660
- "prediction_performance": 0.9385265700483092,
661
- "ID_performance": 0.9344717441405986,
662
- "OOD_performance": 0.9407920001807187
663
- },
664
- "tcga": {
665
- "robustness_index": 0.8338010717520378,
666
- "balanced_accuracy": 0.9184397163120568,
667
- "k_opt": 61,
668
- "generalization_index": 1.0118268964021844,
669
- "confounder_insensitivity": 0.7906732903465565,
670
- "prediction_performance": 0.8669696837577026,
671
- "ID_performance": 0.8624657358850585,
672
- "OOD_performance": 0.8726660287938048
673
- }
674
- },
675
- "avg_robustness_index": 0.8871541557839656,
676
- "avg_balanced_accuracy": 0.9503165067445418,
677
- "step": 400,
678
- "checkpoint": "/data/ryan.kim/waiv_runs/genMASK-c50-ms500-openmidnight-s0-t900-438670/step_0000400",
679
- "probe": {
680
- "train.cross_scanner.separation": 0.0008532857894897461,
681
- "train.cross_scanner.matched": 0.9999725717306137,
682
- "train.cross_scanner.random": 0.999119285941124,
683
- "train.cross_scanner.top1": 0.99515625,
684
- "train.cross_stain.separation": 0.0007745387819078234,
685
- "train.cross_stain.matched": 0.9998913372887506,
686
- "train.cross_stain.random": 0.9991167985068428,
687
- "train.cross_stain.top1": 0.8952777777777777,
688
- "train.within_condition_random": 0.9991208338737487,
689
- "heldout.cross_scanner.separation": 0.0008624326692868586,
690
- "heldout.cross_scanner.matched": 0.9999637587429726,
691
- "heldout.cross_scanner.random": 0.9991013260736857,
692
- "heldout.cross_scanner.top1": 0.9892444349315068,
693
- "heldout.cross_stain.separation": 0.0007984906609295405,
694
- "heldout.cross_stain.matched": 0.9998938646930003,
695
- "heldout.cross_stain.random": 0.9990953740320707,
696
- "heldout.cross_stain.top1": 0.897546600877193,
697
- "heldout.within_condition_random": 0.999102218848903
698
- },
699
- "eval_seconds": 2661.9,
700
- "train_metrics": {
701
- "step": 400,
702
- "loss_cls": 0.4332435727119446,
703
- "top1_cls": 0.8516666889190674,
704
- "weight_cls": 0.5,
705
- "negatives_per_anchor": 899.0,
706
- "n_rows": 1800.0,
707
- "n_cond": 2.0,
708
- "n_tiles": 900.0,
709
- "loss_mean": 0.006968224886804819,
710
- "top1_mean": 1.0,
711
- "weight_mean": 0.5,
712
- "loss": 0.22010590136051178,
713
- "top1": 0.9258333444595337,
714
- "n_heads": 2.0,
715
- "split_input_rel_distance": 1.9003044366836548,
716
- "split_input_cosine": -0.041082028299570084,
717
- "heldout_loss": 0.9407137572765351,
718
- "heldout_top1": 0.8465416833758355
719
- }
720
- },
721
- {
722
- "model": "waiv_genMASK_c50_ms500_openmidnight_s0_t900_438670_s0000450",
723
- "adapter_rel_l2_delta": {
724
- "camelyon": 0.07137169,
725
- "tolkach_esca": 0.04297168,
726
- "tcga": 0.04275866
727
- },
728
- "datasets": {
729
- "camelyon": {
730
- "robustness_index": 0.8652830372669799,
731
- "balanced_accuracy": 0.9669607843137256,
732
- "k_opt": 11,
733
- "generalization_index": 1.008411797054637,
734
- "confounder_insensitivity": 0.3287620130389213,
735
- "prediction_performance": 0.9528966131907308,
736
- "ID_performance": 0.9509175208285221,
737
- "OOD_performance": 0.9589164460294303
738
- },
739
- "tolkach_esca": {
740
- "robustness_index": 0.9615984427865844,
741
- "balanced_accuracy": 0.9633333333333334,
742
- "k_opt": 46,
743
- "generalization_index": 1.0070129119890157,
744
- "confounder_insensitivity": 1.82615076899972,
745
- "prediction_performance": 0.9358067632850241,
746
- "ID_performance": 0.9315853067465816,
747
- "OOD_performance": 0.9381184325130555
748
- },
749
- "tcga": {
750
- "robustness_index": 0.8312702113635062,
751
- "balanced_accuracy": 0.9178546099290781,
752
- "k_opt": 61,
753
- "generalization_index": 1.0117985336222193,
754
- "confounder_insensitivity": 0.799711242702601,
755
- "prediction_performance": 0.8634331763748402,
756
- "ID_performance": 0.8589300286664854,
757
- "OOD_performance": 0.8690641434888406
758
- }
759
- },
760
- "avg_robustness_index": 0.8860505638056901,
761
- "avg_balanced_accuracy": 0.9493829091920457,
762
- "step": 450,
763
- "checkpoint": "/data/ryan.kim/waiv_runs/genMASK-c50-ms500-openmidnight-s0-t900-438670/step_0000450",
764
- "probe": {
765
- "train.cross_scanner.separation": 0.0008522337675094605,
766
- "train.cross_scanner.matched": 0.9999733287096023,
767
- "train.cross_scanner.random": 0.9991210949420929,
768
- "train.cross_scanner.top1": 0.9957421875,
769
- "train.cross_stain.separation": 0.0007747122976515028,
770
- "train.cross_stain.matched": 0.9998934732543098,
771
- "train.cross_stain.random": 0.9991187609566583,
772
- "train.cross_stain.top1": 0.9002430555555555,
773
- "train.within_condition_random": 0.9991225719451904,
774
- "heldout.cross_scanner.separation": 0.0008638395022039545,
775
- "heldout.cross_scanner.matched": 0.9999647630404119,
776
- "heldout.cross_scanner.random": 0.999100923538208,
777
- "heldout.cross_scanner.top1": 0.9910102739726028,
778
- "heldout.cross_stain.separation": 0.0007991285351981893,
779
- "heldout.cross_stain.matched": 0.99989542556785,
780
- "heldout.cross_stain.random": 0.9990962970326518,
781
- "heldout.cross_stain.top1": 0.9013157894736842,
782
- "heldout.within_condition_random": 0.9991024470910793
783
- },
784
- "eval_seconds": 5885.5,
785
- "train_metrics": {
786
- "step": 450,
787
- "loss_cls": 1.4154455661773682,
788
- "top1_cls": 0.6016666889190674,
789
- "weight_cls": 0.5,
790
- "negatives_per_anchor": 899.0,
791
- "n_rows": 1800.0,
792
- "n_cond": 2.0,
793
- "n_tiles": 900.0,
794
- "loss_mean": 0.03302536532282829,
795
- "top1_mean": 0.9988889098167419,
796
- "weight_mean": 0.5,
797
- "loss": 0.724235475063324,
798
- "top1": 0.8002777993679047,
799
- "n_heads": 2.0,
800
- "split_input_rel_distance": 1.899962306022644,
801
- "split_input_cosine": -0.039675090461969376,
802
- "heldout_loss": 0.9294995337724685,
803
- "heldout_top1": 0.8493611305952072
804
- }
805
- },
806
- {
807
- "model": "waiv_genMASK_c50_ms500_openmidnight_s0_t900_438670_s0000500",
808
- "adapter_rel_l2_delta": {
809
- "camelyon": 0.07128169,
810
- "tolkach_esca": 0.04185599,
811
- "tcga": 0.0431932
812
- },
813
- "datasets": {
814
- "camelyon": {
815
- "robustness_index": 0.8666294917422466,
816
- "balanced_accuracy": 0.9674019607843137,
817
- "k_opt": 11,
818
- "generalization_index": 1.0095163885592746,
819
- "confounder_insensitivity": 0.3245345831021497,
820
- "prediction_performance": 0.9542201426024955,
821
- "ID_performance": 0.9520003777638739,
822
- "OOD_performance": 0.9610599832672511
823
- },
824
- "tolkach_esca": {
825
- "robustness_index": 0.9627737226277372,
826
- "balanced_accuracy": 0.9642222222222222,
827
- "k_opt": 46,
828
- "generalization_index": 1.0063881863918485,
829
- "confounder_insensitivity": 1.8074077590240525,
830
- "prediction_performance": 0.9381328502415459,
831
- "ID_performance": 0.9342903836112486,
832
- "OOD_performance": 0.9402588047258689
833
- },
834
- "tcga": {
835
- "robustness_index": 0.8345735773214562,
836
- "balanced_accuracy": 0.9192641843971632,
837
- "k_opt": 61,
838
- "generalization_index": 1.0118627481626299,
839
- "confounder_insensitivity": 0.7930082372374415,
840
- "prediction_performance": 0.8673006045808627,
841
- "ID_performance": 0.8627739459288462,
842
- "OOD_performance": 0.8730088159706785
843
- }
844
- },
845
- "avg_robustness_index": 0.8879922638971466,
846
- "avg_balanced_accuracy": 0.9502961224678996,
847
- "step": 500,
848
- "checkpoint": "/data/ryan.kim/waiv_runs/genMASK-c50-ms500-openmidnight-s0-t900-438670/step_0000500",
849
- "probe": {
850
- "train.cross_scanner.separation": 0.0008488714694976807,
851
- "train.cross_scanner.matched": 0.9999734890460968,
852
- "train.cross_scanner.random": 0.9991246175765991,
853
- "train.cross_scanner.top1": 0.995234375,
854
- "train.cross_stain.separation": 0.0007730041609870063,
855
- "train.cross_stain.matched": 0.9998952264255948,
856
- "train.cross_stain.random": 0.9991222222646078,
857
- "train.cross_stain.top1": 0.8969270833333334,
858
- "train.within_condition_random": 0.9991261005401612,
859
- "heldout.cross_scanner.separation": 0.0008602093343865381,
860
- "heldout.cross_scanner.matched": 0.9999649671659078,
861
- "heldout.cross_scanner.random": 0.9991047578315212,
862
- "heldout.cross_scanner.top1": 0.9894049657534246,
863
- "heldout.cross_stain.separation": 0.0007979082085235774,
864
- "heldout.cross_stain.matched": 0.9998973974010401,
865
- "heldout.cross_stain.random": 0.9990994891925165,
866
- "heldout.cross_stain.top1": 0.8986659356725146,
867
- "heldout.within_condition_random": 0.9991059681264366
868
- },
869
- "eval_seconds": 2878.3,
870
- "train_metrics": {
871
- "step": 500,
872
- "loss_cls": 1.6445374488830566,
873
- "top1_cls": 0.5477777719497681,
874
- "weight_cls": 0.5,
875
- "negatives_per_anchor": 899.0,
876
- "n_rows": 1800.0,
877
- "n_cond": 2.0,
878
- "n_tiles": 900.0,
879
- "loss_mean": 0.031973697245121,
880
- "top1_mean": 0.9972222447395325,
881
- "weight_mean": 0.5,
882
- "loss": 0.8382555842399597,
883
- "top1": 0.7725000083446503,
884
- "n_heads": 2.0,
885
- "split_input_rel_distance": 1.8998554944992065,
886
- "split_input_cosine": -0.0377693697810173,
887
- "heldout_loss": 0.9279552236199379,
888
- "heldout_top1": 0.8495833516120911
889
- }
890
- }
891
- ]
892
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
seed0/training_config.json DELETED
@@ -1,61 +0,0 @@
1
- {
2
- "packed_dir": "/data/plism/repacked",
3
- "out_dir": "/admin/home/ryan.kim/waiv/runs/genMASK-c50-ms500-openmidnight-s0-t900-438670",
4
- "lr": 0.0001,
5
- "weight_decay": 0.05,
6
- "warmup_steps": 200,
7
- "max_steps": 500,
8
- "temperature": 0.07,
9
- "symmetric": false,
10
- "grad_accum": 1,
11
- "grad_clip": 1.0,
12
- "n_groups": 4,
13
- "group_size": 64,
14
- "grid": true,
15
- "grid_conditions": 2,
16
- "grid_tiles": 900,
17
- "grid_forward_chunk": 0,
18
- "activation_offload": true,
19
- "num_workers": 10,
20
- "seed": 0,
21
- "amp_dtype": "bfloat16",
22
- "ckpt_every": 50,
23
- "log_every": 20,
24
- "eval_every": 50,
25
- "eval_batches": 20,
26
- "ckpt_schedule": null,
27
- "resume_from": null,
28
- "grid_blocked_loss": false,
29
- "grid_pair_block": 8,
30
- "eval_heldout": true,
31
- "retention_kl_weight": 0.0,
32
- "retention_kl_temperature": 0.07,
33
- "split_heads": true,
34
- "cls_weight": 0.5,
35
- "mean_weight": 0.5,
36
- "pool_head": "gem",
37
- "min_tissue_frac": 0.0,
38
- "cores_per_batch": 0,
39
- "same_core_logit_bias": null,
40
- "center_embeddings": false,
41
- "same_core_logit_bias_cls": 3.0,
42
- "same_core_logit_bias_mean": "-Infinity",
43
- "mask_same_core": true,
44
- "core_labels_path": "/admin/home/ryan.kim/waiv/runs/.plism_core_labels.npy",
45
- "mask_sim_thresh": 0.0,
46
- "sim_emb_path": "/admin/home/ryan.kim/waiv/runs/.plism_ref_emb.npy",
47
- "encoder": {
48
- "backbone": "SophontAI/OpenMidnight",
49
- "use_lora": true,
50
- "lora_rank": 32,
51
- "lora_alpha": 64,
52
- "pooling": "clsmean",
53
- "proj_out_dim": 512,
54
- "grad_checkpointing": true,
55
- "split_heads": [
56
- "cls",
57
- "mean"
58
- ],
59
- "pool_head": "gem"
60
- }
61
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
seed1/_verify.json DELETED
@@ -1,28 +0,0 @@
1
- {
2
- "backbone": "openmidnightsq",
3
- "hub": "SophontAI/OpenMidnight",
4
- "revision": "87189e66",
5
- "seed_label": "s1",
6
- "run": "genMASK-c50-ms500-openmidnight-s1-t900-438671",
7
- "step": "step_0000150",
8
- "adapter_dir": "/admin/home/ryan.kim/waiv/runs/genMASK-c50-ms500-openmidnight-s1-t900-438671/step_0000150/adapter",
9
- "out": "/admin/home/ryan.kim/spectra-release/merged/spectra-openmidnight-merged/seed1",
10
- "merge_info": {
11
- "merged": 160,
12
- "r": 32,
13
- "alpha": 64,
14
- "scaling": 2.0,
15
- "delta_norm_min": 0.384583979845047,
16
- "delta_norm_max": 1.860943078994751,
17
- "delta_norm_mean": 0.9923485158011317
18
- },
19
- "merged_vs_base": {
20
- "mean_abs_diff": 0.13222017884254456,
21
- "max_abs_diff": 26.86468505859375,
22
- "base_feat_absmean": 0.5962615609169006,
23
- "feat_dim": 1536
24
- },
25
- "reload_bit_identical": true,
26
- "reload_max_abs_diff": 0.0,
27
- "size_bytes": 4539151496
28
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
seed1/model.safetensors DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:e15932b775d2ec82628005e2eafeea3bb56178d8eebf37544a59b6cef961f5dd
3
- size 4539151496
 
 
 
 
seed1/ri_curve.json DELETED
@@ -1,892 +0,0 @@
1
- {
2
- "run_dir": "/data/ryan.kim/waiv_runs/genMASK-c50-ms500-openmidnight-s1-t900-438671",
3
- "datasets": [
4
- "camelyon",
5
- "tolkach_esca",
6
- "tcga"
7
- ],
8
- "targets": {
9
- "phikon_v2_base": {
10
- "tcga": 0.619,
11
- "camelyon": 0.019,
12
- "tolkach_esca": 0.768,
13
- "avg": 0.469
14
- },
15
- "phaet_target": {
16
- "tcga": 0.785,
17
- "camelyon": 0.702,
18
- "tolkach_esca": 0.932,
19
- "avg": 0.806
20
- },
21
- "midnight_base": {
22
- "tcga": 0.858,
23
- "camelyon": 0.478,
24
- "tolkach_esca": 0.941,
25
- "avg": 0.759
26
- },
27
- "mascaret_target": {
28
- "tcga": 0.893,
29
- "camelyon": 0.907,
30
- "tolkach_esca": 0.972,
31
- "avg": 0.924
32
- },
33
- "virchow2_base": {
34
- "avg": 0.858
35
- },
36
- "virchow2_target": {
37
- "avg": 0.918
38
- }
39
- },
40
- "points": [
41
- {
42
- "model": "waiv_genMASK_c50_ms500_openmidnight_s1_t900_438671_s0000050",
43
- "adapter_rel_l2_delta": {
44
- "camelyon": 0.06136422,
45
- "tolkach_esca": 0.01991326,
46
- "tcga": 0.03652676
47
- },
48
- "datasets": {
49
- "camelyon": {
50
- "robustness_index": 0.3044762889643965,
51
- "balanced_accuracy": 0.9660294117647059,
52
- "k_opt": 11,
53
- "generalization_index": 0.991768613888262,
54
- "confounder_insensitivity": 0.019731161784620414,
55
- "prediction_performance": 0.9570588235294117,
56
- "ID_performance": 0.9572112806623708,
57
- "OOD_performance": 0.9493321050207277
58
- },
59
- "tolkach_esca": {
60
- "robustness_index": 0.8849231316771212,
61
- "balanced_accuracy": 0.955888888888889,
62
- "k_opt": 46,
63
- "generalization_index": 1.009563751050557,
64
- "confounder_insensitivity": 0.5563617225240127,
65
- "prediction_performance": 0.9351159420289855,
66
- "ID_performance": 0.9319298509426515,
67
- "OOD_performance": 0.9408425960336498
68
- },
69
- "tcga": {
70
- "robustness_index": 0.8084059065558935,
71
- "balanced_accuracy": 0.9247517730496452,
72
- "k_opt": 61,
73
- "generalization_index": 1.0070766601767718,
74
- "confounder_insensitivity": 0.49730223165664406,
75
- "prediction_performance": 0.8959990117428206,
76
- "ID_performance": 0.8938980059689281,
77
- "OOD_performance": 0.9002238183898641
78
- }
79
- },
80
- "avg_robustness_index": 0.6659351090658038,
81
- "avg_balanced_accuracy": 0.9488900245677466,
82
- "step": 50,
83
- "checkpoint": "/data/ryan.kim/waiv_runs/genMASK-c50-ms500-openmidnight-s1-t900-438671/step_0000050",
84
- "probe": {
85
- "train.cross_scanner.separation": 0.000524788498878479,
86
- "train.cross_scanner.matched": 0.9998936450481415,
87
- "train.cross_scanner.random": 0.999368856549263,
88
- "train.cross_scanner.top1": 0.7526171875,
89
- "train.cross_stain.separation": 0.0004425819714864095,
90
- "train.cross_stain.matched": 0.9997820056809319,
91
- "train.cross_stain.random": 0.9993394237094455,
92
- "train.cross_stain.top1": 0.48694444444444446,
93
- "train.within_condition_random": 0.9993930041790009,
94
- "heldout.cross_scanner.separation": 0.0005519610561736643,
95
- "heldout.cross_scanner.matched": 0.99989515951235,
96
- "heldout.cross_scanner.random": 0.9993431984561764,
97
- "heldout.cross_scanner.top1": 0.7398330479452054,
98
- "heldout.cross_stain.separation": 0.0005128359236912421,
99
- "heldout.cross_stain.matched": 0.9998170465056659,
100
- "heldout.cross_stain.random": 0.9993042105819747,
101
- "heldout.cross_stain.top1": 0.5186631944444444,
102
- "heldout.within_condition_random": 0.9993541037164083
103
- },
104
- "eval_seconds": 7305.3,
105
- "train_metrics": {
106
- "step": 50,
107
- "loss_cls": 5.47167444229126,
108
- "top1_cls": 0.012222222983837128,
109
- "weight_cls": 0.5,
110
- "negatives_per_anchor": 899.0,
111
- "n_rows": 1800.0,
112
- "n_cond": 2.0,
113
- "n_tiles": 900.0,
114
- "loss_mean": 0.9203278422355652,
115
- "top1_mean": 0.8600000143051147,
116
- "weight_mean": 0.5,
117
- "loss": 3.1960010528564453,
118
- "top1": 0.43611111864447594,
119
- "n_heads": 2.0,
120
- "split_input_rel_distance": 1.910172939300537,
121
- "split_input_cosine": -0.12282799929380417,
122
- "heldout_loss": 2.6758341789245605,
123
- "heldout_top1": 0.40261112041771413
124
- }
125
- },
126
- {
127
- "model": "waiv_genMASK_c50_ms500_openmidnight_s1_t900_438671_s0000100",
128
- "adapter_rel_l2_delta": {
129
- "camelyon": 0.1100272,
130
- "tolkach_esca": 0.03856258,
131
- "tcga": 0.06697544
132
- },
133
- "datasets": {
134
- "camelyon": {
135
- "robustness_index": 0.7221724965092549,
136
- "balanced_accuracy": 0.9707843137254901,
137
- "k_opt": 11,
138
- "generalization_index": 0.9961661210001546,
139
- "confounder_insensitivity": 0.10352695871117494,
140
- "prediction_performance": 0.9614928698752229,
141
- "ID_performance": 0.9618388181836065,
142
- "OOD_performance": 0.9581512445373361
143
- },
144
- "tolkach_esca": {
145
- "robustness_index": 0.9518410338112941,
146
- "balanced_accuracy": 0.9667777777777777,
147
- "k_opt": 46,
148
- "generalization_index": 1.0098529619460113,
149
- "confounder_insensitivity": 1.202947906135263,
150
- "prediction_performance": 0.9471642512077295,
151
- "ID_performance": 0.9420954610759324,
152
- "OOD_performance": 0.9513778918034237
153
- },
154
- "tcga": {
155
- "robustness_index": 0.8477243466555902,
156
- "balanced_accuracy": 0.9310195035460994,
157
- "k_opt": 61,
158
- "generalization_index": 1.0131529900729055,
159
- "confounder_insensitivity": 0.6518604676286196,
160
- "prediction_performance": 0.8985882455528428,
161
- "ID_performance": 0.8939482437219196,
162
- "OOD_performance": 0.9057063360972852
163
- }
164
- },
165
- "avg_robustness_index": 0.8405792923253798,
166
- "avg_balanced_accuracy": 0.9561938650164558,
167
- "step": 100,
168
- "checkpoint": "/data/ryan.kim/waiv_runs/genMASK-c50-ms500-openmidnight-s1-t900-438671/step_0000100",
169
- "probe": {
170
- "train.cross_scanner.separation": 0.0004965239763259888,
171
- "train.cross_scanner.matched": 0.9999625027179718,
172
- "train.cross_scanner.random": 0.9994659787416458,
173
- "train.cross_scanner.top1": 0.9090234375,
174
- "train.cross_stain.separation": 0.00043502224816216364,
175
- "train.cross_stain.matched": 0.9998919036653307,
176
- "train.cross_stain.random": 0.9994568814171685,
177
- "train.cross_stain.top1": 0.6513541666666667,
178
- "train.within_condition_random": 0.9994713950157166,
179
- "heldout.cross_scanner.separation": 0.0005213275347670463,
180
- "heldout.cross_scanner.matched": 0.9999570152530931,
181
- "heldout.cross_scanner.random": 0.9994356877183261,
182
- "heldout.cross_scanner.top1": 0.8900363869863014,
183
- "heldout.cross_stain.separation": 0.0004827850743343956,
184
- "heldout.cross_stain.matched": 0.9999033470599972,
185
- "heldout.cross_stain.random": 0.9994205619856628,
186
- "heldout.cross_stain.top1": 0.6680601242690059,
187
- "heldout.within_condition_random": 0.9994376636132961
188
- },
189
- "eval_seconds": 5675.3,
190
- "train_metrics": {
191
- "step": 100,
192
- "loss_cls": 2.1127030849456787,
193
- "top1_cls": 0.3216666877269745,
194
- "weight_cls": 0.5,
195
- "negatives_per_anchor": 899.0,
196
- "n_rows": 1800.0,
197
- "n_cond": 2.0,
198
- "n_tiles": 900.0,
199
- "loss_mean": 0.03901568055152893,
200
- "top1_mean": 0.9977778196334839,
201
- "weight_mean": 0.5,
202
- "loss": 1.0758594274520874,
203
- "top1": 0.6597222536802292,
204
- "n_heads": 2.0,
205
- "split_input_rel_distance": 1.910251259803772,
206
- "split_input_cosine": -0.09836520254611969,
207
- "heldout_loss": 2.0313774585723876,
208
- "heldout_top1": 0.5919444590806962
209
- }
210
- },
211
- {
212
- "model": "waiv_genMASK_c50_ms500_openmidnight_s1_t900_438671_s0000150",
213
- "adapter_rel_l2_delta": {
214
- "camelyon": 0.1047443,
215
- "tolkach_esca": 0.03587291,
216
- "tcga": 0.06865262
217
- },
218
- "datasets": {
219
- "camelyon": {
220
- "robustness_index": 0.8574703557312253,
221
- "balanced_accuracy": 0.9713235294117647,
222
- "k_opt": 11,
223
- "generalization_index": 1.0073306807248654,
224
- "confounder_insensitivity": 0.24996518590725528,
225
- "prediction_performance": 0.96123440285205,
226
- "ID_performance": 0.9598273220999861,
227
- "OOD_performance": 0.9668635097493037
228
- },
229
- "tolkach_esca": {
230
- "robustness_index": 0.9612054076588649,
231
- "balanced_accuracy": 0.9668888888888888,
232
- "k_opt": 46,
233
- "generalization_index": 1.0115899564469417,
234
- "confounder_insensitivity": 1.6035934620875283,
235
- "prediction_performance": 0.9452512077294686,
236
- "ID_performance": 0.9385514209708762,
237
- "OOD_performance": 0.9494291910631439
238
- },
239
- "tcga": {
240
- "robustness_index": 0.848878838723779,
241
- "balanced_accuracy": 0.9243794326241135,
242
- "k_opt": 61,
243
- "generalization_index": 1.010758210192123,
244
- "confounder_insensitivity": 0.7593499344155827,
245
- "prediction_performance": 0.8838733868154867,
246
- "ID_performance": 0.8797882377607716,
247
- "OOD_performance": 0.8892531845471596
248
- }
249
- },
250
- "avg_robustness_index": 0.8891848673712897,
251
- "avg_balanced_accuracy": 0.9541972836415891,
252
- "step": 150,
253
- "checkpoint": "/data/ryan.kim/waiv_runs/genMASK-c50-ms500-openmidnight-s1-t900-438671/step_0000150",
254
- "probe": {
255
- "train.cross_scanner.separation": 0.0005439198017120361,
256
- "train.cross_scanner.matched": 0.9999751263856888,
257
- "train.cross_scanner.random": 0.9994312065839768,
258
- "train.cross_scanner.top1": 0.969140625,
259
- "train.cross_stain.separation": 0.00048600117365519207,
260
- "train.cross_stain.matched": 0.9999127350913154,
261
- "train.cross_stain.random": 0.9994267339176602,
262
- "train.cross_stain.top1": 0.7814236111111111,
263
- "train.within_condition_random": 0.99943323969841,
264
- "heldout.cross_scanner.separation": 0.000571564452288902,
265
- "heldout.cross_scanner.matched": 0.9999684030062532,
266
- "heldout.cross_scanner.random": 0.9993968385539643,
267
- "heldout.cross_scanner.top1": 0.950556506849315,
268
- "heldout.cross_stain.separation": 0.0005242015883239389,
269
- "heldout.cross_stain.matched": 0.9999169243706597,
270
- "heldout.cross_stain.random": 0.9993927227823358,
271
- "heldout.cross_stain.top1": 0.7856816520467836,
272
- "heldout.within_condition_random": 0.9994002842321629
273
- },
274
- "eval_seconds": 3770.6,
275
- "train_metrics": {
276
- "step": 150,
277
- "loss_cls": 1.6272633075714111,
278
- "top1_cls": 0.4766666889190674,
279
- "weight_cls": 0.5,
280
- "negatives_per_anchor": 899.0,
281
- "n_rows": 1800.0,
282
- "n_cond": 2.0,
283
- "n_tiles": 900.0,
284
- "loss_mean": 0.04308953136205673,
285
- "top1_mean": 0.996666669845581,
286
- "weight_mean": 0.5,
287
- "loss": 0.835176408290863,
288
- "top1": 0.7366666793823242,
289
- "n_heads": 2.0,
290
- "split_input_rel_distance": 1.9065666198730469,
291
- "split_input_cosine": -0.0632912665605545,
292
- "heldout_loss": 1.69220871925354,
293
- "heldout_top1": 0.6917500168085098
294
- }
295
- },
296
- {
297
- "model": "waiv_genMASK_c50_ms500_openmidnight_s1_t900_438671_s0000200",
298
- "adapter_rel_l2_delta": {
299
- "camelyon": 0.08966768,
300
- "tolkach_esca": 0.03021276,
301
- "tcga": 0.05946582
302
- },
303
- "datasets": {
304
- "camelyon": {
305
- "robustness_index": 0.8728087986463621,
306
- "balanced_accuracy": 0.9699509803921569,
307
- "k_opt": 11,
308
- "generalization_index": 1.0092718562742162,
309
- "confounder_insensitivity": 0.3127413127413127,
310
- "prediction_performance": 0.9581372549019608,
311
- "ID_performance": 0.9560255060255061,
312
- "OOD_performance": 0.9648896371118594
313
- },
314
- "tolkach_esca": {
315
- "robustness_index": 0.9615246202960239,
316
- "balanced_accuracy": 0.964111111111111,
317
- "k_opt": 46,
318
- "generalization_index": 1.0100094707560654,
319
- "confounder_insensitivity": 1.749223045661009,
320
- "prediction_performance": 0.9399202898550725,
321
- "ID_performance": 0.9339721624565039,
322
- "OOD_performance": 0.9433207295035914
323
- },
324
- "tcga": {
325
- "robustness_index": 0.8427904100903469,
326
- "balanced_accuracy": 0.921108156028369,
327
- "k_opt": 61,
328
- "generalization_index": 1.0101032635588179,
329
- "confounder_insensitivity": 0.7948720624125494,
330
- "prediction_performance": 0.8736312638065341,
331
- "ID_performance": 0.869739784243899,
332
- "OOD_performance": 0.8785269945117045
333
- }
334
- },
335
- "avg_robustness_index": 0.8923746096775776,
336
- "avg_balanced_accuracy": 0.9517234158438791,
337
- "step": 200,
338
- "checkpoint": "/data/ryan.kim/waiv_runs/genMASK-c50-ms500-openmidnight-s1-t900-438671/step_0000200",
339
- "probe": {
340
- "train.cross_scanner.separation": 0.0005558806657791137,
341
- "train.cross_scanner.matched": 0.9999790400266647,
342
- "train.cross_scanner.random": 0.9994231593608857,
343
- "train.cross_scanner.top1": 0.9857421875,
344
- "train.cross_stain.separation": 0.0005010872417026096,
345
- "train.cross_stain.matched": 0.9999212633238899,
346
- "train.cross_stain.random": 0.9994201760821873,
347
- "train.cross_stain.top1": 0.8493402777777778,
348
- "train.within_condition_random": 0.9994246196746827,
349
- "heldout.cross_scanner.separation": 0.000574913743424089,
350
- "heldout.cross_scanner.matched": 0.999972889684651,
351
- "heldout.cross_scanner.random": 0.9993979759412269,
352
- "heldout.cross_scanner.top1": 0.9743150684931506,
353
- "heldout.cross_stain.separation": 0.000529170036315918,
354
- "heldout.cross_stain.matched": 0.9999240567112526,
355
- "heldout.cross_stain.random": 0.9993948866749367,
356
- "heldout.cross_stain.top1": 0.8535270467836257,
357
- "heldout.within_condition_random": 0.999400167930417
358
- },
359
- "eval_seconds": 2158.7,
360
- "train_metrics": {
361
- "step": 200,
362
- "loss_cls": 2.260517120361328,
363
- "top1_cls": 0.40666666626930237,
364
- "weight_cls": 0.5,
365
- "negatives_per_anchor": 899.0,
366
- "n_rows": 1800.0,
367
- "n_cond": 2.0,
368
- "n_tiles": 900.0,
369
- "loss_mean": 0.08051653206348419,
370
- "top1_mean": 0.987777829170227,
371
- "weight_mean": 0.5,
372
- "loss": 1.170516848564148,
373
- "top1": 0.6972222477197647,
374
- "n_heads": 2.0,
375
- "split_input_rel_distance": 1.9042853116989136,
376
- "split_input_cosine": -0.05271483585238457,
377
- "heldout_loss": 1.5069379478693008,
378
- "heldout_top1": 0.7278055712580681
379
- }
380
- },
381
- {
382
- "model": "waiv_genMASK_c50_ms500_openmidnight_s1_t900_438671_s0000250",
383
- "adapter_rel_l2_delta": {
384
- "camelyon": 0.07895029,
385
- "tolkach_esca": 0.0334071,
386
- "tcga": 0.05336334
387
- },
388
- "datasets": {
389
- "camelyon": {
390
- "robustness_index": 0.8699556043298249,
391
- "balanced_accuracy": 0.9684313725490197,
392
- "k_opt": 11,
393
- "generalization_index": 1.0058516529929036,
394
- "confounder_insensitivity": 0.32097907861120595,
395
- "prediction_performance": 0.9553163992869875,
396
- "ID_performance": 0.9539599938778153,
397
- "OOD_performance": 0.9595422367311007
398
- },
399
- "tolkach_esca": {
400
- "robustness_index": 0.961832560718301,
401
- "balanced_accuracy": 0.9634444444444444,
402
- "k_opt": 46,
403
- "generalization_index": 1.009500678882938,
404
- "confounder_insensitivity": 1.7805949398545224,
405
- "prediction_performance": 0.9390990338164251,
406
- "ID_performance": 0.93342019894015,
407
- "OOD_performance": 0.9422883245131285
408
- },
409
- "tcga": {
410
- "robustness_index": 0.836673059812409,
411
- "balanced_accuracy": 0.9200531914893617,
412
- "k_opt": 61,
413
- "generalization_index": 1.0102742338538446,
414
- "confounder_insensitivity": 0.793427435623962,
415
- "prediction_performance": 0.8686260318567609,
416
- "ID_performance": 0.8646956375779451,
417
- "OOD_performance": 0.8735797227708201
418
- }
419
- },
420
- "avg_robustness_index": 0.8894870749535116,
421
- "avg_balanced_accuracy": 0.9506430028276086,
422
- "step": 250,
423
- "checkpoint": "/data/ryan.kim/waiv_runs/genMASK-c50-ms500-openmidnight-s1-t900-438671/step_0000250",
424
- "probe": {
425
- "train.cross_scanner.separation": 0.0006345057487487793,
426
- "train.cross_scanner.matched": 0.9999766367673874,
427
- "train.cross_scanner.random": 0.9993421310186386,
428
- "train.cross_scanner.top1": 0.9923828125,
429
- "train.cross_stain.separation": 0.0005705189704895019,
430
- "train.cross_stain.matched": 0.9999101000361973,
431
- "train.cross_stain.random": 0.9993395810657077,
432
- "train.cross_stain.top1": 0.8784895833333334,
433
- "train.within_condition_random": 0.9993436658382415,
434
- "heldout.cross_scanner.separation": 0.0006515440875536775,
435
- "heldout.cross_scanner.matched": 0.9999696636853153,
436
- "heldout.cross_scanner.random": 0.9993181195977616,
437
- "heldout.cross_scanner.top1": 0.9840539383561644,
438
- "heldout.cross_stain.separation": 0.00059856483113696,
439
- "heldout.cross_stain.matched": 0.9999122480202837,
440
- "heldout.cross_stain.random": 0.9993136831891467,
441
- "heldout.cross_stain.top1": 0.8813733552631579,
442
- "heldout.within_condition_random": 0.9993195693667342
443
- },
444
- "eval_seconds": 2117.8,
445
- "train_metrics": {
446
- "step": 250,
447
- "loss_cls": 2.9609413146972656,
448
- "top1_cls": 0.3266666829586029,
449
- "weight_cls": 0.5,
450
- "negatives_per_anchor": 899.0,
451
- "n_rows": 1800.0,
452
- "n_cond": 2.0,
453
- "n_tiles": 900.0,
454
- "loss_mean": 0.12087370455265045,
455
- "top1_mean": 0.9855555891990662,
456
- "weight_mean": 0.5,
457
- "loss": 1.5409075021743774,
458
- "top1": 0.6561111360788345,
459
- "n_heads": 2.0,
460
- "split_input_rel_distance": 1.9015880823135376,
461
- "split_input_cosine": -0.03394003584980965,
462
- "heldout_loss": 1.3572636425495148,
463
- "heldout_top1": 0.7470000118017197
464
- }
465
- },
466
- {
467
- "model": "waiv_genMASK_c50_ms500_openmidnight_s1_t900_438671_s0000300",
468
- "adapter_rel_l2_delta": {
469
- "camelyon": 0.07525133,
470
- "tolkach_esca": 0.03591809,
471
- "tcga": 0.04877162
472
- },
473
- "datasets": {
474
- "camelyon": {
475
- "robustness_index": 0.8662398978443134,
476
- "balanced_accuracy": 0.967156862745098,
477
- "k_opt": 11,
478
- "generalization_index": 1.0090940244182038,
479
- "confounder_insensitivity": 0.3137327221314786,
480
- "prediction_performance": 0.9554634581105169,
481
- "ID_performance": 0.9533929313685886,
482
- "OOD_performance": 0.9620631099665976
483
- },
484
- "tolkach_esca": {
485
- "robustness_index": 0.9616502998544171,
486
- "balanced_accuracy": 0.9641111111111113,
487
- "k_opt": 46,
488
- "generalization_index": 1.010164367142275,
489
- "confounder_insensitivity": 1.7600184001226677,
490
- "prediction_performance": 0.9398454106280194,
491
- "ID_performance": 0.933792891952613,
492
- "OOD_performance": 0.9432843057412661
493
- },
494
- "tcga": {
495
- "robustness_index": 0.8402202896971682,
496
- "balanced_accuracy": 0.9218351063829787,
497
- "k_opt": 61,
498
- "generalization_index": 1.0115006809123899,
499
- "confounder_insensitivity": 0.780581292199787,
500
- "prediction_performance": 0.8738386524822696,
501
- "ID_performance": 0.8694550916116424,
502
- "OOD_performance": 0.8794544171879206
503
- }
504
- },
505
- "avg_robustness_index": 0.8893701624652995,
506
- "avg_balanced_accuracy": 0.9510343600797294,
507
- "step": 300,
508
- "checkpoint": "/data/ryan.kim/waiv_runs/genMASK-c50-ms500-openmidnight-s1-t900-438671/step_0000300",
509
- "probe": {
510
- "train.cross_scanner.separation": 0.0007030421495437622,
511
- "train.cross_scanner.matched": 0.9999754470586777,
512
- "train.cross_scanner.random": 0.9992724049091339,
513
- "train.cross_scanner.top1": 0.991953125,
514
- "train.cross_stain.separation": 0.000636943711174859,
515
- "train.cross_stain.matched": 0.9999064768685235,
516
- "train.cross_stain.random": 0.9992695331573487,
517
- "train.cross_stain.top1": 0.8796527777777777,
518
- "train.within_condition_random": 0.9992739570140838,
519
- "heldout.cross_scanner.separation": 0.0007180440915773992,
520
- "heldout.cross_scanner.matched": 0.9999682086787812,
521
- "heldout.cross_scanner.random": 0.9992501645872037,
522
- "heldout.cross_scanner.top1": 0.9856057363013698,
523
- "heldout.cross_stain.separation": 0.0006636754114028306,
524
- "heldout.cross_stain.matched": 0.9999092162003991,
525
- "heldout.cross_stain.random": 0.9992455407889963,
526
- "heldout.cross_stain.top1": 0.8839546783625731,
527
- "heldout.within_condition_random": 0.9992518802968468
528
- },
529
- "eval_seconds": 2087.0,
530
- "train_metrics": {
531
- "step": 300,
532
- "loss_cls": 2.3239221572875977,
533
- "top1_cls": 0.38277778029441833,
534
- "weight_cls": 0.5,
535
- "negatives_per_anchor": 899.0,
536
- "n_rows": 1800.0,
537
- "n_cond": 2.0,
538
- "n_tiles": 900.0,
539
- "loss_mean": 0.04672984778881073,
540
- "top1_mean": 0.9972222447395325,
541
- "weight_mean": 0.5,
542
- "loss": 1.1853259801864624,
543
- "top1": 0.6900000125169754,
544
- "n_heads": 2.0,
545
- "split_input_rel_distance": 1.901183009147644,
546
- "split_input_cosine": -0.036429513245821,
547
- "heldout_loss": 1.2729288652539252,
548
- "heldout_top1": 0.7586944624781609
549
- }
550
- },
551
- {
552
- "model": "waiv_genMASK_c50_ms500_openmidnight_s1_t900_438671_s0000350",
553
- "adapter_rel_l2_delta": {
554
- "camelyon": 0.07301231,
555
- "tolkach_esca": 0.03730401,
556
- "tcga": 0.04727442
557
- },
558
- "datasets": {
559
- "camelyon": {
560
- "robustness_index": 0.8662895815018162,
561
- "balanced_accuracy": 0.9666666666666667,
562
- "k_opt": 11,
563
- "generalization_index": 1.008263218075922,
564
- "confounder_insensitivity": 0.3198136733637604,
565
- "prediction_performance": 0.9544964349376115,
566
- "ID_performance": 0.9525890462522938,
567
- "OOD_performance": 0.9604604972782109
568
- },
569
- "tolkach_esca": {
570
- "robustness_index": 0.9624874739844292,
571
- "balanced_accuracy": 0.9652222222222222,
572
- "k_opt": 46,
573
- "generalization_index": 1.009079460603085,
574
- "confounder_insensitivity": 1.773757838880849,
575
- "prediction_performance": 0.9402173913043479,
576
- "ID_performance": 0.934789891193654,
577
- "OOD_performance": 0.9432772791829088
578
- },
579
- "tcga": {
580
- "robustness_index": 0.8380770589332686,
581
- "balanced_accuracy": 0.9207535460992907,
582
- "k_opt": 61,
583
- "generalization_index": 1.011741011721634,
584
- "confounder_insensitivity": 0.7855053028272316,
585
- "prediction_performance": 0.8713687361934659,
586
- "ID_performance": 0.8668910052393817,
587
- "OOD_performance": 0.8770691826932765
588
- }
589
- },
590
- "avg_robustness_index": 0.8889513714731714,
591
- "avg_balanced_accuracy": 0.9508808116627265,
592
- "step": 350,
593
- "checkpoint": "/data/ryan.kim/waiv_runs/genMASK-c50-ms500-openmidnight-s1-t900-438671/step_0000350",
594
- "probe": {
595
- "train.cross_scanner.separation": 0.0007235342264175415,
596
- "train.cross_scanner.matched": 0.9999768221378327,
597
- "train.cross_scanner.random": 0.9992532879114151,
598
- "train.cross_scanner.top1": 0.993515625,
599
- "train.cross_stain.separation": 0.0006596321529812283,
600
- "train.cross_stain.matched": 0.9999103175269233,
601
- "train.cross_stain.random": 0.999250685373942,
602
- "train.cross_stain.top1": 0.8869270833333334,
603
- "train.within_condition_random": 0.999254720211029,
604
- "heldout.cross_scanner.separation": 0.0007370857343281785,
605
- "heldout.cross_scanner.matched": 0.9999695608060654,
606
- "heldout.cross_scanner.random": 0.9992324750717372,
607
- "heldout.cross_scanner.top1": 0.9864619006849316,
608
- "heldout.cross_stain.separation": 0.0006846450922781962,
609
- "heldout.cross_stain.matched": 0.9999129085512887,
610
- "heldout.cross_stain.random": 0.9992282634590104,
611
- "heldout.cross_stain.top1": 0.8902595029239766,
612
- "heldout.within_condition_random": 0.9992342562210269
613
- },
614
- "eval_seconds": 2106.1,
615
- "train_metrics": {
616
- "step": 350,
617
- "loss_cls": 0.8300271034240723,
618
- "top1_cls": 0.7233333587646484,
619
- "weight_cls": 0.5,
620
- "negatives_per_anchor": 899.0,
621
- "n_rows": 1800.0,
622
- "n_cond": 2.0,
623
- "n_tiles": 900.0,
624
- "loss_mean": 0.008635702542960644,
625
- "top1_mean": 0.9994444847106934,
626
- "weight_mean": 0.5,
627
- "loss": 0.4193314015865326,
628
- "top1": 0.8613889217376709,
629
- "n_heads": 2.0,
630
- "split_input_rel_distance": 1.900965929031372,
631
- "split_input_cosine": -0.03565763682126999,
632
- "heldout_loss": 1.1916852489113807,
633
- "heldout_top1": 0.7697916850447655
634
- }
635
- },
636
- {
637
- "model": "waiv_genMASK_c50_ms500_openmidnight_s1_t900_438671_s0000400",
638
- "adapter_rel_l2_delta": {
639
- "camelyon": 0.07072918,
640
- "tolkach_esca": 0.04523943,
641
- "tcga": 0.04370555
642
- },
643
- "datasets": {
644
- "camelyon": {
645
- "robustness_index": 0.8638497652582159,
646
- "balanced_accuracy": 0.965343137254902,
647
- "k_opt": 11,
648
- "generalization_index": 1.0081303998845148,
649
- "confounder_insensitivity": 0.3237766569330147,
650
- "prediction_performance": 0.952963458110517,
651
- "ID_performance": 0.9510721765035542,
652
- "OOD_performance": 0.958804773617564
653
- },
654
- "tolkach_esca": {
655
- "robustness_index": 0.9622235436287956,
656
- "balanced_accuracy": 0.9656666666666666,
657
- "k_opt": 46,
658
- "generalization_index": 1.0095604389967847,
659
- "confounder_insensitivity": 1.800570937650091,
660
- "prediction_performance": 0.9391256038647343,
661
- "ID_performance": 0.9333883526013516,
662
- "OOD_performance": 0.9423119550067062
663
- },
664
- "tcga": {
665
- "robustness_index": 0.8323548123867612,
666
- "balanced_accuracy": 0.9184042553191489,
667
- "k_opt": 61,
668
- "generalization_index": 1.0112666259457297,
669
- "confounder_insensitivity": 0.7918936655590163,
670
- "prediction_performance": 0.8653967561911406,
671
- "ID_performance": 0.8611092303044823,
672
- "OOD_performance": 0.8708110259007379
673
- }
674
- },
675
- "avg_robustness_index": 0.8861427070912575,
676
- "avg_balanced_accuracy": 0.9498046864135725,
677
- "step": 400,
678
- "checkpoint": "/data/ryan.kim/waiv_runs/genMASK-c50-ms500-openmidnight-s1-t900-438671/step_0000400",
679
- "probe": {
680
- "train.cross_scanner.separation": 0.0007612556219100952,
681
- "train.cross_scanner.matched": 0.9999756723642349,
682
- "train.cross_scanner.random": 0.9992144167423248,
683
- "train.cross_scanner.top1": 0.9950390625,
684
- "train.cross_stain.separation": 0.0006937800513373481,
685
- "train.cross_stain.matched": 0.999905706246694,
686
- "train.cross_stain.random": 0.9992119261953566,
687
- "train.cross_stain.top1": 0.8957986111111111,
688
- "train.within_condition_random": 0.9992157924175262,
689
- "heldout.cross_scanner.separation": 0.0007743802789139421,
690
- "heldout.cross_scanner.matched": 0.9999682584854022,
691
- "heldout.cross_scanner.random": 0.9991938782064882,
692
- "heldout.cross_scanner.top1": 0.9894049657534246,
693
- "heldout.cross_stain.separation": 0.000717160297416107,
694
- "heldout.cross_stain.matched": 0.9999082566004748,
695
- "heldout.cross_stain.random": 0.9991910963030587,
696
- "heldout.cross_stain.top1": 0.8984603435672515,
697
- "heldout.within_condition_random": 0.9991961921133646
698
- },
699
- "eval_seconds": 2189.8,
700
- "train_metrics": {
701
- "step": 400,
702
- "loss_cls": 0.766818642616272,
703
- "top1_cls": 0.7566666603088379,
704
- "weight_cls": 0.5,
705
- "negatives_per_anchor": 899.0,
706
- "n_rows": 1800.0,
707
- "n_cond": 2.0,
708
- "n_tiles": 900.0,
709
- "loss_mean": 0.009244825690984726,
710
- "top1_mean": 1.0,
711
- "weight_mean": 0.5,
712
- "loss": 0.3880317211151123,
713
- "top1": 0.878333330154419,
714
- "n_heads": 2.0,
715
- "split_input_rel_distance": 1.899885892868042,
716
- "split_input_cosine": -0.030453987419605255,
717
- "heldout_loss": 1.150944358110428,
718
- "heldout_top1": 0.7765555739402771
719
- }
720
- },
721
- {
722
- "model": "waiv_genMASK_c50_ms500_openmidnight_s1_t900_438671_s0000450",
723
- "adapter_rel_l2_delta": {
724
- "camelyon": 0.06967939,
725
- "tolkach_esca": 0.05029909,
726
- "tcga": 0.04127648
727
- },
728
- "datasets": {
729
- "camelyon": {
730
- "robustness_index": 0.8661296263672907,
731
- "balanced_accuracy": 0.9661274509803921,
732
- "k_opt": 11,
733
- "generalization_index": 1.0087585103690795,
734
- "confounder_insensitivity": 0.33587331825217287,
735
- "prediction_performance": 0.952330659536542,
736
- "ID_performance": 0.9502381235861412,
737
- "OOD_performance": 0.9585607940446651
738
- },
739
- "tolkach_esca": {
740
- "robustness_index": 0.9620122338674486,
741
- "balanced_accuracy": 0.965,
742
- "k_opt": 46,
743
- "generalization_index": 1.0090931506038932,
744
- "confounder_insensitivity": 1.8181861500445873,
745
- "prediction_performance": 0.9379154589371981,
746
- "ID_performance": 0.9324452189540037,
747
- "OOD_performance": 0.9409240837598326
748
- },
749
- "tcga": {
750
- "robustness_index": 0.8299693383131104,
751
- "balanced_accuracy": 0.9167464539007091,
752
- "k_opt": 61,
753
- "generalization_index": 1.0110463808269818,
754
- "confounder_insensitivity": 0.8028059193280507,
755
- "prediction_performance": 0.8616428322288106,
756
- "ID_performance": 0.8574251116863,
757
- "OOD_performance": 0.8668965560006044
758
- }
759
- },
760
- "avg_robustness_index": 0.8860370661826166,
761
- "avg_balanced_accuracy": 0.9492913016270337,
762
- "step": 450,
763
- "checkpoint": "/data/ryan.kim/waiv_runs/genMASK-c50-ms500-openmidnight-s1-t900-438671/step_0000450",
764
- "probe": {
765
- "train.cross_scanner.separation": 0.0007996958494186401,
766
- "train.cross_scanner.matched": 0.9999754446744918,
767
- "train.cross_scanner.random": 0.9991757488250732,
768
- "train.cross_scanner.top1": 0.99578125,
769
- "train.cross_stain.separation": 0.0007282469007703993,
770
- "train.cross_stain.matched": 0.9999017741945054,
771
- "train.cross_stain.random": 0.9991735272937351,
772
- "train.cross_stain.top1": 0.8998784722222222,
773
- "train.within_condition_random": 0.9991770792007446,
774
- "heldout.cross_scanner.separation": 0.0008127656701492937,
775
- "heldout.cross_scanner.matched": 0.9999674697444864,
776
- "heldout.cross_scanner.random": 0.999154704074337,
777
- "heldout.cross_scanner.top1": 0.991117294520548,
778
- "heldout.cross_stain.separation": 0.0007515012869360851,
779
- "heldout.cross_stain.matched": 0.99990364299183,
780
- "heldout.cross_stain.random": 0.999152141704894,
781
- "heldout.cross_stain.top1": 0.9014300073099415,
782
- "heldout.within_condition_random": 0.9991570638447274
783
- },
784
- "eval_seconds": 2201.5,
785
- "train_metrics": {
786
- "step": 450,
787
- "loss_cls": 0.8002045750617981,
788
- "top1_cls": 0.7311111092567444,
789
- "weight_cls": 0.5,
790
- "negatives_per_anchor": 899.0,
791
- "n_rows": 1800.0,
792
- "n_cond": 2.0,
793
- "n_tiles": 900.0,
794
- "loss_mean": 0.011907201260328293,
795
- "top1_mean": 0.9994444847106934,
796
- "weight_mean": 0.5,
797
- "loss": 0.40605589747428894,
798
- "top1": 0.8652777969837189,
799
- "n_heads": 2.0,
800
- "split_input_rel_distance": 1.8990858793258667,
801
- "split_input_cosine": -0.030092019587755203,
802
- "heldout_loss": 1.1497170731425286,
803
- "heldout_top1": 0.7777083501219749
804
- }
805
- },
806
- {
807
- "model": "waiv_genMASK_c50_ms500_openmidnight_s1_t900_438671_s0000500",
808
- "adapter_rel_l2_delta": {
809
- "camelyon": 0.06940158,
810
- "tolkach_esca": 0.05033597,
811
- "tcga": 0.04104985
812
- },
813
- "datasets": {
814
- "camelyon": {
815
- "robustness_index": 0.8652814906116438,
816
- "balanced_accuracy": 0.9657352941176471,
817
- "k_opt": 11,
818
- "generalization_index": 1.0085097181324945,
819
- "confounder_insensitivity": 0.33592103539833545,
820
- "prediction_performance": 0.9519295900178253,
821
- "ID_performance": 0.9498970078702657,
822
- "OOD_performance": 0.9579803636621415
823
- },
824
- "tolkach_esca": {
825
- "robustness_index": 0.9619455413720268,
826
- "balanced_accuracy": 0.9646666666666667,
827
- "k_opt": 46,
828
- "generalization_index": 1.0088396975531004,
829
- "confounder_insensitivity": 1.8222975137876731,
830
- "prediction_performance": 0.937524154589372,
831
- "ID_performance": 0.9322035053753179,
832
- "OOD_performance": 0.9404439024207759
833
- },
834
- "tcga": {
835
- "robustness_index": 0.8292147328004599,
836
- "balanced_accuracy": 0.9163563829787232,
837
- "k_opt": 61,
838
- "generalization_index": 1.0111507409134082,
839
- "confounder_insensitivity": 0.8026358912853998,
840
- "prediction_performance": 0.8610385420299965,
841
- "ID_performance": 0.8567846548550108,
842
- "OOD_performance": 0.8663384385598829
843
- }
844
- },
845
- "avg_robustness_index": 0.8854805882613768,
846
- "avg_balanced_accuracy": 0.9489194479210123,
847
- "step": 500,
848
- "checkpoint": "/data/ryan.kim/waiv_runs/genMASK-c50-ms500-openmidnight-s1-t900-438671/step_0000500",
849
- "probe": {
850
- "train.cross_scanner.separation": 0.0008003395795822143,
851
- "train.cross_scanner.matched": 0.9999753910303116,
852
- "train.cross_scanner.random": 0.9991750514507294,
853
- "train.cross_scanner.top1": 0.9958203125,
854
- "train.cross_stain.separation": 0.0007288002967834473,
855
- "train.cross_stain.matched": 0.999901660018497,
856
- "train.cross_stain.random": 0.9991728597217135,
857
- "train.cross_stain.top1": 0.9006770833333333,
858
- "train.within_condition_random": 0.9991763818264008,
859
- "heldout.cross_scanner.separation": 0.0008131592241052078,
860
- "heldout.cross_scanner.matched": 0.9999674093233396,
861
- "heldout.cross_scanner.random": 0.9991542500992344,
862
- "heldout.cross_scanner.top1": 0.9914383561643836,
863
- "heldout.cross_stain.separation": 0.0007518979541042395,
864
- "heldout.cross_stain.matched": 0.9999035359823216,
865
- "heldout.cross_stain.random": 0.9991516380282174,
866
- "heldout.cross_stain.top1": 0.9017955043859649,
867
- "heldout.within_condition_random": 0.9991565681085354
868
- },
869
- "eval_seconds": 2199.0,
870
- "train_metrics": {
871
- "step": 500,
872
- "loss_cls": 0.38542670011520386,
873
- "top1_cls": 0.8655555844306946,
874
- "weight_cls": 0.5,
875
- "negatives_per_anchor": 899.0,
876
- "n_rows": 1800.0,
877
- "n_cond": 2.0,
878
- "n_tiles": 900.0,
879
- "loss_mean": 0.004598951432853937,
880
- "top1_mean": 1.0,
881
- "weight_mean": 0.5,
882
- "loss": 0.19501282274723053,
883
- "top1": 0.9327777922153473,
884
- "n_heads": 2.0,
885
- "split_input_rel_distance": 1.8991509675979614,
886
- "split_input_cosine": -0.02834084816277027,
887
- "heldout_loss": 1.1481799900531768,
888
- "heldout_top1": 0.7784583494067192
889
- }
890
- }
891
- ]
892
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
seed1/training_config.json DELETED
@@ -1,61 +0,0 @@
1
- {
2
- "packed_dir": "/data/plism/repacked",
3
- "out_dir": "/admin/home/ryan.kim/waiv/runs/genMASK-c50-ms500-openmidnight-s1-t900-438671",
4
- "lr": 0.0001,
5
- "weight_decay": 0.05,
6
- "warmup_steps": 200,
7
- "max_steps": 500,
8
- "temperature": 0.07,
9
- "symmetric": false,
10
- "grad_accum": 1,
11
- "grad_clip": 1.0,
12
- "n_groups": 4,
13
- "group_size": 64,
14
- "grid": true,
15
- "grid_conditions": 2,
16
- "grid_tiles": 900,
17
- "grid_forward_chunk": 0,
18
- "activation_offload": true,
19
- "num_workers": 10,
20
- "seed": 1,
21
- "amp_dtype": "bfloat16",
22
- "ckpt_every": 50,
23
- "log_every": 20,
24
- "eval_every": 50,
25
- "eval_batches": 20,
26
- "ckpt_schedule": null,
27
- "resume_from": null,
28
- "grid_blocked_loss": false,
29
- "grid_pair_block": 8,
30
- "eval_heldout": true,
31
- "retention_kl_weight": 0.0,
32
- "retention_kl_temperature": 0.07,
33
- "split_heads": true,
34
- "cls_weight": 0.5,
35
- "mean_weight": 0.5,
36
- "pool_head": "gem",
37
- "min_tissue_frac": 0.0,
38
- "cores_per_batch": 0,
39
- "same_core_logit_bias": null,
40
- "center_embeddings": false,
41
- "same_core_logit_bias_cls": 3.0,
42
- "same_core_logit_bias_mean": "-Infinity",
43
- "mask_same_core": true,
44
- "core_labels_path": "/admin/home/ryan.kim/waiv/runs/.plism_core_labels.npy",
45
- "mask_sim_thresh": 0.0,
46
- "sim_emb_path": "/admin/home/ryan.kim/waiv/runs/.plism_ref_emb.npy",
47
- "encoder": {
48
- "backbone": "SophontAI/OpenMidnight",
49
- "use_lora": true,
50
- "lora_rank": 32,
51
- "lora_alpha": 64,
52
- "pooling": "clsmean",
53
- "proj_out_dim": 512,
54
- "grad_checkpointing": true,
55
- "split_heads": [
56
- "cls",
57
- "mean"
58
- ],
59
- "pool_head": "gem"
60
- }
61
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
seed2/_verify.json DELETED
@@ -1,28 +0,0 @@
1
- {
2
- "backbone": "openmidnightsq",
3
- "hub": "SophontAI/OpenMidnight",
4
- "revision": "87189e66",
5
- "seed_label": "s2",
6
- "run": "genMASK-c50-ms500-openmidnight-s2-t900-438672",
7
- "step": "step_0000150",
8
- "adapter_dir": "/admin/home/ryan.kim/waiv/runs/genMASK-c50-ms500-openmidnight-s2-t900-438672/step_0000150/adapter",
9
- "out": "/admin/home/ryan.kim/spectra-release/merged/spectra-openmidnight-merged/seed2",
10
- "merge_info": {
11
- "merged": 160,
12
- "r": 32,
13
- "alpha": 64,
14
- "scaling": 2.0,
15
- "delta_norm_min": 0.3815061151981354,
16
- "delta_norm_max": 1.9115675687789917,
17
- "delta_norm_mean": 0.9905468866229057
18
- },
19
- "merged_vs_base": {
20
- "mean_abs_diff": 0.11856531351804733,
21
- "max_abs_diff": 23.04315185546875,
22
- "base_feat_absmean": 0.5962615609169006,
23
- "feat_dim": 1536
24
- },
25
- "reload_bit_identical": true,
26
- "reload_max_abs_diff": 0.0,
27
- "size_bytes": 4539151496
28
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
seed2/config.json DELETED
@@ -1,27 +0,0 @@
1
- {
2
- "architecture": "vit_giant_patch14_reg4_dinov2",
3
- "num_classes": 0,
4
- "num_features": 1536,
5
- "global_pool": "token",
6
- "pretrained_cfg": {
7
- "custom_load": true,
8
- "input_size": [
9
- 3,
10
- 224,
11
- 224
12
- ],
13
- "fixed_input_size": true,
14
- "mean": [
15
- 0.485,
16
- 0.456,
17
- 0.406
18
- ],
19
- "std": [
20
- 0.229,
21
- 0.224,
22
- 0.225
23
- ],
24
- "num_classes": 0,
25
- "license": "Apache 2.0"
26
- }
27
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
seed2/model.safetensors DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:3ef8c5cabf08f0e8c4e776cdfb826c86ef9b52d66f0c509f83da62531e463efd
3
- size 4539151496
 
 
 
 
seed2/ri_curve.json DELETED
@@ -1,637 +0,0 @@
1
- {
2
- "run_dir": "/data/ryan.kim/waiv_runs/genMASK-c50-ms500-openmidnight-s2-t900-438672",
3
- "datasets": [
4
- "camelyon",
5
- "tolkach_esca",
6
- "tcga"
7
- ],
8
- "targets": {
9
- "phikon_v2_base": {
10
- "tcga": 0.619,
11
- "camelyon": 0.019,
12
- "tolkach_esca": 0.768,
13
- "avg": 0.469
14
- },
15
- "phaet_target": {
16
- "tcga": 0.785,
17
- "camelyon": 0.702,
18
- "tolkach_esca": 0.932,
19
- "avg": 0.806
20
- },
21
- "midnight_base": {
22
- "tcga": 0.858,
23
- "camelyon": 0.478,
24
- "tolkach_esca": 0.941,
25
- "avg": 0.759
26
- },
27
- "mascaret_target": {
28
- "tcga": 0.893,
29
- "camelyon": 0.907,
30
- "tolkach_esca": 0.972,
31
- "avg": 0.924
32
- },
33
- "virchow2_base": {
34
- "avg": 0.858
35
- },
36
- "virchow2_target": {
37
- "avg": 0.918
38
- }
39
- },
40
- "points": [
41
- {
42
- "model": "waiv_genMASK_c50_ms500_openmidnight_s2_t900_438672_s0000050",
43
- "adapter_rel_l2_delta": {
44
- "camelyon": 0.06135381,
45
- "tolkach_esca": 0.01984267,
46
- "tcga": 0.03784909
47
- },
48
- "datasets": {
49
- "camelyon": {
50
- "robustness_index": 0.29402527480744783,
51
- "balanced_accuracy": 0.9658333333333333,
52
- "k_opt": 11,
53
- "generalization_index": 0.9906174588987253,
54
- "confounder_insensitivity": 0.018828347400489436,
55
- "prediction_performance": 0.956969696969697,
56
- "ID_performance": 0.957135657630089,
57
- "OOD_performance": 0.9481552929828793
58
- },
59
- "tolkach_esca": {
60
- "robustness_index": 0.8844883648419056,
61
- "balanced_accuracy": 0.9557777777777777,
62
- "k_opt": 46,
63
- "generalization_index": 1.0098829811425731,
64
- "confounder_insensitivity": 0.554690169776673,
65
- "prediction_performance": 0.9351159420289855,
66
- "ID_performance": 0.9318302158165316,
67
- "OOD_performance": 0.941039476267526
68
- },
69
- "tcga": {
70
- "robustness_index": 0.8087960069956179,
71
- "balanced_accuracy": 0.9245124113475179,
72
- "k_opt": 61,
73
- "generalization_index": 1.0069926440169015,
74
- "confounder_insensitivity": 0.4974019397370145,
75
- "prediction_performance": 0.8962026217881642,
76
- "ID_performance": 0.8941257527759104,
77
- "OOD_performance": 0.9003780558714164
78
- }
79
- },
80
- "avg_robustness_index": 0.6624365488816572,
81
- "avg_balanced_accuracy": 0.948707840819543,
82
- "step": 50,
83
- "checkpoint": "/data/ryan.kim/waiv_runs/genMASK-c50-ms500-openmidnight-s2-t900-438672/step_0000050",
84
- "probe": {
85
- "train.cross_scanner.separation": 0.000521281361579895,
86
- "train.cross_scanner.matched": 0.9998932844400406,
87
- "train.cross_scanner.random": 0.9993720030784607,
88
- "train.cross_scanner.top1": 0.752109375,
89
- "train.cross_stain.separation": 0.0004398277070787218,
90
- "train.cross_stain.matched": 0.9997829243871901,
91
- "train.cross_stain.random": 0.9993430966801113,
92
- "train.cross_stain.top1": 0.48635416666666664,
93
- "train.within_condition_random": 0.9993962526321412,
94
- "heldout.cross_scanner.separation": 0.0005480606261998006,
95
- "heldout.cross_scanner.matched": 0.9998940417211349,
96
- "heldout.cross_scanner.random": 0.9993459810949352,
97
- "heldout.cross_scanner.top1": 0.7392444349315068,
98
- "heldout.cross_stain.separation": 0.0005094837724116811,
99
- "heldout.cross_stain.matched": 0.9998166250903704,
100
- "heldout.cross_stain.random": 0.9993071413179587,
101
- "heldout.cross_stain.top1": 0.5176809210526315,
102
- "heldout.within_condition_random": 0.9993571987966212
103
- },
104
- "eval_seconds": 18959.9,
105
- "train_metrics": {
106
- "step": 50,
107
- "loss_cls": 4.723287105560303,
108
- "top1_cls": 0.03333333507180214,
109
- "weight_cls": 0.5,
110
- "negatives_per_anchor": 899.0,
111
- "n_rows": 1800.0,
112
- "n_cond": 2.0,
113
- "n_tiles": 900.0,
114
- "loss_mean": 0.31233638525009155,
115
- "top1_mean": 0.9733333587646484,
116
- "weight_mean": 0.5,
117
- "loss": 2.5178117752075195,
118
- "top1": 0.5033333469182253,
119
- "n_heads": 2.0,
120
- "split_input_rel_distance": 1.9103232622146606,
121
- "split_input_cosine": -0.12291879206895828,
122
- "heldout_loss": 2.873713743686676,
123
- "heldout_top1": 0.41397223249077797
124
- }
125
- },
126
- {
127
- "model": "waiv_genMASK_c50_ms500_openmidnight_s2_t900_438672_s0000100",
128
- "adapter_rel_l2_delta": {
129
- "camelyon": 0.1116684,
130
- "tolkach_esca": 0.03930933,
131
- "tcga": 0.06849402
132
- },
133
- "datasets": {
134
- "camelyon": {
135
- "robustness_index": 0.7362077922077922,
136
- "balanced_accuracy": 0.9715686274509804,
137
- "k_opt": 11,
138
- "generalization_index": 0.9992648104753599,
139
- "confounder_insensitivity": 0.1092765974275065,
140
- "prediction_performance": 0.962277183600713,
141
- "ID_performance": 0.9623468812718123,
142
- "OOD_performance": 0.961639373925631
143
- },
144
- "tolkach_esca": {
145
- "robustness_index": 0.9542504442973133,
146
- "balanced_accuracy": 0.9665555555555555,
147
- "k_opt": 46,
148
- "generalization_index": 1.0086772238627593,
149
- "confounder_insensitivity": 1.2544599098216036,
150
- "prediction_performance": 0.9473574879227054,
151
- "ID_performance": 0.9428053322877867,
152
- "OOD_performance": 0.950986265215051
153
- },
154
- "tcga": {
155
- "robustness_index": 0.8497310220339728,
156
- "balanced_accuracy": 0.9312056737588654,
157
- "k_opt": 61,
158
- "generalization_index": 1.013121271335831,
159
- "confounder_insensitivity": 0.6597069992898823,
160
- "prediction_performance": 0.8989623299616324,
161
- "ID_performance": 0.8942981220476088,
162
- "OOD_performance": 0.9060324503621195
163
- }
164
- },
165
- "avg_robustness_index": 0.8467297528463594,
166
- "avg_balanced_accuracy": 0.9564432855884671,
167
- "step": 100,
168
- "checkpoint": "/data/ryan.kim/waiv_runs/genMASK-c50-ms500-openmidnight-s2-t900-438672/step_0000100",
169
- "probe": {
170
- "train.cross_scanner.separation": 0.0004972052574157714,
171
- "train.cross_scanner.matched": 0.999962602853775,
172
- "train.cross_scanner.random": 0.9994653975963592,
173
- "train.cross_scanner.top1": 0.91453125,
174
- "train.cross_stain.separation": 0.0004331326484680176,
175
- "train.cross_stain.matched": 0.999888620906406,
176
- "train.cross_stain.random": 0.999455488257938,
177
- "train.cross_stain.top1": 0.6504861111111111,
178
- "train.within_condition_random": 0.9994706416130066,
179
- "heldout.cross_scanner.separation": 0.0005227670277634713,
180
- "heldout.cross_scanner.matched": 0.9999576415101142,
181
- "heldout.cross_scanner.random": 0.9994348744823508,
182
- "heldout.cross_scanner.top1": 0.8951198630136986,
183
- "heldout.cross_stain.separation": 0.000481627140825952,
184
- "heldout.cross_stain.matched": 0.9999014682937086,
185
- "heldout.cross_stain.random": 0.9994198411528827,
186
- "heldout.cross_stain.top1": 0.66890533625731,
187
- "heldout.within_condition_random": 0.9994370036008882
188
- },
189
- "eval_seconds": 5102.8,
190
- "train_metrics": {
191
- "step": 100,
192
- "loss_cls": 4.2960381507873535,
193
- "top1_cls": 0.07333333790302277,
194
- "weight_cls": 0.5,
195
- "negatives_per_anchor": 899.0,
196
- "n_rows": 1800.0,
197
- "n_cond": 2.0,
198
- "n_tiles": 900.0,
199
- "loss_mean": 0.8268017768859863,
200
- "top1_mean": 0.8866667151451111,
201
- "weight_mean": 0.5,
202
- "loss": 2.56141996383667,
203
- "top1": 0.4800000265240669,
204
- "n_heads": 2.0,
205
- "split_input_rel_distance": 1.909881830215454,
206
- "split_input_cosine": -0.09640105068683624,
207
- "heldout_loss": 1.8407508969306945,
208
- "heldout_top1": 0.659666682779789
209
- }
210
- },
211
- {
212
- "model": "waiv_genMASK_c50_ms500_openmidnight_s2_t900_438672_s0000150",
213
- "adapter_rel_l2_delta": {
214
- "camelyon": 0.1003916,
215
- "tolkach_esca": 0.0329724,
216
- "tcga": 0.06768148
217
- },
218
- "datasets": {
219
- "camelyon": {
220
- "robustness_index": 0.8590614569016297,
221
- "balanced_accuracy": 0.9716666666666667,
222
- "k_opt": 11,
223
- "generalization_index": 1.0044632696203488,
224
- "confounder_insensitivity": 0.2534702244962938,
225
- "prediction_performance": 0.960770944741533,
226
- "ID_performance": 0.9599045932645526,
227
- "OOD_performance": 0.9641889062741037
228
- },
229
- "tolkach_esca": {
230
- "robustness_index": 0.961135959008207,
231
- "balanced_accuracy": 0.9660000000000001,
232
- "k_opt": 46,
233
- "generalization_index": 1.0107858304832258,
234
- "confounder_insensitivity": 1.6367747277243487,
235
- "prediction_performance": 0.943572463768116,
236
- "ID_performance": 0.9372969874530285,
237
- "OOD_performance": 0.947406513872135
238
- },
239
- "tcga": {
240
- "robustness_index": 0.8473497201017163,
241
- "balanced_accuracy": 0.9227659574468086,
242
- "k_opt": 61,
243
- "generalization_index": 1.0103340710417517,
244
- "confounder_insensitivity": 0.773014100780525,
245
- "prediction_performance": 0.88060617951401,
246
- "ID_performance": 0.8766563708095831,
247
- "OOD_performance": 0.8857158000247337
248
- }
249
- },
250
- "avg_robustness_index": 0.8891823786705176,
251
- "avg_balanced_accuracy": 0.9534775413711585,
252
- "step": 150,
253
- "checkpoint": "/data/ryan.kim/waiv_runs/genMASK-c50-ms500-openmidnight-s2-t900-438672/step_0000150",
254
- "probe": {
255
- "train.cross_scanner.separation": 0.0005248391628265381,
256
- "train.cross_scanner.matched": 0.9999757087230683,
257
- "train.cross_scanner.random": 0.9994508695602417,
258
- "train.cross_scanner.top1": 0.97203125,
259
- "train.cross_stain.separation": 0.00046601136525472003,
260
- "train.cross_stain.matched": 0.9999127949608697,
261
- "train.cross_stain.random": 0.999446783595615,
262
- "train.cross_stain.top1": 0.7904513888888889,
263
- "train.within_condition_random": 0.9994528937339783,
264
- "heldout.cross_scanner.separation": 0.0005484950052548762,
265
- "heldout.cross_scanner.matched": 0.9999696081631804,
266
- "heldout.cross_scanner.random": 0.9994211131579256,
267
- "heldout.cross_scanner.top1": 0.9548908390410958,
268
- "heldout.cross_stain.separation": 0.0004999975711978667,
269
- "heldout.cross_stain.matched": 0.9999169313419632,
270
- "heldout.cross_stain.random": 0.9994169337707653,
271
- "heldout.cross_stain.top1": 0.7951160453216374,
272
- "heldout.within_condition_random": 0.9994239719902597
273
- },
274
- "eval_seconds": 4516.4,
275
- "train_metrics": {
276
- "step": 150,
277
- "loss_cls": 1.152949333190918,
278
- "top1_cls": 0.6322222352027893,
279
- "weight_cls": 0.5,
280
- "negatives_per_anchor": 899.0,
281
- "n_rows": 1800.0,
282
- "n_cond": 2.0,
283
- "n_tiles": 900.0,
284
- "loss_mean": 0.02266651578247547,
285
- "top1_mean": 0.9988889098167419,
286
- "weight_mean": 0.5,
287
- "loss": 0.5878079533576965,
288
- "top1": 0.8155555725097656,
289
- "n_heads": 2.0,
290
- "split_input_rel_distance": 1.90652596950531,
291
- "split_input_cosine": -0.06583566218614578,
292
- "heldout_loss": 1.441209152340889,
293
- "heldout_top1": 0.7740555718541146
294
- }
295
- },
296
- {
297
- "model": "waiv_genMASK_c50_ms500_openmidnight_s2_t900_438672_s0000200",
298
- "adapter_rel_l2_delta": {
299
- "camelyon": 0.0830723,
300
- "tolkach_esca": 0.03013019,
301
- "tcga": 0.05842631
302
- },
303
- "datasets": {
304
- "camelyon": {
305
- "robustness_index": 0.8603496360791782,
306
- "balanced_accuracy": 0.9691666666666666,
307
- "k_opt": 11,
308
- "generalization_index": 1.0085976580778504,
309
- "confounder_insensitivity": 0.30677847658979734,
310
- "prediction_performance": 0.9540998217468806,
311
- "ID_performance": 0.9521779641276497,
312
- "OOD_performance": 0.9603644646924829
313
- },
314
- "tolkach_esca": {
315
- "robustness_index": 0.9621059224719883,
316
- "balanced_accuracy": 0.9653333333333335,
317
- "k_opt": 46,
318
- "generalization_index": 1.0077102227850199,
319
- "confounder_insensitivity": 1.7642015864113452,
320
- "prediction_performance": 0.9391594202898551,
321
- "ID_performance": 0.9345605320086532,
322
- "OOD_performance": 0.9417662019165266
323
- },
324
- "tcga": {
325
- "robustness_index": 0.8355797485518814,
326
- "balanced_accuracy": 0.9186790780141842,
327
- "k_opt": 61,
328
- "generalization_index": 1.0098498166386747,
329
- "confounder_insensitivity": 0.796373887415436,
330
- "prediction_performance": 0.8671421927682827,
331
- "ID_performance": 0.8633721484248441,
332
- "OOD_performance": 0.8718762057777674
333
- }
334
- },
335
- "avg_robustness_index": 0.8860117690343493,
336
- "avg_balanced_accuracy": 0.9510596926713948,
337
- "step": 200,
338
- "checkpoint": "/data/ryan.kim/waiv_runs/genMASK-c50-ms500-openmidnight-s2-t900-438672/step_0000200",
339
- "probe": {
340
- "train.cross_scanner.separation": 0.000561721920967102,
341
- "train.cross_scanner.matched": 0.9999778664112091,
342
- "train.cross_scanner.random": 0.999416144490242,
343
- "train.cross_scanner.top1": 0.98859375,
344
- "train.cross_stain.separation": 0.0005025479528639052,
345
- "train.cross_stain.matched": 0.9999160668585035,
346
- "train.cross_stain.random": 0.9994135189056397,
347
- "train.cross_stain.top1": 0.8607291666666667,
348
- "train.within_condition_random": 0.999417861700058,
349
- "heldout.cross_scanner.separation": 0.0005812253037544146,
350
- "heldout.cross_scanner.matched": 0.9999714012015356,
351
- "heldout.cross_scanner.random": 0.9993901758977811,
352
- "heldout.cross_scanner.top1": 0.9780072773972602,
353
- "heldout.cross_stain.separation": 0.0005306183246144077,
354
- "heldout.cross_stain.matched": 0.9999188669243751,
355
- "heldout.cross_stain.random": 0.9993882485997607,
356
- "heldout.cross_stain.top1": 0.8625274122807017,
357
- "heldout.within_condition_random": 0.9993932029096092
358
- },
359
- "eval_seconds": 2198.1,
360
- "train_metrics": {
361
- "step": 200,
362
- "loss_cls": 0.9190048575401306,
363
- "top1_cls": 0.695555567741394,
364
- "weight_cls": 0.5,
365
- "negatives_per_anchor": 899.0,
366
- "n_rows": 1800.0,
367
- "n_cond": 2.0,
368
- "n_tiles": 900.0,
369
- "loss_mean": 0.014111900702118874,
370
- "top1_mean": 0.9994444847106934,
371
- "weight_mean": 0.5,
372
- "loss": 0.4665583670139313,
373
- "top1": 0.8475000262260437,
374
- "n_heads": 2.0,
375
- "split_input_rel_distance": 1.902852177619934,
376
- "split_input_cosine": -0.044305868446826935,
377
- "heldout_loss": 1.2631883502006531,
378
- "heldout_top1": 0.8060833513736725
379
- }
380
- },
381
- {
382
- "model": "waiv_genMASK_c50_ms500_openmidnight_s2_t900_438672_s0000250",
383
- "adapter_rel_l2_delta": {
384
- "camelyon": 0.08021808,
385
- "tolkach_esca": 0.03456734,
386
- "tcga": 0.05260206
387
- },
388
- "datasets": {
389
- "camelyon": {
390
- "robustness_index": 0.8684781367736043,
391
- "balanced_accuracy": 0.9674019607843137,
392
- "k_opt": 11,
393
- "generalization_index": 1.00733173196086,
394
- "confounder_insensitivity": 0.3286912036379139,
395
- "prediction_performance": 0.9539795008912656,
396
- "ID_performance": 0.9522523802756857,
397
- "OOD_performance": 0.9592340394869578
398
- },
399
- "tolkach_esca": {
400
- "robustness_index": 0.9631153207964601,
401
- "balanced_accuracy": 0.9634444444444444,
402
- "k_opt": 46,
403
- "generalization_index": 1.0064429705396893,
404
- "confounder_insensitivity": 1.8066464642355957,
405
- "prediction_performance": 0.9387753623188406,
406
- "ID_performance": 0.9348980048404482,
407
- "OOD_performance": 0.9409215251432494
408
- },
409
- "tcga": {
410
- "robustness_index": 0.8372437935206859,
411
- "balanced_accuracy": 0.9204166666666664,
412
- "k_opt": 61,
413
- "generalization_index": 1.0102595304806377,
414
- "confounder_insensitivity": 0.8021165598137541,
415
- "prediction_performance": 0.8678554819207069,
416
- "ID_performance": 0.8639104473155644,
417
- "OOD_performance": 0.8727737628823398
418
- }
419
- },
420
- "avg_robustness_index": 0.8896124170302501,
421
- "avg_balanced_accuracy": 0.9504210239651415,
422
- "step": 250,
423
- "checkpoint": "/data/ryan.kim/waiv_runs/genMASK-c50-ms500-openmidnight-s2-t900-438672/step_0000250",
424
- "probe": {
425
- "train.cross_scanner.separation": 0.000628265142440796,
426
- "train.cross_scanner.matched": 0.9999768042564392,
427
- "train.cross_scanner.random": 0.9993485391139985,
428
- "train.cross_scanner.top1": 0.99265625,
429
- "train.cross_stain.separation": 0.0005653095245361328,
430
- "train.cross_stain.matched": 0.9999114685588413,
431
- "train.cross_stain.random": 0.9993461590343051,
432
- "train.cross_stain.top1": 0.8754166666666666,
433
- "train.within_condition_random": 0.9993501269817352,
434
- "heldout.cross_scanner.separation": 0.0006491329571972154,
435
- "heldout.cross_scanner.matched": 0.999969627759228,
436
- "heldout.cross_scanner.random": 0.9993204948020308,
437
- "heldout.cross_scanner.top1": 0.9841609589041096,
438
- "heldout.cross_stain.separation": 0.000592950143312153,
439
- "heldout.cross_stain.matched": 0.9999126506130598,
440
- "heldout.cross_stain.random": 0.9993197004697476,
441
- "heldout.cross_stain.top1": 0.8781524122807017,
442
- "heldout.within_condition_random": 0.9993243508222627
443
- },
444
- "eval_seconds": 2211.5,
445
- "train_metrics": {
446
- "step": 250,
447
- "loss_cls": 0.23604129254817963,
448
- "top1_cls": 0.9316666722297668,
449
- "weight_cls": 0.5,
450
- "negatives_per_anchor": 899.0,
451
- "n_rows": 1800.0,
452
- "n_cond": 2.0,
453
- "n_tiles": 900.0,
454
- "loss_mean": 0.005885029677301645,
455
- "top1_mean": 1.0,
456
- "weight_mean": 0.5,
457
- "loss": 0.12096316367387772,
458
- "top1": 0.9658333361148834,
459
- "n_heads": 2.0,
460
- "split_input_rel_distance": 1.9015450477600098,
461
- "split_input_cosine": -0.03455965220928192,
462
- "heldout_loss": 1.1432920694351196,
463
- "heldout_top1": 0.822000016272068
464
- }
465
- },
466
- {
467
- "model": "waiv_genMASK_c50_ms500_openmidnight_s2_t900_438672_s0000300",
468
- "adapter_rel_l2_delta": {
469
- "camelyon": 0.07439523,
470
- "tolkach_esca": 0.03673597,
471
- "tcga": 0.04736481
472
- },
473
- "datasets": {
474
- "camelyon": {
475
- "robustness_index": 0.8698659047371669,
476
- "balanced_accuracy": 0.9682352941176471,
477
- "k_opt": 11,
478
- "generalization_index": 1.005579320505482,
479
- "confounder_insensitivity": 0.3321223130487435,
480
- "prediction_performance": 0.9537388591800356,
481
- "ID_performance": 0.952414026464355,
482
- "OOD_performance": 0.9577278495719164
483
- },
484
- "tolkach_esca": {
485
- "robustness_index": 0.9639718771215858,
486
- "balanced_accuracy": 0.9645555555555555,
487
- "k_opt": 46,
488
- "generalization_index": 1.0064427285687858,
489
- "confounder_insensitivity": 1.8110104699955187,
490
- "prediction_performance": 0.9401086956521739,
491
- "ID_performance": 0.9362226537568408,
492
- "OOD_performance": 0.9422544821949445
493
- },
494
- "tcga": {
495
- "robustness_index": 0.8352211433041281,
496
- "balanced_accuracy": 0.9199822695035461,
497
- "k_opt": 61,
498
- "generalization_index": 1.010830803863689,
499
- "confounder_insensitivity": 0.7948317984262616,
500
- "prediction_performance": 0.8673186257411929,
501
- "ID_performance": 0.8631785070926741,
502
- "OOD_performance": 0.8725274242023467
503
- }
504
- },
505
- "avg_robustness_index": 0.8896863083876269,
506
- "avg_balanced_accuracy": 0.9509243730589162,
507
- "step": 300,
508
- "checkpoint": "/data/ryan.kim/waiv_runs/genMASK-c50-ms500-openmidnight-s2-t900-438672/step_0000300",
509
- "probe": {
510
- "train.cross_scanner.separation": 0.0006830227375030517,
511
- "train.cross_scanner.matched": 0.9999776357412338,
512
- "train.cross_scanner.random": 0.9992946130037308,
513
- "train.cross_scanner.top1": 0.9953125,
514
- "train.cross_stain.separation": 0.0006196782324049207,
515
- "train.cross_stain.matched": 0.9999123795827229,
516
- "train.cross_stain.random": 0.9992927013503181,
517
- "train.cross_stain.top1": 0.8923958333333334,
518
- "train.within_condition_random": 0.9992960214614868,
519
- "heldout.cross_scanner.separation": 0.0006946268146985197,
520
- "heldout.cross_scanner.matched": 0.9999706573682289,
521
- "heldout.cross_scanner.random": 0.9992760305535303,
522
- "heldout.cross_scanner.top1": 0.9886023116438356,
523
- "heldout.cross_stain.separation": 0.0006400761548538655,
524
- "heldout.cross_stain.matched": 0.9999137973924827,
525
- "heldout.cross_stain.random": 0.9992737212376288,
526
- "heldout.cross_stain.top1": 0.8931149488304093,
527
- "heldout.within_condition_random": 0.9992785003127121
528
- },
529
- "eval_seconds": 2490.6,
530
- "train_metrics": {
531
- "step": 300,
532
- "loss_cls": 1.4541085958480835,
533
- "top1_cls": 0.554444432258606,
534
- "weight_cls": 0.5,
535
- "negatives_per_anchor": 899.0,
536
- "n_rows": 1800.0,
537
- "n_cond": 2.0,
538
- "n_tiles": 900.0,
539
- "loss_mean": 0.022152811288833618,
540
- "top1_mean": 0.9983333349227905,
541
- "weight_mean": 0.5,
542
- "loss": 0.7381306886672974,
543
- "top1": 0.7763888835906982,
544
- "n_heads": 2.0,
545
- "split_input_rel_distance": 1.9002515077590942,
546
- "split_input_cosine": -0.02878390997648239,
547
- "heldout_loss": 1.0337130695581436,
548
- "heldout_top1": 0.8357361286878586
549
- }
550
- },
551
- {
552
- "model": "waiv_genMASK_c50_ms500_openmidnight_s2_t900_438672_s0000350",
553
- "adapter_rel_l2_delta": {
554
- "camelyon": 0.073182,
555
- "tolkach_esca": 0.04284,
556
- "tcga": 0.04353784
557
- },
558
- "datasets": {
559
- "camelyon": {
560
- "robustness_index": 0.8651014918072879,
561
- "balanced_accuracy": 0.9663725490196078,
562
- "k_opt": 11,
563
- "generalization_index": 1.0063352088816737,
564
- "confounder_insensitivity": 0.3281407213627055,
565
- "prediction_performance": 0.952517825311943,
566
- "ID_performance": 0.9510292498727494,
567
- "OOD_performance": 0.9570542188232748
568
- },
569
- "tolkach_esca": {
570
- "robustness_index": 0.962552298049072,
571
- "balanced_accuracy": 0.963111111111111,
572
- "k_opt": 46,
573
- "generalization_index": 1.0068131937015685,
574
- "confounder_insensitivity": 1.8230095736846412,
575
- "prediction_performance": 0.9374589371980676,
576
- "ID_performance": 0.933352426151706,
577
- "OOD_performance": 0.9397115370229064
578
- },
579
- "tcga": {
580
- "robustness_index": 0.8314431861604742,
581
- "balanced_accuracy": 0.9186702127659576,
582
- "k_opt": 61,
583
- "generalization_index": 1.0117116206622394,
584
- "confounder_insensitivity": 0.7929143300256868,
585
- "prediction_performance": 0.8645749040809209,
586
- "ID_performance": 0.8601199549530535,
587
- "OOD_performance": 0.8701933535894862
588
- }
589
- },
590
- "avg_robustness_index": 0.8863656586722781,
591
- "avg_balanced_accuracy": 0.9493846242988923,
592
- "step": 350,
593
- "checkpoint": "/data/ryan.kim/waiv_runs/genMASK-c50-ms500-openmidnight-s2-t900-438672/step_0000350",
594
- "probe": {
595
- "train.cross_scanner.separation": 0.0007353496551513672,
596
- "train.cross_scanner.matched": 0.9999756443500519,
597
- "train.cross_scanner.random": 0.9992402946949005,
598
- "train.cross_scanner.top1": 0.9950390625,
599
- "train.cross_stain.separation": 0.0006662252214219835,
600
- "train.cross_stain.matched": 0.9999043149418301,
601
- "train.cross_stain.random": 0.9992380897204082,
602
- "train.cross_stain.top1": 0.8957118055555555,
603
- "train.within_condition_random": 0.9992416834831238,
604
- "heldout.cross_scanner.separation": 0.0007469172347081851,
605
- "heldout.cross_scanner.matched": 0.9999676624389544,
606
- "heldout.cross_scanner.random": 0.9992207452042462,
607
- "heldout.cross_scanner.top1": 0.9891374143835616,
608
- "heldout.cross_stain.separation": 0.0006879756325169614,
609
- "heldout.cross_stain.matched": 0.9999062025059037,
610
- "heldout.cross_stain.random": 0.9992182268733867,
611
- "heldout.cross_stain.top1": 0.8955135233918129,
612
- "heldout.within_condition_random": 0.9992232860588446
613
- },
614
- "eval_seconds": 2452.3,
615
- "train_metrics": {
616
- "step": 350,
617
- "loss_cls": 1.4318788051605225,
618
- "top1_cls": 0.5766666531562805,
619
- "weight_cls": 0.5,
620
- "negatives_per_anchor": 899.0,
621
- "n_rows": 1800.0,
622
- "n_cond": 2.0,
623
- "n_tiles": 900.0,
624
- "loss_mean": 0.028840575367212296,
625
- "top1_mean": 1.0,
626
- "weight_mean": 0.5,
627
- "loss": 0.730359673500061,
628
- "top1": 0.7883333265781403,
629
- "n_heads": 2.0,
630
- "split_input_rel_distance": 1.8998087644577026,
631
- "split_input_cosine": -0.030021917074918747,
632
- "heldout_loss": 0.9633975774049759,
633
- "heldout_top1": 0.8410833522677421
634
- }
635
- }
636
- ]
637
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
seed2/training_config.json DELETED
@@ -1,61 +0,0 @@
1
- {
2
- "packed_dir": "/data/plism/repacked",
3
- "out_dir": "/admin/home/ryan.kim/waiv/runs/genMASK-c50-ms500-openmidnight-s2-t900-438672",
4
- "lr": 0.0001,
5
- "weight_decay": 0.05,
6
- "warmup_steps": 200,
7
- "max_steps": 500,
8
- "temperature": 0.07,
9
- "symmetric": false,
10
- "grad_accum": 1,
11
- "grad_clip": 1.0,
12
- "n_groups": 4,
13
- "group_size": 64,
14
- "grid": true,
15
- "grid_conditions": 2,
16
- "grid_tiles": 900,
17
- "grid_forward_chunk": 0,
18
- "activation_offload": true,
19
- "num_workers": 10,
20
- "seed": 2,
21
- "amp_dtype": "bfloat16",
22
- "ckpt_every": 50,
23
- "log_every": 20,
24
- "eval_every": 50,
25
- "eval_batches": 20,
26
- "ckpt_schedule": null,
27
- "resume_from": null,
28
- "grid_blocked_loss": false,
29
- "grid_pair_block": 8,
30
- "eval_heldout": true,
31
- "retention_kl_weight": 0.0,
32
- "retention_kl_temperature": 0.07,
33
- "split_heads": true,
34
- "cls_weight": 0.5,
35
- "mean_weight": 0.5,
36
- "pool_head": "gem",
37
- "min_tissue_frac": 0.0,
38
- "cores_per_batch": 0,
39
- "same_core_logit_bias": null,
40
- "center_embeddings": false,
41
- "same_core_logit_bias_cls": 3.0,
42
- "same_core_logit_bias_mean": "-Infinity",
43
- "mask_same_core": true,
44
- "core_labels_path": "/admin/home/ryan.kim/waiv/runs/.plism_core_labels.npy",
45
- "mask_sim_thresh": 0.0,
46
- "sim_emb_path": "/admin/home/ryan.kim/waiv/runs/.plism_ref_emb.npy",
47
- "encoder": {
48
- "backbone": "SophontAI/OpenMidnight",
49
- "use_lora": true,
50
- "lora_rank": 32,
51
- "lora_alpha": 64,
52
- "pooling": "clsmean",
53
- "proj_out_dim": 512,
54
- "grad_checkpointing": true,
55
- "split_heads": [
56
- "cls",
57
- "mean"
58
- ],
59
- "pool_head": "gem"
60
- }
61
- }