Upload V3 strong-fusion Phase-1 checkpoint (500 LUNA16 cases)
Browse filesBest epoch-24 checkpoint with configuration and training record.
- .gitattributes +1 -0
- README.md +31 -0
- best.pth +3 -0
- config.json +58 -0
- phase1_v3_training_curve.png +3 -0
- phase1_v3_training_metrics.csv +31 -0
- train_log.txt +30 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
phase1_v3_training_curve.png filter=lfs diff=lfs merge=lfs -text
|
README.md
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
tags:
|
| 3 |
+
- ct-reconstruction
|
| 4 |
+
- sparse-view-ct
|
| 5 |
+
- x-ray
|
| 6 |
+
- pytorch
|
| 7 |
+
---
|
| 8 |
+
|
| 9 |
+
# NSP V3 strong-fusion Phase-1 prior
|
| 10 |
+
|
| 11 |
+
This release contains the best Phase-1 checkpoint from the V3 strong X-ray
|
| 12 |
+
fusion experiment. It was warm-started from the uploaded v27 prior and trained
|
| 13 |
+
on 500 LUNA16 cases (450 train / 50 held out).
|
| 14 |
+
|
| 15 |
+
## Checkpoint
|
| 16 |
+
|
| 17 |
+
- `best.pth`: best held-out checkpoint, selected at epoch 24
|
| 18 |
+
- Held-out Phase-1 PSNR: **34.862 dB**
|
| 19 |
+
- Input resolution: 128Β³ volume, 25 sparse projections at 64Β²
|
| 20 |
+
- X-ray fusion: strong fusion enabled
|
| 21 |
+
- Null branch: disabled
|
| 22 |
+
|
| 23 |
+
`config.json` records the exact training arguments. `train_log.txt`,
|
| 24 |
+
`phase1_v3_training_curve.png`, and `phase1_v3_training_metrics.csv` provide
|
| 25 |
+
the 30-epoch training record.
|
| 26 |
+
|
| 27 |
+
## Loading
|
| 28 |
+
|
| 29 |
+
Use the V3 `phase_v27/export_prior_v27.py` exporter in this repository and
|
| 30 |
+
pass `best.pth` as its checkpoint. The model architecture must be constructed
|
| 31 |
+
with the matching `config.json` fields before loading the checkpoint.
|
best.pth
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:e36b7d9b48e1b3f62dea45f2a97c6e0b106873c45e2327cf733eabf3f2bfc7be
|
| 3 |
+
size 614928974
|
config.json
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"phase1_root": "/anvil/scratch/x-tding2/data/nsp_r2gs_v3_250/phase1_data/luna500_phase1",
|
| 3 |
+
"synth_root": "/anvil/scratch/x-tding2/data/nsp_r2gs_v3_250/synthetic_dataset/luna500_cone_ntrain_25_angle_360",
|
| 4 |
+
"cache_root": "/anvil/scratch/x-tding2/data/nsp_r2gs_v3_250/phase1_data/_phase1_v3_cache_500",
|
| 5 |
+
"output_dir": "/anvil/scratch/x-tding2/nsp/NSP_R2GS/outputs/v3_strongfusion_warm500_20260716",
|
| 6 |
+
"max_cases": 500,
|
| 7 |
+
"seed": 42,
|
| 8 |
+
"val_ratio": 0.1,
|
| 9 |
+
"strict_pack": false,
|
| 10 |
+
"prepare_packs": true,
|
| 11 |
+
"epochs": 30,
|
| 12 |
+
"batch_size": 1,
|
| 13 |
+
"num_workers": 0,
|
| 14 |
+
"lr": 0.0001,
|
| 15 |
+
"weight_decay": 0.0001,
|
| 16 |
+
"eval_every": 2,
|
| 17 |
+
"save_every": 5,
|
| 18 |
+
"vol_size": 128,
|
| 19 |
+
"proj_size": 64,
|
| 20 |
+
"gap_proj_size": 128,
|
| 21 |
+
"num_sparse_views": 25,
|
| 22 |
+
"num_gap_views": 12,
|
| 23 |
+
"base_ch": 48,
|
| 24 |
+
"ch_mults": "1,2,4,4",
|
| 25 |
+
"num_res_blocks": 2,
|
| 26 |
+
"embed_dim": 256,
|
| 27 |
+
"view_feat_ch": 24,
|
| 28 |
+
"lift_feat_ch": 12,
|
| 29 |
+
"fusion_grid_size": 32,
|
| 30 |
+
"null_ctx_ch": 24,
|
| 31 |
+
"null_hidden_ch": 32,
|
| 32 |
+
"null_gain": 0.1,
|
| 33 |
+
"xray_base_enabled": 1,
|
| 34 |
+
"xray_base_feat_ch": 24,
|
| 35 |
+
"xray_token_dim": 48,
|
| 36 |
+
"xray_token_grid_size": 4,
|
| 37 |
+
"xray_num_heads": 4,
|
| 38 |
+
"xray_num_layers": 2,
|
| 39 |
+
"xray_guidance_hidden_ch": 16,
|
| 40 |
+
"xray_fusion_mode": "strong",
|
| 41 |
+
"xray_fusion_feat_ch": 32,
|
| 42 |
+
"use_null_branch": 0,
|
| 43 |
+
"base_ctx_ch": 24,
|
| 44 |
+
"grad_loss_weight": 0.2,
|
| 45 |
+
"base_l1_weight": 0.35,
|
| 46 |
+
"base_grad_weight": 0.05,
|
| 47 |
+
"null_fourier_weight": 0.08,
|
| 48 |
+
"null_fourier_warmup": 12,
|
| 49 |
+
"null_fourier_mode": "mse",
|
| 50 |
+
"null_fourier_freq_min": 0.0,
|
| 51 |
+
"null_fourier_freq_max": 0.35,
|
| 52 |
+
"obs_consistency_weight": 0.02,
|
| 53 |
+
"null_l1_weight": 0.02,
|
| 54 |
+
"pred_activation": "none",
|
| 55 |
+
"softclamp_tau": 0.05,
|
| 56 |
+
"resume": "/anvil/scratch/x-tding2/nsp/NSP_R2GS_pre_sync_20260714/diffusion_prior/checkpoints/v27_decouplednull_250/best.pth",
|
| 57 |
+
"resume_optimizer": false
|
| 58 |
+
}
|
phase1_v3_training_curve.png
ADDED
|
Git LFS Details
|
phase1_v3_training_metrics.csv
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
epoch,loss_total,loss_full,loss_grad_raw,loss_grad_weighted,val_psnr_db
|
| 2 |
+
1,0.010857,0.010108,0.003746,0.0007492000000000001,33.94
|
| 3 |
+
2,0.010536,0.009806,0.003652,0.0007304,33.95
|
| 4 |
+
3,0.010277,0.009561,0.003577,0.0007154,
|
| 5 |
+
4,0.010067,0.009364,0.003513,0.0007026000000000001,33.85
|
| 6 |
+
5,0.009909,0.009215,0.003471,0.0006942000000000001,
|
| 7 |
+
6,0.009756,0.009071,0.003423,0.0006846,34.07
|
| 8 |
+
7,0.009556,0.008881,0.003376,0.0006752,
|
| 9 |
+
8,0.009454,0.008789,0.003324,0.0006648000000000001,34.43
|
| 10 |
+
9,0.009253,0.008597,0.00328,0.000656,
|
| 11 |
+
10,0.009143,0.008494,0.003242,0.0006484,34.45
|
| 12 |
+
11,0.008934,0.008297,0.003187,0.0006374000000000001,
|
| 13 |
+
12,0.008812,0.008181,0.003153,0.0006306,34.43
|
| 14 |
+
13,0.00869,0.008068,0.003112,0.0006224000000000001,
|
| 15 |
+
14,0.008587,0.007971,0.003081,0.0006162,34.64
|
| 16 |
+
15,0.008404,0.007799,0.003028,0.0006056,
|
| 17 |
+
16,0.008285,0.007685,0.002998,0.0005996,34.72
|
| 18 |
+
17,0.008198,0.007605,0.002967,0.0005934,
|
| 19 |
+
18,0.008069,0.007482,0.002931,0.0005862,34.6
|
| 20 |
+
19,0.007917,0.007339,0.002886,0.0005772,
|
| 21 |
+
20,0.007822,0.00725,0.002857,0.0005714,34.65
|
| 22 |
+
21,0.007724,0.007159,0.002826,0.0005652,
|
| 23 |
+
22,0.007613,0.007053,0.002796,0.0005592,34.82
|
| 24 |
+
23,0.007522,0.006969,0.002768,0.0005536,
|
| 25 |
+
24,0.007447,0.006898,0.002746,0.0005492,34.86
|
| 26 |
+
25,0.00739,0.006845,0.002728,0.0005456,
|
| 27 |
+
26,0.007337,0.006794,0.002712,0.0005424000000000001,34.86
|
| 28 |
+
27,0.007297,0.006757,0.002699,0.0005398,
|
| 29 |
+
28,0.007267,0.006729,0.00269,0.0005380000000000001,34.83
|
| 30 |
+
29,0.007245,0.006708,0.002684,0.0005368,
|
| 31 |
+
30,0.007234,0.006698,0.002681,0.0005362,34.83
|
train_log.txt
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[Epoch 001/30] loss=0.010857 (full=0.010108 grad=0.003746 base=0.000000 base_g=0.000000 null_fft=0.000000 null_l1=0.000000 obs=0.000000 wn=0.0000) lr=9.97e-05 time=338.5s | val: final=33.94dB base=33.94dB obs=22.91dB null_res=0.0305 base_null=0.0305 obs_leak=0.0000 β
|
| 2 |
+
[Epoch 002/30] loss=0.010536 (full=0.009806 grad=0.003652 base=0.000000 base_g=0.000000 null_fft=0.000000 null_l1=0.000000 obs=0.000000 wn=0.0000) lr=9.89e-05 time=337.7s | val: final=33.95dB base=33.95dB obs=22.91dB null_res=0.0303 base_null=0.0303 obs_leak=0.0000 β
|
| 3 |
+
[Epoch 003/30] loss=0.010277 (full=0.009561 grad=0.003577 base=0.000000 base_g=0.000000 null_fft=0.000000 null_l1=0.000000 obs=0.000000 wn=0.0000) lr=9.76e-05 time=332.7s
|
| 4 |
+
[Epoch 004/30] loss=0.010067 (full=0.009364 grad=0.003513 base=0.000000 base_g=0.000000 null_fft=0.000000 null_l1=0.000000 obs=0.000000 wn=0.0000) lr=9.57e-05 time=331.3s | val: final=33.85dB base=33.85dB obs=22.91dB null_res=0.0302 base_null=0.0302 obs_leak=0.0000
|
| 5 |
+
[Epoch 005/30] loss=0.009909 (full=0.009215 grad=0.003471 base=0.000000 base_g=0.000000 null_fft=0.000000 null_l1=0.000000 obs=0.000000 wn=0.0000) lr=9.34e-05 time=332.4s
|
| 6 |
+
[Epoch 006/30] loss=0.009756 (full=0.009071 grad=0.003423 base=0.000000 base_g=0.000000 null_fft=0.000000 null_l1=0.000000 obs=0.000000 wn=0.0000) lr=9.05e-05 time=330.5s | val: final=34.07dB base=34.07dB obs=22.91dB null_res=0.0297 base_null=0.0297 obs_leak=0.0000 β
|
| 7 |
+
[Epoch 007/30] loss=0.009556 (full=0.008881 grad=0.003376 base=0.000000 base_g=0.000000 null_fft=0.000000 null_l1=0.000000 obs=0.000000 wn=0.0000) lr=8.73e-05 time=330.7s
|
| 8 |
+
[Epoch 008/30] loss=0.009454 (full=0.008789 grad=0.003324 base=0.000000 base_g=0.000000 null_fft=0.000000 null_l1=0.000000 obs=0.000000 wn=0.0000) lr=8.36e-05 time=331.1s | val: final=34.43dB base=34.43dB obs=22.91dB null_res=0.0288 base_null=0.0288 obs_leak=0.0000 β
|
| 9 |
+
[Epoch 009/30] loss=0.009253 (full=0.008597 grad=0.003280 base=0.000000 base_g=0.000000 null_fft=0.000000 null_l1=0.000000 obs=0.000000 wn=0.0000) lr=7.96e-05 time=331.6s
|
| 10 |
+
[Epoch 010/30] loss=0.009143 (full=0.008494 grad=0.003242 base=0.000000 base_g=0.000000 null_fft=0.000000 null_l1=0.000000 obs=0.000000 wn=0.0000) lr=7.52e-05 time=330.5s | val: final=34.45dB base=34.45dB obs=22.91dB null_res=0.0286 base_null=0.0286 obs_leak=0.0000 β
|
| 11 |
+
[Epoch 011/30] loss=0.008934 (full=0.008297 grad=0.003187 base=0.000000 base_g=0.000000 null_fft=0.000000 null_l1=0.000000 obs=0.000000 wn=0.0000) lr=7.06e-05 time=333.6s
|
| 12 |
+
[Epoch 012/30] loss=0.008812 (full=0.008181 grad=0.003153 base=0.000000 base_g=0.000000 null_fft=0.000000 null_l1=0.000000 obs=0.000000 wn=0.0000) lr=6.58e-05 time=331.0s | val: final=34.43dB base=34.43dB obs=22.91dB null_res=0.0283 base_null=0.0283 obs_leak=0.0000
|
| 13 |
+
[Epoch 013/30] loss=0.008690 (full=0.008068 grad=0.003112 base=0.000000 base_g=0.000000 null_fft=0.000000 null_l1=0.000000 obs=0.000000 wn=0.0000) lr=6.08e-05 time=332.5s
|
| 14 |
+
[Epoch 014/30] loss=0.008587 (full=0.007971 grad=0.003081 base=0.000000 base_g=0.000000 null_fft=0.000000 null_l1=0.000000 obs=0.000000 wn=0.0000) lr=5.57e-05 time=332.6s | val: final=34.64dB base=34.64dB obs=22.91dB null_res=0.0280 base_null=0.0280 obs_leak=0.0000 β
|
| 15 |
+
[Epoch 015/30] loss=0.008404 (full=0.007799 grad=0.003028 base=0.000000 base_g=0.000000 null_fft=0.000000 null_l1=0.000000 obs=0.000000 wn=0.0000) lr=5.05e-05 time=331.7s
|
| 16 |
+
[Epoch 016/30] loss=0.008285 (full=0.007685 grad=0.002998 base=0.000000 base_g=0.000000 null_fft=0.000000 null_l1=0.000000 obs=0.000000 wn=0.0000) lr=4.53e-05 time=332.2s | val: final=34.72dB base=34.72dB obs=22.91dB null_res=0.0278 base_null=0.0278 obs_leak=0.0000 β
|
| 17 |
+
[Epoch 017/30] loss=0.008198 (full=0.007605 grad=0.002967 base=0.000000 base_g=0.000000 null_fft=0.000000 null_l1=0.000000 obs=0.000000 wn=0.0000) lr=4.02e-05 time=331.6s
|
| 18 |
+
[Epoch 018/30] loss=0.008069 (full=0.007482 grad=0.002931 base=0.000000 base_g=0.000000 null_fft=0.000000 null_l1=0.000000 obs=0.000000 wn=0.0000) lr=3.52e-05 time=326.1s | val: final=34.60dB base=34.60dB obs=22.91dB null_res=0.0279 base_null=0.0279 obs_leak=0.0000
|
| 19 |
+
[Epoch 019/30] loss=0.007917 (full=0.007339 grad=0.002886 base=0.000000 base_g=0.000000 null_fft=0.000000 null_l1=0.000000 obs=0.000000 wn=0.0000) lr=3.04e-05 time=325.6s
|
| 20 |
+
[Epoch 020/30] loss=0.007822 (full=0.007250 grad=0.002857 base=0.000000 base_g=0.000000 null_fft=0.000000 null_l1=0.000000 obs=0.000000 wn=0.0000) lr=2.58e-05 time=326.0s | val: final=34.65dB base=34.65dB obs=22.91dB null_res=0.0277 base_null=0.0277 obs_leak=0.0000
|
| 21 |
+
[Epoch 021/30] loss=0.007724 (full=0.007159 grad=0.002826 base=0.000000 base_g=0.000000 null_fft=0.000000 null_l1=0.000000 obs=0.000000 wn=0.0000) lr=2.14e-05 time=327.2s
|
| 22 |
+
[Epoch 022/30] loss=0.007613 (full=0.007053 grad=0.002796 base=0.000000 base_g=0.000000 null_fft=0.000000 null_l1=0.000000 obs=0.000000 wn=0.0000) lr=1.74e-05 time=326.8s | val: final=34.82dB base=34.82dB obs=22.91dB null_res=0.0276 base_null=0.0276 obs_leak=0.0000 β
|
| 23 |
+
[Epoch 023/30] loss=0.007522 (full=0.006969 grad=0.002768 base=0.000000 base_g=0.000000 null_fft=0.000000 null_l1=0.000000 obs=0.000000 wn=0.0000) lr=1.37e-05 time=326.4s
|
| 24 |
+
[Epoch 024/30] loss=0.007447 (full=0.006898 grad=0.002746 base=0.000000 base_g=0.000000 null_fft=0.000000 null_l1=0.000000 obs=0.000000 wn=0.0000) lr=1.05e-05 time=325.7s | val: final=34.86dB base=34.86dB obs=22.91dB null_res=0.0275 base_null=0.0275 obs_leak=0.0000 β
|
| 25 |
+
[Epoch 025/30] loss=0.007390 (full=0.006845 grad=0.002728 base=0.000000 base_g=0.000000 null_fft=0.000000 null_l1=0.000000 obs=0.000000 wn=0.0000) lr=7.63e-06 time=325.5s
|
| 26 |
+
[Epoch 026/30] loss=0.007337 (full=0.006794 grad=0.002712 base=0.000000 base_g=0.000000 null_fft=0.000000 null_l1=0.000000 obs=0.000000 wn=0.0000) lr=5.28e-06 time=325.4s | val: final=34.86dB base=34.86dB obs=22.91dB null_res=0.0275 base_null=0.0275 obs_leak=0.0000
|
| 27 |
+
[Epoch 027/30] loss=0.007297 (full=0.006757 grad=0.002699 base=0.000000 base_g=0.000000 null_fft=0.000000 null_l1=0.000000 obs=0.000000 wn=0.0000) lr=3.42e-06 time=325.2s
|
| 28 |
+
[Epoch 028/30] loss=0.007267 (full=0.006729 grad=0.002690 base=0.000000 base_g=0.000000 null_fft=0.000000 null_l1=0.000000 obs=0.000000 wn=0.0000) lr=2.08e-06 time=325.7s | val: final=34.83dB base=34.83dB obs=22.91dB null_res=0.0276 base_null=0.0276 obs_leak=0.0000
|
| 29 |
+
[Epoch 029/30] loss=0.007245 (full=0.006708 grad=0.002684 base=0.000000 base_g=0.000000 null_fft=0.000000 null_l1=0.000000 obs=0.000000 wn=0.0000) lr=1.27e-06 time=326.9s
|
| 30 |
+
[Epoch 030/30] loss=0.007234 (full=0.006698 grad=0.002681 base=0.000000 base_g=0.000000 null_fft=0.000000 null_l1=0.000000 obs=0.000000 wn=0.0000) lr=1.00e-06 time=326.0s | val: final=34.83dB base=34.83dB obs=22.91dB null_res=0.0276 base_null=0.0276 obs_leak=0.0000
|