Instructions to use ehalicki/lewam-so101-cube with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LeRobot
How to use ehalicki/lewam-so101-cube with LeRobot:
- Notebooks
- Google Colab
- Kaggle
Upload LeWAM weights
Browse files- README.md +26 -0
- config.json +67 -0
- model.safetensors +3 -0
- policy_postprocessor.json +31 -0
- policy_preprocessor.json +63 -0
README.md
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
library_name: lerobot
|
| 3 |
+
tags:
|
| 4 |
+
- lewam
|
| 5 |
+
- robotics
|
| 6 |
+
- flow-matching
|
| 7 |
+
---
|
| 8 |
+
|
| 9 |
+
# LeWAM
|
| 10 |
+
|
| 11 |
+
Joint video-action flow-matching model for robot control.
|
| 12 |
+
|
| 13 |
+
- **Architecture**: 16-layer DiT, dim 768
|
| 14 |
+
- **Context frames**: 8 @ 5 fps
|
| 15 |
+
- **Future frames**: 8
|
| 16 |
+
- **Action dim**: 6 @ 30 fps
|
| 17 |
+
- **Cameras**: image1, image2
|
| 18 |
+
|
| 19 |
+
## Usage
|
| 20 |
+
|
| 21 |
+
With [lerobot](https://github.com/huggingface/lerobot):
|
| 22 |
+
|
| 23 |
+
```bash
|
| 24 |
+
pip install "lerobot_policy_lewam @ git+https://github.com/ErykHalicki/lerobot_policy_lewam.git"
|
| 25 |
+
lerobot-record --policy.type lewam --policy.pretrained_path ehalicki/lewam-so101-cube
|
| 26 |
+
```
|
config.json
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"type": "lewam",
|
| 3 |
+
"n_obs_steps": 1,
|
| 4 |
+
"input_features": {
|
| 5 |
+
"observation.images.image1": {
|
| 6 |
+
"type": "VISUAL",
|
| 7 |
+
"shape": [
|
| 8 |
+
3,
|
| 9 |
+
480,
|
| 10 |
+
640
|
| 11 |
+
]
|
| 12 |
+
},
|
| 13 |
+
"observation.images.image2": {
|
| 14 |
+
"type": "VISUAL",
|
| 15 |
+
"shape": [
|
| 16 |
+
3,
|
| 17 |
+
480,
|
| 18 |
+
640
|
| 19 |
+
]
|
| 20 |
+
},
|
| 21 |
+
"observation.state": {
|
| 22 |
+
"type": "STATE",
|
| 23 |
+
"shape": [
|
| 24 |
+
6
|
| 25 |
+
]
|
| 26 |
+
}
|
| 27 |
+
},
|
| 28 |
+
"output_features": {
|
| 29 |
+
"action": {
|
| 30 |
+
"type": "ACTION",
|
| 31 |
+
"shape": [
|
| 32 |
+
6
|
| 33 |
+
]
|
| 34 |
+
}
|
| 35 |
+
},
|
| 36 |
+
"device": "cuda",
|
| 37 |
+
"use_amp": false,
|
| 38 |
+
"use_peft": false,
|
| 39 |
+
"push_to_hub": true,
|
| 40 |
+
"repo_id": null,
|
| 41 |
+
"private": null,
|
| 42 |
+
"tags": null,
|
| 43 |
+
"license": null,
|
| 44 |
+
"pretrained_path": null,
|
| 45 |
+
"model_dim": 768,
|
| 46 |
+
"depth": 16,
|
| 47 |
+
"num_heads": 8,
|
| 48 |
+
"mlp_ratio": 4.0,
|
| 49 |
+
"vlm_model_id": "HuggingFaceTB/SmolVLM2-500M-Video-Instruct",
|
| 50 |
+
"vlm_num_layers": 16,
|
| 51 |
+
"norm_strategy": "q1_q99",
|
| 52 |
+
"num_ode_steps": 2,
|
| 53 |
+
"smooth_actions": true,
|
| 54 |
+
"crop_size": 224,
|
| 55 |
+
"fps": 5,
|
| 56 |
+
"action_fps": 30,
|
| 57 |
+
"num_context_frames": 16,
|
| 58 |
+
"num_future_frames": 8,
|
| 59 |
+
"n_action_steps": 72,
|
| 60 |
+
"action_weight": 1.0,
|
| 61 |
+
"lang_drop_rate": 0.1,
|
| 62 |
+
"normalization_mapping": {
|
| 63 |
+
"VISUAL": "IDENTITY",
|
| 64 |
+
"STATE": "IDENTITY",
|
| 65 |
+
"ACTION": "IDENTITY"
|
| 66 |
+
}
|
| 67 |
+
}
|
model.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:50b4608309214f532c4ef7b06781da1d619b9ad3265de2c746824077543b71ce
|
| 3 |
+
size 2735737488
|
policy_postprocessor.json
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "policy_postprocessor",
|
| 3 |
+
"steps": [
|
| 4 |
+
{
|
| 5 |
+
"registry_name": "unnormalizer_processor",
|
| 6 |
+
"config": {
|
| 7 |
+
"eps": 1e-08,
|
| 8 |
+
"features": {
|
| 9 |
+
"action": {
|
| 10 |
+
"type": "ACTION",
|
| 11 |
+
"shape": [
|
| 12 |
+
6
|
| 13 |
+
]
|
| 14 |
+
}
|
| 15 |
+
},
|
| 16 |
+
"norm_map": {
|
| 17 |
+
"VISUAL": "IDENTITY",
|
| 18 |
+
"STATE": "IDENTITY",
|
| 19 |
+
"ACTION": "IDENTITY"
|
| 20 |
+
}
|
| 21 |
+
}
|
| 22 |
+
},
|
| 23 |
+
{
|
| 24 |
+
"registry_name": "device_processor",
|
| 25 |
+
"config": {
|
| 26 |
+
"device": "cpu",
|
| 27 |
+
"float_dtype": null
|
| 28 |
+
}
|
| 29 |
+
}
|
| 30 |
+
]
|
| 31 |
+
}
|
policy_preprocessor.json
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "policy_preprocessor",
|
| 3 |
+
"steps": [
|
| 4 |
+
{
|
| 5 |
+
"registry_name": "rename_observations_processor",
|
| 6 |
+
"config": {
|
| 7 |
+
"rename_map": {}
|
| 8 |
+
}
|
| 9 |
+
},
|
| 10 |
+
{
|
| 11 |
+
"registry_name": "normalizer_processor",
|
| 12 |
+
"config": {
|
| 13 |
+
"eps": 1e-08,
|
| 14 |
+
"features": {
|
| 15 |
+
"observation.images.image1": {
|
| 16 |
+
"type": "VISUAL",
|
| 17 |
+
"shape": [
|
| 18 |
+
3,
|
| 19 |
+
480,
|
| 20 |
+
640
|
| 21 |
+
]
|
| 22 |
+
},
|
| 23 |
+
"observation.images.image2": {
|
| 24 |
+
"type": "VISUAL",
|
| 25 |
+
"shape": [
|
| 26 |
+
3,
|
| 27 |
+
480,
|
| 28 |
+
640
|
| 29 |
+
]
|
| 30 |
+
},
|
| 31 |
+
"observation.state": {
|
| 32 |
+
"type": "STATE",
|
| 33 |
+
"shape": [
|
| 34 |
+
6
|
| 35 |
+
]
|
| 36 |
+
},
|
| 37 |
+
"action": {
|
| 38 |
+
"type": "ACTION",
|
| 39 |
+
"shape": [
|
| 40 |
+
6
|
| 41 |
+
]
|
| 42 |
+
}
|
| 43 |
+
},
|
| 44 |
+
"norm_map": {
|
| 45 |
+
"VISUAL": "IDENTITY",
|
| 46 |
+
"STATE": "IDENTITY",
|
| 47 |
+
"ACTION": "IDENTITY"
|
| 48 |
+
}
|
| 49 |
+
}
|
| 50 |
+
},
|
| 51 |
+
{
|
| 52 |
+
"registry_name": "to_batch_processor",
|
| 53 |
+
"config": {}
|
| 54 |
+
},
|
| 55 |
+
{
|
| 56 |
+
"registry_name": "device_processor",
|
| 57 |
+
"config": {
|
| 58 |
+
"device": "cuda",
|
| 59 |
+
"float_dtype": null
|
| 60 |
+
}
|
| 61 |
+
}
|
| 62 |
+
]
|
| 63 |
+
}
|