Potestates commited on
Commit
d64e483
Β·
verified Β·
1 Parent(s): 5d61082

Upload V3 strong-fusion Phase-1 checkpoint (500 LUNA16 cases)

Browse files

Best epoch-24 checkpoint with configuration and training record.

.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

  • SHA256: 9ef5b280c2d39191b0ec63f03a277ab343039bfaabee652890b375c870b258b7
  • Pointer size: 131 Bytes
  • Size of remote file: 139 kB
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