File size: 1,228 Bytes
5d050f4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
---
license: apache-2.0
tags:
  - robotics
  - imitation-learning
  - maniflow
  - ditx
  - dexterous-manipulation
library_name: pytorch
---

# ManiFlow Real-Robot Baseline (plastic / pill)

ManiFlow DiTX image policy on Inspire-G1 real-robot Stage-2 data.

Org: [Humantwin](https://huggingface.co/Humantwin)  
Repo: [`Humantwin/maniflow`](https://huggingface.co/Humantwin/maniflow)

## Contract

- Action chunk **`[30, 41]`** = Body29 (GMT) + Hand12 (Inspire) @ **30 Hz**
- Obs: RGB `[B,1,3,H,W]`, state `[B,1,41]`
- Vision: R3M + DiTX (`n_layer=12`, `n_emb=768`, `visual_cond_len=1024`)
- Checkpoint: **15k** / 30k

## Layout

```text
plastic/
  step15000.ckpt
  latest.ckpt          # symlink → step15000
  norm_stats.json
pill/
  step15000.ckpt
  latest.ckpt
  norm_stats.json
```

## Train loss @ 15k (approx)

| Task | train loss | val_loss@15k |
|---|---:|---:|
| plastic | ~0.05 | (see local logs; val higher) |
| pill | ~0.08 | lower than plastic |

## Load

```python
import torch
from maniflow.deploy.maniflow_robot_worker import ManiFlowRobotWorker

w = ManiFlowRobotWorker("plastic/step15000.ckpt", device="cuda", use_ema=True)
w.load()
chunk, ms = w.infer({"rgb": rgb, "state": state})  # chunk: [30,41] raw
```