restore original single-embodiment card; append me-full epoch-5 section
Browse files
README.md
CHANGED
|
@@ -1,29 +1,38 @@
|
|
| 1 |
---
|
| 2 |
license: agpl-3.0
|
| 3 |
tags:
|
| 4 |
-
-
|
| 5 |
-
-
|
| 6 |
-
-
|
| 7 |
-
-
|
| 8 |
-
- flax
|
| 9 |
---
|
| 10 |
|
| 11 |
-
#
|
| 12 |
|
| 13 |
-
|
| 14 |
-
[Towards a Multi-Embodied Grasping Agent](https://arxiv.org/abs/2510.27420)
|
| 15 |
-
(code: [boschresearch/kinematics-flow](https://github.com/boschresearch/kinematics-flow)),
|
| 16 |
-
trained on AMD MI300X (ROCm) with the paper's full configuration:
|
| 17 |
-
all five grippers (Panda, VX300, DexEE, Allegro, ShadowHand) + z0, 25,000 scenes,
|
| 18 |
-
fp32, batch 5 scenes × 128 grasps, warmup-cosine LR (peak 3e-4).
|
| 19 |
|
| 20 |
-
##
|
| 21 |
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
|
|
|
| 25 |
|
| 26 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 27 |
|
| 28 |
```python
|
| 29 |
from kin_flow.ctrl.trainer import Trainer
|
|
@@ -32,6 +41,6 @@ from kin_flow.net.kinematics_flow import KinematicsFlow, KinematicsFlowConfigura
|
|
| 32 |
model = Trainer.get_model_from_checkpoint(model, "<path>/me-full_25000_5")
|
| 33 |
```
|
| 34 |
|
| 35 |
-
Note: trained with flax 0.11
|
| 36 |
-
`TPWithWeightsAndBiases` (`kin_flow/net/module/fctp.py`) — restore with a
|
| 37 |
-
code state;
|
|
|
|
| 1 |
---
|
| 2 |
license: agpl-3.0
|
| 3 |
tags:
|
| 4 |
+
- grasping
|
| 5 |
+
- jax
|
| 6 |
+
- equivariance
|
| 7 |
+
- multi-embodiment
|
|
|
|
| 8 |
---
|
| 9 |
|
| 10 |
+
# Kinematics Flow checkpoints
|
| 11 |
|
| 12 |
+
Single-embodiment checkpoints for [Kinematics Flow](https://github.com/boschresearch/kinematics-flow), from ["Towards a Multi-Embodied Grasping Agent"](https://arxiv.org/abs/2510.27420). These are **mid-training checkpoints**, not final converged models.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
|
| 14 |
+
## Checkpoints
|
| 15 |
|
| 16 |
+
| Folder | Gripper | DOF | Epoch | Test success rate | Test NJD |
|
| 17 |
+
|---|---|---|---|---|---|
|
| 18 |
+
| `se-panda_5000_170` | Panda | 2 | 170 / 500 | 97.8% | 0.293 |
|
| 19 |
+
| `se-shadow_5000_40` | Shadow Hand | 22 | 40 / 500 | 75.9% | 0.232 |
|
| 20 |
|
| 21 |
+
Both trained with `num_scenes=5000` on a single RTX 6000 Ada (48GB). Eval numbers are simulation-based grasp success rate and normalized joint diversity (NJD), computed via `kin_flow.cli.bench` on 10 held-out test scenes (100 sampled grasps/scene each).
|
| 22 |
+
|
| 23 |
+
Format: orbax/OCDBT checkpoint directories, loadable via `kin_flow.ctrl.trainer.Trainer.get_model_from_checkpoint`.
|
| 24 |
+
|
| 25 |
+
## Multi-embodiment checkpoint
|
| 26 |
+
|
| 27 |
+
- `me-full_25000_5/` — **epoch 5** (~25,000 train steps) of the paper's full
|
| 28 |
+
multi-embodiment configuration: all five grippers (Panda, VX300, DexEE, Allegro,
|
| 29 |
+
ShadowHand) + z0, `num_scenes=25000`, fp32, batch 5 scenes × 128 grasps,
|
| 30 |
+
warmup-cosine LR (peak 3e-4). Trained on a single AMD MI300X (ROCm).
|
| 31 |
+
**Very early snapshot** — the paper trains ~120 epochs for full quality; expect
|
| 32 |
+
rough grasps. Newer-epoch checkpoints will replace/join this one as training
|
| 33 |
+
progresses.
|
| 34 |
+
|
| 35 |
+
### Loading
|
| 36 |
|
| 37 |
```python
|
| 38 |
from kin_flow.ctrl.trainer import Trainer
|
|
|
|
| 41 |
model = Trainer.get_model_from_checkpoint(model, "<path>/me-full_25000_5")
|
| 42 |
```
|
| 43 |
|
| 44 |
+
Note: `me-full_25000_5` was trained with flax 0.11 using a per-path `nnx.Param`
|
| 45 |
+
layout in `TPWithWeightsAndBiases` (`kin_flow/net/module/fctp.py`) — restore with a
|
| 46 |
+
matching code state; it is not compatible with the original Param-of-list layout.
|