bruAristimunha commited on
Commit
9032d95
·
verified ·
1 Parent(s): b343a45

Rehost regression_emg2pose.ckpt with braindecode parameter names

Browse files
Files changed (4) hide show
  1. README.md +41 -0
  2. config.json +46 -0
  3. model.safetensors +3 -0
  4. pytorch_model.bin +3 -0
README.md ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ library_name: braindecode
3
+ license: cc-by-nc-sa-4.0
4
+ tags: [emg, semg, hand-pose, pose-estimation, braindecode, emg2pose]
5
+ pipeline_tag: other
6
+ ---
7
+
8
+ # emg2pose — emg2pose Regression baseline
9
+
10
+ Meta's released `regression_emg2pose.ckpt` from the
11
+ [emg2pose benchmark](https://github.com/facebookresearch/emg2pose), rehosted with
12
+ [braindecode](https://braindecode.org)'s parameter names:
13
+
14
+ ```python
15
+ from braindecode.models import VEMG2Pose
16
+
17
+ model = VEMG2Pose.from_pretrained("braindecode/EMG2Pose-emg2pose")
18
+ ```
19
+
20
+ 16-channel sEMG at 2 kHz in, 20 joint angles per sample out. The encoder uses **valid**
21
+ convolutions and consumes a left context of **1790** samples, so windows must be longer
22
+ than that; the paper trains on 11,790 (10,000 + 1790).
23
+
24
+ ## Configuration
25
+
26
+ `decoder="mlp"`, `parameterization="position"`. The stateless MLP decoder reads the pose out directly at each step, still conditioned on the previous pose. Trained without a ground-truth initial pose.
27
+
28
+ ## Provenance
29
+
30
+ Not retrained — the authors' checkpoint with parameter names rewritten. Loaded into
31
+ `braindecode.models.VEMG2Pose` and run against the reference `emg2pose.pose_modules`
32
+ implementation on the same input, the outputs are **bit-identical** (max absolute
33
+ difference 0.0), with all 68 tensors mapped.
34
+
35
+ ## License
36
+
37
+ Weights are Meta's, under **CC BY-NC-SA 4.0** (non-commercial, share-alike), carried
38
+ over unchanged. The UmeTrack hand model behind the labels is CC BY-NC 4.0.
39
+
40
+ - Salter et al. (2024), *emg2pose*, NeurIPS Datasets and Benchmarks.
41
+ [arXiv:2412.02725](https://arxiv.org/abs/2412.02725)
config.json ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "n_outputs": 20,
3
+ "n_chans": 16,
4
+ "chs_info": null,
5
+ "n_times": 11790,
6
+ "input_window_seconds": null,
7
+ "sfreq": 2000.0,
8
+ "encoder_channels": 256,
9
+ "feature_dim": 64,
10
+ "hidden_size": 512,
11
+ "lstm_layers": 2,
12
+ "decoder": "mlp",
13
+ "decoder_hidden_sizes": [
14
+ 512,
15
+ 512
16
+ ],
17
+ "stem_kernel_sizes": [
18
+ 11,
19
+ 5
20
+ ],
21
+ "stem_strides": [
22
+ 5,
23
+ 2
24
+ ],
25
+ "tds_subsample_kernels": [
26
+ 17,
27
+ 9
28
+ ],
29
+ "tds_subsample_strides": [
30
+ 4,
31
+ 2
32
+ ],
33
+ "tds_kernel_widths": [
34
+ 9,
35
+ 5
36
+ ],
37
+ "tds_blocks": 2,
38
+ "tds_channels": 16,
39
+ "rollout_rate": 50.0,
40
+ "num_position_steps": 500,
41
+ "parameterization": "position",
42
+ "output_scalar": 0.01,
43
+ "activation": "torch.nn.modules.activation.LeakyReLU",
44
+ "drop_prob": 0.0,
45
+ "braindecode_version": "1.8.0dev0"
46
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0e18231ffe69e3f66bd6672313a7762c9a81fb4ddaf033de2380361d1eb84cf9
3
+ size 11817144
pytorch_model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1ea6e462bfd57963e183a74cb7ac20975c18e5b1c2154be02828dc119c2277d7
3
+ size 11836858