F and F-WiSE050 final models (2026-10-14)
Browse files- F-WiSE050/WEIGHTS.json +31 -0
- F-WiSE050/model.pt +3 -0
- F/model.pt +3 -0
- F/train-config.yaml +73 -0
- MODELS.json +17 -0
- 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).
|