liantian commited on
Commit
39d721b
·
verified ·
1 Parent(s): 44bec88

F and F-WiSE050 final models (2026-10-14)

Browse files
Files changed (6) hide show
  1. F-WiSE050/WEIGHTS.json +31 -0
  2. F-WiSE050/model.pt +3 -0
  3. F/model.pt +3 -0
  4. F/train-config.yaml +73 -0
  5. MODELS.json +17 -0
  6. README.md +22 -0
F-WiSE050/WEIGHTS.json ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "slurm_job_id": "7389482",
3
+ "outputs": {
4
+ "wise025": {
5
+ "path": "/scratch/u6uv/shanliantian.u6uv/particulate-hinge-final-eval-20261014/weights/wise025.pt",
6
+ "sha256": "1237767c7b9ec08957447a353ef8a75a65a4559e4602b8612b741bd652e60bc4",
7
+ "alpha": 0.25
8
+ },
9
+ "wise050": {
10
+ "path": "/scratch/u6uv/shanliantian.u6uv/particulate-hinge-final-eval-20261014/weights/wise050.pt",
11
+ "sha256": "6287169b912979075d5e9cf19e55b2c9a015342ddc985beee147a8d9c4e18f5e",
12
+ "alpha": 0.5
13
+ },
14
+ "wise075": {
15
+ "path": "/scratch/u6uv/shanliantian.u6uv/particulate-hinge-final-eval-20261014/weights/wise075.pt",
16
+ "sha256": "7a534a993a8b1e925e5844cd6b2bc779f937219ba2cec12dbf659ca705a8e4ea",
17
+ "alpha": 0.75
18
+ }
19
+ },
20
+ "sources": {
21
+ "official": {
22
+ "path": "/lus/lfs1aip2/scratch/u6uv/shanliantian.u6uv/particulate-hinge/hf/Particulate/model.pt",
23
+ "sha256": "ad6f14067dadf85335119199b94e8249401376d5700c9b627c3608594ea99b5c"
24
+ },
25
+ "final": {
26
+ "path": "/lus/lfs1aip2/scratch/u6uv/shanliantian.u6uv/particulate-hinge-repair-20261011/data/runs/aip2/r5-final-20261013-step20000/R4-aip2-train-B_2026-10-14T02-48-50-221269/final_model/model.pt",
27
+ "sha256": "75e15a670102b723d118d32125634d6ae5b4a4507415a98b723eb25f4f67dec6"
28
+ }
29
+ },
30
+ "rule": "(1-a)*official + a*final in float64, cast back; primary a=0.5 pre-registered, others sensitivity"
31
+ }
F-WiSE050/model.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6287169b912979075d5e9cf19e55b2c9a015342ddc985beee147a8d9c4e18f5e
3
+ size 605382674
F/model.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:75e15a670102b723d118d32125634d6ae5b4a4507415a98b723eb25f4f67dec6
3
+ size 605383018
F/train-config.yaml ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ exp_name: R4-aip2-train
2
+ output_dir: /lus/lfs1aip2/scratch/u6uv/shanliantian.u6uv/particulate-hinge-repair-20261011/data/runs/aip2/r5-final-20261013-step20000
3
+ init_checkpoint: null
4
+ scheduler_steps_per_optimizer_step_fix: true
5
+ ddp_find_unused_parameters: true
6
+ fix_empty_revolute_loss: true
7
+ dataset_args:
8
+ dataset_type: OntheFlyArticulated3DDataset
9
+ num_points: 2048
10
+ normalize_points: true
11
+ compute_feat_on_the_fly: true
12
+ sharp_point_ratio: 0.5
13
+ resting_state_prob: 0.25
14
+ max_parts: 16
15
+ ensure_part_coverage: true
16
+ normal_dropout_rate: 0.3
17
+ use_augmentation: true
18
+ random_scale:
19
+ - 0.95
20
+ - 1.05
21
+ random_translation_std: 0.02
22
+ random_rotation_deg_std: 0
23
+ datasets:
24
+ - root: ../data/cached/grscenes-aip2
25
+ data_split_file: ../data/splits/grscenes-object-aip2.json
26
+ sampling_rate: 0.2
27
+ - root: ../data/cached/partnet-aip2
28
+ data_split_file: ../data/splits/partnet-aip2.json
29
+ sampling_rate: 0.45
30
+ - root: ../data/cached/articraft10k-aip2
31
+ data_split_file: ../data/splits/articraft10k-aip2.json
32
+ sampling_rate: 0.25
33
+ - root: ../data/cached/own_articraft-aip2
34
+ data_split_file: ../data/splits/own_articraft-aip2.json
35
+ sampling_rate: 0.1
36
+ batch_size: 16
37
+ num_workers: 8
38
+ samples_per_epoch: 102400
39
+ learning_rate: 1.0e-07
40
+ scale_lr: true
41
+ lr_warmup_steps: 1000
42
+ adam_beta1: 0.9
43
+ adam_beta2: 0.999
44
+ adam_weight_decay: 0.01
45
+ adam_epsilon: 1.0e-08
46
+ max_train_steps: 20000
47
+ stop_after_steps: 20000
48
+ max_grad_norm: 1.0
49
+ gradient_accumulation_steps: 2
50
+ model_type: B
51
+ model_input_dim: 448
52
+ model_dropout: 0.1
53
+ model_use_normals: true
54
+ model_max_parts: 16
55
+ model_use_part_id_embedding: true
56
+ model_use_raw_coords: true
57
+ model_use_point_features_for_motion_decoding: false
58
+ model_num_mask_hypotheses: 1
59
+ model_motion_representation: per_point_closest
60
+ loss_weight_point_mask: 1.0
61
+ loss_weight_dice: 1.0
62
+ loss_weight_motion_hierarchy: 1.0
63
+ loss_weight_part_motion_classification: 1.0
64
+ loss_weight_part_motion_axis_revolute: 1.0
65
+ loss_weight_part_motion_axis_prismatic: 1.0
66
+ loss_weight_part_motion_range_revolute: 0.1
67
+ loss_weight_part_motion_range_prismatic: 1.0
68
+ loss_weight_point_closest_point_on_axis: 1.0
69
+ log_interval: 10
70
+ ckpt_interval: 500
71
+ seed: 42
72
+ logger_type: wandb
73
+ resume_from_checkpoint: /lus/lfs1aip2/scratch/u6uv/shanliantian.u6uv/particulate-hinge-repair-20261011/data/runs/aip2/r5-final-20261013-step16000/R4-aip2-train-B_2026-10-14T00-51-38-315721/checkpoint-0016000
MODELS.json ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "F/model.pt": {
3
+ "sha256": "75e15a670102b723d118d32125634d6ae5b4a4507415a98b723eb25f4f67dec6",
4
+ "what": "official PARTICULATE model.pt + 20k steps continued training, PN .45 / GRScenes-object .20 / Articraft-10K .25 / own .10, global batch 128, peak lr 1.28e-5, seed 42",
5
+ "config": "configs/R5-final-aip2.yaml (git), F/train-config.yaml (run copy)",
6
+ "server_source": "aip2 r5-final-20261013-step20000/R4-aip2-train-B_2026-10-14T02-48-50-221269/final_model/model.pt",
7
+ "model_config": "particulate/configs/particulate-B.yaml (16 parts, official)"
8
+ },
9
+ "F-WiSE050/model.pt": {
10
+ "sha256": "6287169b912979075d5e9cf19e55b2c9a015342ddc985beee147a8d9c4e18f5e",
11
+ "what": "0.5 * official + 0.5 * F, float64 then cast back; alpha fixed before any result (protocol-final.md)",
12
+ "sources": {"official": "ad6f14067dadf85335119199b94e8249401376d5700c9b627c3608594ea99b5c",
13
+ "F": "75e15a670102b723d118d32125634d6ae5b4a4507415a98b723eb25f4f67dec6"},
14
+ "model_config": "particulate/configs/particulate-B.yaml"
15
+ },
16
+ "license_note": "Private. Trained on PartNet-Mobility (non-commercial) and GRScenes (CC BY-NC-SA); do not redistribute."
17
+ }
README.md ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ private: true
3
+ license: other
4
+ ---
5
+ # particulate-hinge final models (private)
6
+
7
+ Continued training of PARTICULATE (arXiv 2512.11798; official weights `rayli/Particulate`), same architecture (16 parts).
8
+
9
+ | File | What |
10
+ |---|---|
11
+ | `F/model.pt` | main model: official weights + 20k steps on PartNet-Mobility .45 / GRScenes-object .20 / Articraft-10K .25 / own generated assets .10 |
12
+ | `F-WiSE050/model.pt` | 0.5·official + 0.5·F weight average (alpha fixed in advance) |
13
+
14
+ sha256 and provenance: `MODELS.json`. Usage, evaluation and results: the project repository (`docs/manual.md`,
15
+ `docs/research/2026-10-13-scaling-regression/RESULTS.md`).
16
+
17
+ ```bash
18
+ cd particulate
19
+ python infer.py --input_mesh mesh.glb --ckpt_path F/model.pt --model_config configs/particulate-B.yaml --up_dir Y
20
+ ```
21
+
22
+ Not for redistribution: training data includes PartNet-Mobility (non-commercial) and GRScenes (CC BY-NC-SA).