robotyingtang commited on
Commit
63894b3
·
verified ·
1 Parent(s): a5c6db8

Upload PRISM model-only checkpoints

Browse files
README.md CHANGED
@@ -1,3 +1,66 @@
1
  ---
2
- license: apache-2.0
 
 
 
 
 
 
 
 
 
 
3
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ license: mit
3
+ tags:
4
+ - computer-vision
5
+ - multi-task-learning
6
+ - vision-foundation-models
7
+ - mixture-of-experts
8
+ - icml-2026
9
+ datasets:
10
+ - imagenet-1k
11
+ - pascal-context
12
+ - nyud-v2
13
  ---
14
+
15
+ # PRISM Checkpoints
16
+
17
+ This repository hosts model-only checkpoints for **PRISM: Synergizing Vision Foundation Models via Self-organized Expert Specialization**.
18
+
19
+ Paper: https://arxiv.org/abs/2606.03444
20
+
21
+ Code: https://github.com/robotyingtang/PRISM-VFM
22
+
23
+ ## Files
24
+
25
+ ```text
26
+ checkpoints/
27
+ prism_stage1_vit_b.pth
28
+ prism_stage1_vit_l.pth
29
+ prism_stage2_pascal_vit_b.pth
30
+ prism_stage2_pascal_vit_l.pth
31
+ prism_stage2_nyud_vit_b.pth
32
+ configs/
33
+ prism_stage1_vit_b.yml
34
+ prism_stage1_vit_l.yml
35
+ prism_stage2_pascal_vit_b.yml
36
+ prism_stage2_pascal_vit_l.yml
37
+ prism_stage2_nyud_vit_b.yml
38
+ ```
39
+
40
+ The `.pth` files contain only the `model` state dict. Optimizer state, scheduler state, epoch counters, and other training metadata are removed.
41
+
42
+ ## Usage
43
+
44
+ ```bash
45
+ hf download iiirobot/PRISM-VFM checkpoints/prism_stage2_pascal_vit_b.pth --local-dir pretrain/prism
46
+ ```
47
+
48
+ ```bash
49
+ python test_condition_moe.py \
50
+ --exp prism_s2_pascal \
51
+ --config_path configs/s2_prism/pascal_s2.yml \
52
+ --checkpoint pretrain/prism/checkpoints/prism_stage2_pascal_vit_b.pth \
53
+ --results_dir results \
54
+ --evaluate
55
+ ```
56
+
57
+ ## Citation
58
+
59
+ ```bibtex
60
+ @inproceedings{tang2026prism,
61
+ title={PRISM: Synergizing Vision Foundation Models via Self-organized Expert Specialization},
62
+ author={Ying Tang and Dong Li and Youjia Zhang and Zikai Song and Junqing Yu and Wei Yang},
63
+ booktitle={Proceedings of the 43rd International Conference on Machine Learning},
64
+ year={2026}
65
+ }
66
+ ```
checkpoints/prism_stage1_vit_b.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1e815c3d1963b67976b60397fde0226c9ba05707f537325bc7a8ab751c74659a
3
+ size 1648402728
checkpoints/prism_stage1_vit_l.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:258e9d371686ccce93768233bbfe34da7830f862845924c54ade0e21e9b340f5
3
+ size 3515493368
checkpoints/prism_stage2_nyud_vit_b.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:dafbb49b60518e82e7b5c692d0fcb6c09446146a1c3073fc0888e7976d363e0a
3
+ size 1744363606
checkpoints/prism_stage2_pascal_vit_b.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a5f5d7733e33870ca7d6dea2ef778b744a7f9c36508285f9f357aea71e9c541d
3
+ size 1768000682
checkpoints/prism_stage2_pascal_vit_l.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:563220d9a87b6e105444339d5e92c6bffc3e61868ba486d51a2c44735d3160dc
3
+ size 3727375722
configs/prism_stage1_vit_b.yml ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ results_dir: ./results/
2
+
3
+ dataset: imagenet
4
+ tr_batch: 20
5
+ val_batch: 20
6
+ nworkers: 4
7
+
8
+ teachers:
9
+ dinov2:
10
+ backbone_type: dinov2_large
11
+ checkpoint_path: pretrain/vfm/dinov2_vitl14_pretrain.bin
12
+ clip:
13
+ backbone_type: timmclip_large
14
+ checkpoint_path: pretrain/vfm/vit_large_patch16_clip_336.bin
15
+ sam:
16
+ backbone_type: sam_large
17
+ checkpoint_path: pretrain/vfm/samvit_large_patch16.bin
18
+ student:
19
+ backbone:
20
+ backbone_type: condition_moe_prism
21
+ vit_name: vit_base
22
+ vit_pretrained: False
23
+ down_ratio: 4
24
+ aligner: True
25
+ freeze_vit: False
26
+
27
+ moe_type: gated
28
+ router_type: no_structure_router
29
+
30
+ gate_constraint_ranges: [ [ 0.5, 1.0 ],
31
+ [ 0.5, 1.0 ],
32
+ [ 0.5, 1.0 ],
33
+ [ 0.5, 1.0 ] ]
34
+ condition_dim:
35
+ num_moe_experts: 15
36
+ moe_top_k: 3
37
+ expert_hidden_ratio: 4.0
38
+
39
+ moe_layers_indices: [2, 5, 8, 11]
40
+ noisy_gating: True
41
+ vfm_projection_configs:
42
+ vfm_projector_type: mlp
43
+ vit_checkpoint_path:
44
+
45
+ out_indices_cfg_for_task:
46
+ small: [ 2, 5, 8, 11 ]
47
+ base: [2, 5, 8, 11]
48
+ large: [ 5, 11, 17, 23 ]
49
+ huge: [ 7, 15, 23, 31 ]
50
+ giant: [ 9, 19, 29, 39 ]
51
+ so: [ 6, 13, 20, 26 ]
52
+
53
+ vit_type: conditioned_moe
54
+ teacher_output_indices: [5, 11, 17, 23]
55
+ loss_type: cos+l1+decorrelation
56
+
57
+ max_epochs: 30
58
+ base_lr: 1e-3
59
+ weight_decay: 0.01
60
+ warmup_epochs: 2
61
+ grad_clip: 1.0
62
+ save_freq: 5
configs/prism_stage1_vit_l.yml ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ results_dir: ./results/
2
+
3
+ dataset: imagenet
4
+ tr_batch: 64
5
+ val_batch: 64
6
+ nworkers: 8
7
+
8
+ teachers:
9
+ dinov2:
10
+ backbone_type: dinov2_large
11
+ checkpoint_path: pretrain/vfm/dinov2_vitl14_pretrain.bin
12
+ clip:
13
+ backbone_type: timmclip_large
14
+ checkpoint_path: pretrain/vfm/vit_large_patch16_clip_336.bin
15
+ sam:
16
+ backbone_type: sam_large
17
+ checkpoint_path: pretrain/vfm/samvit_large_patch16.bin
18
+ student:
19
+ backbone:
20
+ backbone_type: condition_moe_prism
21
+ vit_name: vit_large
22
+ vit_pretrained: False
23
+ down_ratio: 4
24
+ aligner: True
25
+ freeze_vit: False
26
+
27
+ moe_type: gated
28
+ router_type: no_structure_router
29
+
30
+ gate_constraint_ranges: [ [ 0.5, 1.0 ],
31
+ [ 0.5, 1.0 ],
32
+ [ 0.5, 1.0 ],
33
+ [ 0.5, 1.0 ] ]
34
+ condition_dim:
35
+ num_moe_experts: 15
36
+ moe_top_k: 3
37
+ expert_hidden_ratio: 4.0
38
+
39
+ moe_layers_indices: [ 5, 11, 17, 23 ]
40
+ noisy_gating: True
41
+ vfm_projection_configs:
42
+ vfm_projector_type: mlp
43
+ vit_checkpoint_path:
44
+
45
+ out_indices_cfg_for_task:
46
+ small: [ 2, 5, 8, 11 ]
47
+ base: [2, 5, 8, 11]
48
+ large: [ 5, 11, 17, 23 ]
49
+ huge: [ 7, 15, 23, 31 ]
50
+ giant: [ 9, 19, 29, 39 ]
51
+ so: [ 6, 13, 20, 26 ]
52
+
53
+ vit_type: conditioned_moe
54
+ teacher_output_indices: [5, 11, 17, 23]
55
+ loss_type: cos+l1+decorrelation
56
+
57
+ max_epochs: 30
58
+ base_lr: 1e-3
59
+ weight_decay: 0.01
60
+ warmup_epochs: 2
61
+ grad_clip: 1.0
62
+ save_freq: 5
configs/prism_stage2_nyud_vit_b.yml ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ results_dir: ./results/
2
+
3
+ dataset: nyud
4
+ tr_batch: 4
5
+ val_batch: 8
6
+ nworkers: 4
7
+ task_dict:
8
+ semseg: 1
9
+ normals: 1
10
+ edge: 1
11
+ depth: 1
12
+
13
+ teachers:
14
+
15
+ dinov2:
16
+ backbone_type: dinov2_large
17
+ checkpoint_path: pretrain/vfm/dinov2_vitl14_pretrain.bin
18
+ clip:
19
+ backbone_type: timmclip_large
20
+ checkpoint_path: pretrain/vfm/vit_large_patch16_clip_336.bin
21
+ sam:
22
+ backbone_type: sam_large
23
+ checkpoint_path: pretrain/vfm/samvit_large_patch16.bin
24
+
25
+ student:
26
+ backbone:
27
+ backbone_type: condition_moe_prism
28
+ vit_name: vit_base
29
+ vit_pretrained: False
30
+ down_ratio: 4
31
+ aligner: False
32
+ freeze_vit: False
33
+ moe_type: gated
34
+ router_type: no_structure_router
35
+ gate_constraint_ranges: [ [ 0.5, 1.0 ],
36
+ [ 0.5, 1.0 ],
37
+ [ 0.5, 1.0 ],
38
+ [ 0.5, 1.0 ] ]
39
+
40
+ condition_dim:
41
+ num_moe_experts: 15
42
+ expert_hidden_ratio: 4.0
43
+ moe_top_k: 3
44
+ moe_layers_indices: [ 2, 5, 8, 11 ]
45
+ noisy_gating: True
46
+ vfm_projection_configs:
47
+ vfm_projector_type: mlp
48
+ vit_checkpoint_path:
49
+ vfm_training: True
50
+ out_indices_cfg_for_task:
51
+ small: [ 2, 5, 8, 11 ]
52
+ base: [ 2, 5, 8, 11 ]
53
+ large: [ 5, 11, 17, 23 ]
54
+ huge: [ 7, 15, 23, 31 ]
55
+ giant: [ 9, 19, 29, 39 ]
56
+ so: [ 6, 13, 20, 26 ]
57
+ vit_type: conditioned_moe
58
+
59
+ teacher_output_indices: [5, 11, 17, 23]
60
+ loss_type: cos+l1+decorrelation
61
+
62
+ max_epochs: 0
63
+ max_iters: 40000
64
+ eval_freq: 2
65
+ base_lr: 2e-5
66
+ weight_decay: 1e-6
67
+ grad_clip: 10
configs/prism_stage2_pascal_vit_b.yml ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ results_dir: ./results/
2
+
3
+ dataset: pascalcontext
4
+ tr_batch: 3
5
+ val_batch: 8
6
+ nworkers: 2
7
+ task_dict:
8
+ semseg: 1
9
+ human_parts: 1
10
+ normals: 1
11
+ edge: 1
12
+ sal: 1
13
+
14
+ teachers:
15
+ dinov2:
16
+ backbone_type: dinov2_large
17
+ checkpoint_path: pretrain/vfm/dinov2_vitl14_pretrain.bin
18
+ embed_dim: 1024
19
+ clip:
20
+ backbone_type: timmclip_large
21
+ checkpoint_path: pretrain/vfm/vit_large_patch16_clip_336.bin
22
+ embed_dim: 1024
23
+ sam:
24
+ backbone_type: sam_large
25
+ checkpoint_path: pretrain/vfm/samvit_large_patch16.bin
26
+ embed_dim: 1024
27
+
28
+ student:
29
+ backbone:
30
+ backbone_type: condition_moe_prism
31
+ vit_name: vit_base
32
+ vit_pretrained: False
33
+ down_ratio: 4
34
+ aligner: False
35
+ freeze_vit: False
36
+
37
+ moe_type: gated
38
+ router_type: no_structure_router
39
+ gate_constraint_ranges: [ [ 0.5, 1.0 ],
40
+ [ 0.5, 1.0 ],
41
+ [ 0.5, 1.0 ],
42
+ [ 0.5, 1.0 ] ]
43
+
44
+ condition_dim:
45
+ num_moe_experts: 15
46
+ expert_hidden_ratio: 4.0
47
+ moe_top_k: 3
48
+ moe_layers_indices: [2, 5, 8, 11]
49
+ noisy_gating: True
50
+ vfm_projection_configs:
51
+ vfm_projector_type: mlp
52
+ vit_checkpoint_path:
53
+ vfm_training: True
54
+ out_indices_cfg_for_task:
55
+ small: [ 2, 5, 8, 11 ]
56
+ base: [2, 5, 8, 11]
57
+ large: [ 5, 11, 17, 23 ]
58
+ huge: [ 7, 15, 23, 31 ]
59
+ giant: [ 9, 19, 29, 39 ]
60
+ so: [ 6, 13, 20, 26 ]
61
+ vit_type: conditioned_moe
62
+
63
+ teacher_output_indices: [5, 11, 17, 23]
64
+ loss_type: cos+l1+decorrelation
65
+
66
+ max_epochs: 50
67
+ max_iters: 40000
68
+ eval_freq: 2
69
+ base_lr: 2e-5
70
+ weight_decay: 1e-6
71
+ grad_clip: 10
configs/prism_stage2_pascal_vit_l.yml ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ results_dir: ./results/
2
+
3
+ dataset: pascalcontext
4
+ tr_batch: 6
5
+ val_batch: 12
6
+ nworkers: 4
7
+ task_dict:
8
+ semseg: 1
9
+ human_parts: 1
10
+ normals: 1
11
+ edge: 1
12
+ sal: 1
13
+
14
+ teachers:
15
+ dinov2:
16
+ backbone_type: dinov2_large
17
+ checkpoint_path: pretrain/vfm/dinov2_vitl14_pretrain.bin
18
+ clip:
19
+ backbone_type: timmclip_large
20
+ checkpoint_path: pretrain/vfm/vit_large_patch16_clip_336.bin
21
+ sam:
22
+ backbone_type: sam_large
23
+ checkpoint_path: pretrain/vfm/samvit_large_patch16.bin
24
+
25
+ student:
26
+ backbone:
27
+ backbone_type: condition_moe_prism
28
+ vit_name: vit_large
29
+ vit_pretrained: False
30
+ down_ratio: 4
31
+ aligner: False
32
+ freeze_vit: False
33
+
34
+ moe_type: gated
35
+ router_type: no_structure_router
36
+ gate_constraint_ranges: [ [ 0.5, 1.0 ],
37
+ [ 0.5, 1.0 ],
38
+ [ 0.5, 1.0 ],
39
+ [ 0.5, 1.0 ] ]
40
+
41
+ condition_dim:
42
+ num_moe_experts: 15
43
+ expert_hidden_ratio: 4.0
44
+ moe_top_k: 3
45
+ moe_layers_indices: [ 5, 11, 17, 23 ]
46
+ noisy_gating: True
47
+ vfm_projection_configs:
48
+ vfm_projector_type: mlp
49
+ vit_checkpoint_path:
50
+ vfm_training: True
51
+ out_indices_cfg_for_task:
52
+ small: [ 2, 5, 8, 11 ]
53
+ base: [2, 5, 8, 11]
54
+ large: [ 5, 11, 17, 23 ]
55
+ huge: [ 7, 15, 23, 31 ]
56
+ giant: [ 9, 19, 29, 39 ]
57
+ so: [ 6, 13, 20, 26 ]
58
+ vit_type: conditioned_moe
59
+
60
+ teacher_output_indices: [5, 11, 17, 23]
61
+ loss_type: cos+l1+decorrelation
62
+
63
+ max_epochs: 0
64
+ max_iters: 50000
65
+ eval_freq: 2
66
+ base_lr: 2e-5
67
+ weight_decay: 1e-6
68
+ grad_clip: 10