youngsm commited on
Commit
b5ec311
·
verified ·
1 Parent(s): 1df1128

Add pimm export (repackaged from DeepLearnPhysics/panda)

Browse files
Files changed (3) hide show
  1. README.md +45 -1
  2. model.safetensors +3 -0
  3. training_config.json +100 -0
README.md CHANGED
@@ -1,3 +1,47 @@
1
  ---
2
- license: mit
 
 
 
 
 
3
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ library_name: pimm
3
+ tags:
4
+ - particle-physics
5
+ - lartpc
6
+ - point-cloud
7
+ - point-transformer-v3
8
  ---
9
+
10
+ # Panda — semantic segmentation
11
+
12
+ A 5-class semantic segmentation model for LArTPC images: a
13
+ PointTransformerV3 encoder–decoder backbone with a linear per-point classification
14
+ head.
15
+
16
+ - **pimm type:** `DefaultSegmentorV2`
17
+ - **classes:** 5 · **backbone_out_channels:** 64
18
+ - Backbone is the full PTv3 encoder–decoder (`enc_mode=False`).
19
+
20
+ ## Loading
21
+
22
+ ```python
23
+ import pimm
24
+ model = pimm.from_pretrained("hf://deeplearnphysics/panda-semantic")
25
+ ```
26
+
27
+ The architecture and all hyper-parameters are carried in `training_config.json`,
28
+ so no config file is needed. Weights are bitwise-identical to the original
29
+ checkpoint.
30
+
31
+ ## Input
32
+
33
+ A pimm `Point` dict for LArTPC (PILArNet) point clouds: `coord` (xyz) + `energy`,
34
+ collected as `feat_keys=("coord", "energy")` (4 input channels). Coordinates are
35
+ normalized in the model forward.
36
+
37
+ ## Notes
38
+
39
+ - Config sets `enable_flash=True`. On CPU or non-FlashAttention setups, override
40
+ it (e.g. pass `enable_flash=False` to `from_pretrained`, or for detectors set it
41
+ on the `backbone`).
42
+
43
+ ## Provenance
44
+
45
+ Repackaged from the original [`DeepLearnPhysics/panda`](https://github.com/DeepLearnPhysics/panda) checkpoints into the
46
+ [`pimm`](https://github.com/youngsm/particle-imaging-models) export format. Inherits
47
+ the license of the source repository.
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3fb0f605cb4c5ad80a9df967d47f1320c1f4221c3df2109544b1bd9e7476f04b
3
+ size 428442196
training_config.json ADDED
@@ -0,0 +1,100 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model": {
3
+ "type": "DefaultSegmentorV2",
4
+ "num_classes": 5,
5
+ "backbone_out_channels": 64,
6
+ "freeze_backbone": false,
7
+ "backbone": {
8
+ "type": "PT-v3m2",
9
+ "in_channels": 4,
10
+ "order": [
11
+ "hilbert",
12
+ "hilbert-trans",
13
+ "z",
14
+ "z-trans"
15
+ ],
16
+ "stride": [
17
+ 2,
18
+ 2,
19
+ 2,
20
+ 2
21
+ ],
22
+ "enc_depths": [
23
+ 3,
24
+ 3,
25
+ 3,
26
+ 9,
27
+ 3
28
+ ],
29
+ "enc_channels": [
30
+ 48,
31
+ 96,
32
+ 192,
33
+ 384,
34
+ 512
35
+ ],
36
+ "enc_num_head": [
37
+ 3,
38
+ 6,
39
+ 12,
40
+ 24,
41
+ 32
42
+ ],
43
+ "enc_patch_size": [
44
+ 256,
45
+ 256,
46
+ 256,
47
+ 256,
48
+ 256
49
+ ],
50
+ "dec_depths": [
51
+ 2,
52
+ 2,
53
+ 2,
54
+ 2
55
+ ],
56
+ "dec_channels": [
57
+ 64,
58
+ 96,
59
+ 192,
60
+ 384
61
+ ],
62
+ "dec_num_head": [
63
+ 4,
64
+ 6,
65
+ 12,
66
+ 24
67
+ ],
68
+ "dec_patch_size": [
69
+ 256,
70
+ 256,
71
+ 256,
72
+ 256
73
+ ],
74
+ "mlp_ratio": 4,
75
+ "qkv_bias": true,
76
+ "qk_scale": null,
77
+ "layer_scale": 0.0,
78
+ "attn_drop": 0.0,
79
+ "proj_drop": 0.0,
80
+ "drop_path": 0.3,
81
+ "shuffle_orders": true,
82
+ "pre_norm": true,
83
+ "enable_rpe": false,
84
+ "enable_flash": true,
85
+ "upcast_attention": false,
86
+ "upcast_softmax": false,
87
+ "traceable": false,
88
+ "mask_token": false,
89
+ "enc_mode": false,
90
+ "freeze_encoder": false
91
+ },
92
+ "criteria": [
93
+ {
94
+ "type": "CrossEntropyLoss",
95
+ "loss_weight": 1.0,
96
+ "ignore_index": -1
97
+ }
98
+ ]
99
+ }
100
+ }