diff --git a/README.md b/README.md deleted file mode 100644 index 427720e43723d0543112a5014bac6f7fa0c754b7..0000000000000000000000000000000000000000 --- a/README.md +++ /dev/null @@ -1,123 +0,0 @@ ---- -license: cc-by-4.0 -base_model: Qwen/Qwen2.5-1.5B-Instruct -datasets: - - thirdExec/synthetic-seismic-vlm - - GeoGPT-Research-Project/GeoGPT-CoT-QA - - gOLIVES/CRACKS -language: - - en -tags: - - seismic - - fault-interpretation - - vision-language - - geophysics - - grounding - - lora - - peft ---- - -# SeisGround — trained weights - -Vision–language weights for **seismic fault interpretation**: a frozen seismic encoder measures -fault geometry (count, location, dip, throw, per-fault mask); a language model then **copies those -measured numbers** into tagged narration through a non-differentiable digit seam, so the text can only -state values the vision reader actually measured. - -**Pipeline:** `frozen SFM-Base-512 encoder → DETR reader (48 queries, Hungarian, ∅) → digit-copy seam → Qwen2.5-1.5B LM narrator (LoRA)`. - -> ⚠️ **The encoder is NOT in this repo.** These weights run *on top of* the third-party **Seismic -> Foundation Model** (ViT-B/16 @512), which we use **frozen and unmodified**. Download it from the -> authors: [shenghanlin/SeismicFoundationModel](https://github.com/shenghanlin/SeismicFoundationModel#rocket-model-zoo-data-release) -> (Sheng et al., [arXiv:2309.02791](https://arxiv.org/abs/2309.02791)) and place it at -> `hybrid/checkpoints/SFM-Base-512.pth`. -> -> Code, scripts, and setup: **[github.com/Thirdbot/ModelV2](https://github.com/Thirdbot/ModelV2)** (see `SETUP.md`). - -## What each file is — and which result it backs - -The repo mirrors the code's `hybrid/checkpoints/` tree, so `hf download … --local-dir hybrid/checkpoints` -reconstructs a runnable layout with no path surgery. - -### Main pipeline (synthetic training → deployable narration) -| File | What it is | Backs | -|---|---|---| -| `reader.pt` | Synthetic **base reader** — DETR set-prediction that measures fault count/location/dip/throw + per-fault mask. | Synthetic vision table (pooled IoU 0.230, det F1 0.433, class 0.93, dip 28.06° vs const 32.19°, throw 53.60 vs 56.23 ms) | -| `stage2_grounding.pt` | Grounding-stage LM adapter — teaches the narrator to read the digit seam. | (pipeline component) | -| `stage3_narrator.pt` | **Deployed narrator** (grounding+fuse LoRA) — free-generates tagged narration that copies the measured facts. | Faithfulness table (copy 0.77 GT-injected / 0.89 reader-piped; CHAIR$_I$ 0.185; dip-swap 16/16) | -| `stage3_answer.pt` | Answer-fold narrator variant (the `→` fold). | (ablation / alternate narration) | -| `stage1_e12dcce6ed/` | **Geology LoRA adapter** — Qwen2.5-1.5B-Instruct, r16/α16, lr 2e-5, 4-bit, trained on GeoGPT-CoT-QA. Frozen thereafter; supplies the `/` reasoning scaffold. | Geology stage-1 | - -### Real-field A/B + ratio-selection track (`ab_experiment/`) -Real adapters (r32, base frozen, zero-init residual) trained on top of a fresh synthetic base. -See `ab_experiment/PROVENANCE.md` for the full identity config. - -| File | What it is | Backs | -|---|---|---| -| `ab_experiment/reader_synth.pt` | Synthetic reader **base** for this track (the frozen substrate the real adapters sit on). | — | -| `ab_experiment/B_joint.pt` | **DEPLOYED model.** 1:1:1 joint round-robin real adapter **with** real dip/throw supervision (`TRAIN_MEASURE=1`, data-gated to Smeaheia). | A/B table (B row) + all deployed inference | -| `ab_experiment/A_joint.pt` | Control — same 1:1:1, **no** real attribute supervision (`TRAIN_MEASURE=0`). Identical to B except the measurement heads never see real dip/throw. | A/B table (A row) | -| `ab_experiment/ratio1.pt`, `ratio2.pt` | The two **non-selected** mixing ratios (4:3:3 and 8:1:1) from ratio selection. 1:1:1 won on held-out val (mean det F1 0.363 vs 0.333 vs 0.166) and became A/B. | Ratio-selection table | -| `ab_experiment/alone_cracks.pt`, `alone_smeaheia.pt` | Single-survey **"alone" baselines** (no joint mixing). | Zero-shot / alone / joint table | - -> If you release only a subset, keep the rows for the files you actually upload. `A_joint` is the -> paper's control; deployment needs only `B_joint` (+ `reader`, `stage3_narrator`, the geology adapter, and the SFM link). - -## How to use - -```bash -# 1) get the weights (mirrors hybrid/checkpoints/) -hf download thirdExec/seisground-weights --local-dir hybrid/checkpoints -# 2) add the frozen SFM encoder (third-party — see the note above) → hybrid/checkpoints/SFM-Base-512.pth -# 3) run inference (from the ModelV2 repo) -DATASET=synthetic python -m hybrid.eval.inference # in-distribution -DATASET=thebe READER=hybrid/checkpoints/ab_experiment/B_joint.pt python -m hybrid.eval.inference # a real survey -IMAGE=path/to/section.png READER=hybrid/checkpoints/ab_experiment/B_joint.pt python -m hybrid.infer # your own image -``` -The narrator defaults to `stage3_narrator.pt`; override with `CKPT=` / `NARRATOR=`. - -## Training data - -| Dataset | Role | Source | -|---|---|---| -| Synthetic seismic VQA (1,261 scenes / 1,320 regions) | full supervision — masks, attributes, narration | [`thirdExec/synthetic-seismic-vlm`](https://huggingface.co/datasets/thirdExec/synthetic-seismic-vlm) | -| GeoGPT-CoT-QA | geology reasoning scaffold (stage 1) | [`GeoGPT-Research-Project/GeoGPT-CoT-QA`](https://huggingface.co/datasets/GeoGPT-Research-Project/GeoGPT-CoT-QA) | -| Thebe (37,796 patches) | real fault masks | Kaggle `mycarta/thebe-fault-patches-256` / Harvard Dataverse DOI [10.7910/DVN/YBYGBK](https://doi.org/10.7910/DVN/YBYGBK) | -| CRACKS (397) | real fault masks | [`gOLIVES/CRACKS`](https://huggingface.co/datasets/gOLIVES/CRACKS) | -| Smeaheia (430, GN1101 3-D cube) | real masks + independent dip/throw GT | [co2datashare.org](https://co2datashare.org/dataset/smeaheia-dataset) | - -## Identity config (defines the numbers) - -Encoder SFM-Base-512 frozen (d768/depth12/patch16/img512/tile512/grid32) · loss Focal-Tversky -α0.4/β0.6/γ1.0, POS_WEIGHT_MAX 15, clDice 1.0 · N_QUERIES 48 · DET_TAU 0.1 · DET_THRESH 0.9 · -**DILATE_R 0 (pure masks, 16px floor)** · geology LoRA r16/α16 lr2e-5 4-bit · reader lr1e-4 -(encoder frozen) · grounding lr1e-4 · fold lr2e-5 · real adapter r32 lr1e-4 · ACTIVE_CLASSES=fault · -TOTAL_STEPS 100000 (1 round-robin epoch) · **single seed 42**. - -Trained on **RTX 3090 Ti 24 GB / 62 GB RAM**; Python 3.13, CUDA 12.8, torch 2.10, transformers 5.5, -peft 0.19, trl 0.21. The method is VRAM-agnostic — only compute-layout knobs (batch, grad-ckpt, cache -cap) change to fit smaller GPUs; the identity config, and therefore the result, does not move. - -## Provenance & honest limits - -- **Single run, seed pinned** (`SEED=42` in the training entry points) — not multi-seed averaged. - Small-margin metrics (CRACKS det F1, dip parity, low-count Smeaheia) carry run variance; CUDA kernels - are not bit-deterministic. -- **Masks are pure (DILATE_R 0).** Segmentation numbers are at zero dilation; they are **not** - comparable to any dilated (DILATE_R > 0) evaluation. -- **Two Thebe builds are not comparable.** These A/B weights use the 37,796-patch Kaggle build (pure - masks). Do not compare their mask numbers to any older dilated-mask Thebe result. -- The narrator **copies** measured facts (digit seam); it does not regress numbers and cannot state a - value the reader did not measure. Out-of-domain prompts are answered against the on-screen seismic - scene, not as a general chatbot. - -## License - -Weights released under **CC-BY-4.0** *(confirm/adjust before publishing)*. Derived from -Qwen2.5-1.5B-Instruct (Apache-2.0) via LoRA; respect the upstream licenses of the SFM encoder and each -training dataset. The SFM encoder itself is **not redistributed here** — obtain it from its original release. - -## Citation - -If you use these weights, cite the paper (see the GitHub repo for the current reference) and the -underlying assets: the SFM encoder (Sheng et al., 2023), GeoGPT-CoT-QA, Thebe, CRACKS, and Smeaheia. diff --git a/SFM-Base-512.pth b/SFM-Base-512.pth new file mode 100644 index 0000000000000000000000000000000000000000..280684ebb731549aefa4b8ea7536e42f1b70c5f8 --- /dev/null +++ b/SFM-Base-512.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34e5666dd137dd55ad89c412825d413de0bd5a128babc60df45472b8a43af01c +size 1068528389 diff --git a/ab_experiment/A_joint.pt b/ab_experiment/A_joint.pt index b2044ace9a71566cc49364bdc8c125e6dcef3b81..602655984e889abd89d95fcafa9ed15634afabd3 100644 --- a/ab_experiment/A_joint.pt +++ b/ab_experiment/A_joint.pt @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b84f4adb929bb21fce63cccf4251ddd62e1b7ea76a101e0a77c16e4cdc20fecd -size 42307531 +oid sha256:c9da8be75ff4fdb83adb77b190a2654eecbd353e0078c6545b735df0c06e674e +size 38102180 diff --git a/ab_experiment/B_joint.pt b/ab_experiment/B_joint.pt index 3f9dcef44b6e811d2f6f54a209bb6010f00a2873..96ed9e142aa08490e341b07676d8a03d269f5a9f 100644 --- a/ab_experiment/B_joint.pt +++ b/ab_experiment/B_joint.pt @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ea36b98c83655c201b8f6a7e54824d107dd241f9c69fa345763574db6df12a2b -size 42306665 +oid sha256:0e3f206d83c23897cd5d88bc438db5e6bb93a70ef83ffcf32b31c25e666f7fe7 +size 38107953 diff --git a/ab_experiment/alone_cracks.pt b/ab_experiment/alone_cracks.pt index cbdc7c9219b93f3820bd5d6004dae77fe2e1be84..9172bcd57b0dda3ebac5c1e86e0a74ac9f4d298e 100644 --- a/ab_experiment/alone_cracks.pt +++ b/ab_experiment/alone_cracks.pt @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:60ca3fc038ff72c03e695ac8f2723e88b83ced643e667645b46c280086ed2454 -size 42307966 +oid sha256:78d1f760d3de670a56cf079dce6f39464ebc00d5ad9e93d399bcb75717b19300 +size 38109234 diff --git a/ab_experiment/alone_smeaheia.pt b/ab_experiment/alone_smeaheia.pt index f3eedd061b2544faff621649d3d820bc93f77743..bea8cc8e75f6162ad8b84e3b12b4bf6d8f415fe7 100644 --- a/ab_experiment/alone_smeaheia.pt +++ b/ab_experiment/alone_smeaheia.pt @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5f648d60f10edf4d40d7da96a6c238adcf6b859f978670eeecc50c0993f6d989 -size 42308256 +oid sha256:45161687fcea7488cfb0395daf0fed6497caf77c60c96b630539436dba892c5d +size 38109516 diff --git a/ab_experiment/alone_thebe.pt b/ab_experiment/alone_thebe.pt index a9b1015f5bfe6916656cb81158c92743bf0d67c3..b1d0026343fc6ae076be25a7d8e2a6a68be533f6 100644 --- a/ab_experiment/alone_thebe.pt +++ b/ab_experiment/alone_thebe.pt @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c72e77db042aeddeb88b7ee4e1202d9077a7a91c0e81feab28688d3a6944a369 -size 42307821 +oid sha256:dbc00e31e08037dc66c47eaab7530ec6e9a1c9c478ea8ae3f985eff56de139ce +size 38109093 diff --git a/reader_joint_full.pt b/reader_joint_full.pt new file mode 100644 index 0000000000000000000000000000000000000000..53388d2247ed7661bb26d6f7744225d0b65f7786 --- /dev/null +++ b/reader_joint_full.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7fd2b21a2f74618afd0d13b419271ae43b9cafca99b336a2f36fca17a9f92612 +size 42308691 diff --git a/reader_native2_backup.pt b/reader_native2_backup.pt new file mode 100644 index 0000000000000000000000000000000000000000..90c85a0f02acf15ef3c3679146f9cc666cdc8e1e --- /dev/null +++ b/reader_native2_backup.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb4b89bff759031ff0d50d6bf5903389eb5a336377e2a5cf47bf33447b957a04 +size 38034096 diff --git a/run_all/A_joint.pt b/run_all/A_joint.pt new file mode 100644 index 0000000000000000000000000000000000000000..b2044ace9a71566cc49364bdc8c125e6dcef3b81 --- /dev/null +++ b/run_all/A_joint.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b84f4adb929bb21fce63cccf4251ddd62e1b7ea76a101e0a77c16e4cdc20fecd +size 42307531 diff --git a/B_joint.pt b/run_all/B_joint.pt similarity index 100% rename from B_joint.pt rename to run_all/B_joint.pt diff --git a/run_all/alone_cracks.pt b/run_all/alone_cracks.pt new file mode 100644 index 0000000000000000000000000000000000000000..cbdc7c9219b93f3820bd5d6004dae77fe2e1be84 --- /dev/null +++ b/run_all/alone_cracks.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:60ca3fc038ff72c03e695ac8f2723e88b83ced643e667645b46c280086ed2454 +size 42307966 diff --git a/run_all/alone_smeaheia.pt b/run_all/alone_smeaheia.pt new file mode 100644 index 0000000000000000000000000000000000000000..f3eedd061b2544faff621649d3d820bc93f77743 --- /dev/null +++ b/run_all/alone_smeaheia.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f648d60f10edf4d40d7da96a6c238adcf6b859f978670eeecc50c0993f6d989 +size 42308256 diff --git a/run_all/alone_thebe.pt b/run_all/alone_thebe.pt new file mode 100644 index 0000000000000000000000000000000000000000..a9b1015f5bfe6916656cb81158c92743bf0d67c3 --- /dev/null +++ b/run_all/alone_thebe.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c72e77db042aeddeb88b7ee4e1202d9077a7a91c0e81feab28688d3a6944a369 +size 42307821 diff --git a/run_all/bench_ratio_111.log b/run_all/bench_ratio_111.log new file mode 100644 index 0000000000000000000000000000000000000000..f6e2f97990e82a900965d81b95798dc488583e17 --- /dev/null +++ b/run_all/bench_ratio_111.log @@ -0,0 +1,50 @@ +Skipping import of cpp extensions due to incompatible torch version. Please upgrade to torch >= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/ratio_111.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/50484 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/ratio_433.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/50484 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/ratio_811.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/50484 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_cracks.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/397 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_cracks.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/430 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_cracks.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/50484 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_smeaheia.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/397 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_smeaheia.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/430 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_smeaheia.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/50484 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_thebe.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/397 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_thebe.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/430 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_thebe.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/50484 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_thebe.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/50484 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_thebe.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/397 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_thebe.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/430 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_cracks.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/50484 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_cracks.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/397 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_cracks.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/430 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_smeaheia.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/50484 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_smeaheia.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/397 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_smeaheia.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/430 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/A_joint.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/50484 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/B_joint.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/50484 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_cracks.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/397 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_smeaheia.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/430 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_thebe.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/50484 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_cracks.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/397 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_cracks.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/397 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_cracks.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/397 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_cracks.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/397 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_cracks.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/397 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_smeaheia.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/430 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_smeaheia.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/430 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_smeaheia.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/430 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_smeaheia.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/430 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_smeaheia.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/430 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_thebe.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/50484 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_thebe.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/50484 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_thebe.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/50484 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_thebe.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/50484 [00:00= 2.11.0 (found 2.10.0+cu128). +[SFM] hybrid/checkpoints/SFM-Base-512.pth: ViT dim768 depth12 patch16 in_chans1 img512 tile512 grid32 · trainable_blocks0 · loaded (missing 0, unexpected 0) +[benchmark] hybrid/checkpoints/run_all/alone_thebe.pt · per-dataset (never pooled) · uncapped when N_TEST≥split else random N=100000 + + encode scenes: 0%| | 0/50484 [00:00= 2.11.0 (found 2.10.0+cu128). + encode scenes: 0%| | 0/50484 [00:00= 2.11.0 (found 2.10.0+cu128). + encode scenes: 0%| | 0/397 [00:00= 2.11.0 (found 2.10.0+cu128). + encode scenes: 0%| | 0/430 [00:00= 2.11.0 (found 2.10.0+cu128). + encode scenes: 0%| | 0/50484 [00:00= 2.11.0 (found 2.10.0+cu128). + encode scenes: 0%| | 0/50484 [00:00= 2.11.0 (found 2.10.0+cu128). + encode scenes: 0%| | 0/50484 [00:00= 2.11.0 (found 2.10.0+cu128). + encode scenes: 0%| | 0/50484 [00:00