vlalab 0.1.0__py3-none-any.whl → 0.1.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- vlalab/__init__.py +8 -1
- vlalab/apps/streamlit/app.py +310 -37
- vlalab/apps/streamlit/pages/eval_viewer.py +374 -0
- vlalab/cli.py +1 -1
- vlalab/eval/__init__.py +15 -0
- vlalab/eval/adapters/__init__.py +14 -0
- vlalab/eval/adapters/dp_adapter.py +279 -0
- vlalab/eval/adapters/groot_adapter.py +253 -0
- vlalab/eval/open_loop_eval.py +542 -0
- vlalab/eval/policy_interface.py +155 -0
- {vlalab-0.1.0.dist-info → vlalab-0.1.1.dist-info}/METADATA +12 -70
- {vlalab-0.1.0.dist-info → vlalab-0.1.1.dist-info}/RECORD +16 -9
- {vlalab-0.1.0.dist-info → vlalab-0.1.1.dist-info}/WHEEL +0 -0
- {vlalab-0.1.0.dist-info → vlalab-0.1.1.dist-info}/entry_points.txt +0 -0
- {vlalab-0.1.0.dist-info → vlalab-0.1.1.dist-info}/licenses/LICENSE +0 -0
- {vlalab-0.1.0.dist-info → vlalab-0.1.1.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: vlalab
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.1
|
|
4
4
|
Summary: A toolbox for tracking and visualizing the real-world deployment process of VLA models
|
|
5
5
|
Author: VLA-Lab Contributors
|
|
6
6
|
License: MIT
|
|
@@ -44,14 +44,13 @@ Dynamic: license-file
|
|
|
44
44
|
|
|
45
45
|
<div align="center">
|
|
46
46
|
|
|
47
|
-
#
|
|
47
|
+
# 🦾 VLA-Lab
|
|
48
48
|
|
|
49
49
|
### The Missing Toolkit for Vision-Language-Action Model Deployment
|
|
50
50
|
|
|
51
51
|
[](https://www.python.org/downloads/)
|
|
52
52
|
[](https://opensource.org/licenses/MIT)
|
|
53
53
|
[](https://pypi.org/project/vlalab/)
|
|
54
|
-
[](https://github.com/VLA-Lab/VLA-Lab/pulls)
|
|
55
54
|
|
|
56
55
|
**Debug • Visualize • Analyze** your VLA deployments in the real world
|
|
57
56
|
|
|
@@ -129,30 +128,21 @@ Explore Zarr-format training/evaluation datasets with intuitive UI.
|
|
|
129
128
|
</tr>
|
|
130
129
|
</table>
|
|
131
130
|
|
|
132
|
-
### 🔌 Framework Support
|
|
133
|
-
|
|
134
|
-
| Framework | Status | Integration |
|
|
135
|
-
|-----------|--------|-------------|
|
|
136
|
-
| **Diffusion Policy** | ✅ Supported | Drop-in logger |
|
|
137
|
-
| **NVIDIA GR00T** | ✅ Supported | Native adapter |
|
|
138
|
-
| **OpenVLA-OFT** | 🚧 Coming Soon | — |
|
|
139
|
-
| **Pi0.5** | 🚧 Coming Soon | — |
|
|
140
131
|
|
|
141
132
|
---
|
|
142
133
|
|
|
143
134
|
## 🔧 Installation
|
|
144
135
|
|
|
145
136
|
```bash
|
|
146
|
-
# Basic installation
|
|
147
137
|
pip install vlalab
|
|
138
|
+
```
|
|
148
139
|
|
|
149
|
-
|
|
150
|
-
pip install "vlalab[full]"
|
|
140
|
+
Or install from source:
|
|
151
141
|
|
|
152
|
-
|
|
142
|
+
```bash
|
|
153
143
|
git clone https://github.com/VLA-Lab/VLA-Lab.git
|
|
154
144
|
cd VLA-Lab
|
|
155
|
-
pip install -e
|
|
145
|
+
pip install -e .
|
|
156
146
|
```
|
|
157
147
|
|
|
158
148
|
---
|
|
@@ -204,7 +194,7 @@ for step in range(100):
|
|
|
204
194
|
"images": {"front": obs["front_cam"], "wrist": obs["wrist_cam"]},
|
|
205
195
|
"inference_latency_ms": latency,
|
|
206
196
|
})
|
|
207
|
-
|
|
197
|
+
|
|
208
198
|
robot.execute(action)
|
|
209
199
|
|
|
210
200
|
# Auto-finishes on exit, or call manually
|
|
@@ -345,51 +335,11 @@ vlalab_runs/
|
|
|
345
335
|
└── run_20240115_103000/ # Run
|
|
346
336
|
├── meta.json # Metadata (model, task, robot, cameras)
|
|
347
337
|
├── steps.jsonl # Step records (one JSON per line)
|
|
348
|
-
|
|
338
|
+
└── artifacts/
|
|
349
339
|
└── images/ # Saved images
|
|
350
|
-
|
|
340
|
+
├── step_000000_front.jpg
|
|
351
341
|
├── step_000000_wrist.jpg
|
|
352
|
-
|
|
353
|
-
```
|
|
354
|
-
|
|
355
|
-
---
|
|
356
|
-
|
|
357
|
-
## 🔗 Framework Integration
|
|
358
|
-
|
|
359
|
-
### Diffusion Policy
|
|
360
|
-
|
|
361
|
-
```python
|
|
362
|
-
# In your inference_server.py
|
|
363
|
-
from vlalab import RunLogger
|
|
364
|
-
|
|
365
|
-
class DPInferenceServer:
|
|
366
|
-
def __init__(self, checkpoint_path):
|
|
367
|
-
self.logger = RunLogger(
|
|
368
|
-
run_dir=f"runs/{datetime.now():%Y%m%d_%H%M%S}",
|
|
369
|
-
model_name="diffusion_policy",
|
|
370
|
-
model_path=str(checkpoint_path),
|
|
371
|
-
)
|
|
372
|
-
|
|
373
|
-
def infer(self, obs):
|
|
374
|
-
action = self.model(obs)
|
|
375
|
-
self.logger.log_step(step_idx=self.step, ...)
|
|
376
|
-
return action
|
|
377
|
-
```
|
|
378
|
-
|
|
379
|
-
### NVIDIA GR00T
|
|
380
|
-
|
|
381
|
-
```python
|
|
382
|
-
# In your inference_server_groot.py
|
|
383
|
-
from vlalab import RunLogger
|
|
384
|
-
|
|
385
|
-
class GrootInferenceServer:
|
|
386
|
-
def __init__(self, model_path, task_prompt):
|
|
387
|
-
self.logger = RunLogger(
|
|
388
|
-
run_dir=f"runs/{datetime.now():%Y%m%d_%H%M%S}",
|
|
389
|
-
model_name="groot",
|
|
390
|
-
model_path=str(model_path),
|
|
391
|
-
task_prompt=task_prompt,
|
|
392
|
-
)
|
|
342
|
+
└── ...
|
|
393
343
|
```
|
|
394
344
|
|
|
395
345
|
---
|
|
@@ -410,20 +360,12 @@ class GrootInferenceServer:
|
|
|
410
360
|
|
|
411
361
|
## 🤝 Contributing
|
|
412
362
|
|
|
413
|
-
We welcome contributions!
|
|
363
|
+
We welcome contributions!
|
|
414
364
|
|
|
415
365
|
```bash
|
|
416
|
-
# Setup development environment
|
|
417
366
|
git clone https://github.com/VLA-Lab/VLA-Lab.git
|
|
418
367
|
cd VLA-Lab
|
|
419
|
-
pip install -e
|
|
420
|
-
|
|
421
|
-
# Run tests
|
|
422
|
-
pytest
|
|
423
|
-
|
|
424
|
-
# Format code
|
|
425
|
-
black src/
|
|
426
|
-
ruff check src/ --fix
|
|
368
|
+
pip install -e .
|
|
427
369
|
```
|
|
428
370
|
|
|
429
371
|
---
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
vlalab/__init__.py,sha256=
|
|
2
|
-
vlalab/cli.py,sha256=
|
|
1
|
+
vlalab/__init__.py,sha256=nFTmpxR1v3UVSw4qZ3K4JBQD2k-NNCG10tFy_MPiS9o,1778
|
|
2
|
+
vlalab/cli.py,sha256=WYK9O5yhODYoyks4NXvzG8epO76OS6i3KExySViCzxU,4035
|
|
3
3
|
vlalab/core.py,sha256=cqK2dKn0tWrc1B8JU97UAdIr1Kd5Qg4G0PTQebxxsko,20661
|
|
4
4
|
vlalab/adapters/__init__.py,sha256=v-o0OdTuFtvl1L4xiN1TK_PxHzE59Xzc8orGEKrY6So,258
|
|
5
5
|
vlalab/adapters/converter.py,sha256=4Ls35bzqAscl0hVQ5IRKQ1QlF1xbzUTZ22_R0cO0VFo,3917
|
|
@@ -7,11 +7,18 @@ vlalab/adapters/dp_adapter.py,sha256=D_eWY5b7Rvm3TbzXdSvY1dzXwwyNUcJPtbqNlfYVFpY
|
|
|
7
7
|
vlalab/adapters/groot_adapter.py,sha256=Kkj35t7TsQexeNOEiHEyAtx7axsAIn9SzxR9f9mfImI,4346
|
|
8
8
|
vlalab/apps/__init__.py,sha256=9LVkVt8AfI6QNc8zYYLE5OUp-Cq2O4Kl7mw0tKFMjvk,26
|
|
9
9
|
vlalab/apps/streamlit/__init__.py,sha256=DS_5ZeYOmoOHTNbTN-DooQm75n_y8ylhOre11B0OhWk,28
|
|
10
|
-
vlalab/apps/streamlit/app.py,sha256
|
|
10
|
+
vlalab/apps/streamlit/app.py,sha256=ybGtHqgUYyAgT1qLtfiBDLKZBxYro4Q0vqHk8ZkkuNY,9211
|
|
11
11
|
vlalab/apps/streamlit/pages/__init__.py,sha256=DbvTu8B7vZy8OtG6hlnZ7k5opIqrszWPbY1dkaZA1yY,30
|
|
12
12
|
vlalab/apps/streamlit/pages/dataset_viewer.py,sha256=qDSq2JpCTX9NKMSgNKRbFlbUYq3MKU1rmiXbDiPZ4I4,11911
|
|
13
|
+
vlalab/apps/streamlit/pages/eval_viewer.py,sha256=wXZVcKw6md4_XCGaLws8VljAG1QTZ8Xn3LvlGztCEPI,12094
|
|
13
14
|
vlalab/apps/streamlit/pages/inference_viewer.py,sha256=p_Bb5gv1aj2wV4X2AQAXRWO9IInRA32jazV1i-XF0pw,12894
|
|
14
15
|
vlalab/apps/streamlit/pages/latency_viewer.py,sha256=gHY2rW531-T7UZJToK7qA66OntfaNnUML6LP6jqOQXU,9054
|
|
16
|
+
vlalab/eval/__init__.py,sha256=Qyyv6bUi2ea6-h2JDaopgGUWdFxTS_J6IX57HFLk2Fc,341
|
|
17
|
+
vlalab/eval/open_loop_eval.py,sha256=YfAApuY1eESWw81QxXbcgzeQxed6VWxPsqTicddznrY,16397
|
|
18
|
+
vlalab/eval/policy_interface.py,sha256=JaDk26jEPf9rvJJmm7n4JqjHonNdc8YBd6wb39VMcl4,5148
|
|
19
|
+
vlalab/eval/adapters/__init__.py,sha256=YqmpWgmlf443ydKDL8JjmSr_9flsXZEaBLlMtqGQ7co,328
|
|
20
|
+
vlalab/eval/adapters/dp_adapter.py,sha256=lgJ4WnALDN_9wLeMSI4Fi76UoRIeX7C5wR1yoro1RYU,8762
|
|
21
|
+
vlalab/eval/adapters/groot_adapter.py,sha256=1LyabmI-ZdQrAHPdpr7vU9ExLmZU_TDGxff2ApTvSCw,8795
|
|
15
22
|
vlalab/logging/__init__.py,sha256=bBXmLLFxDEoIVmj8WfGHbCRxu1Ane3oC3QKHpfuyDaM,239
|
|
16
23
|
vlalab/logging/jsonl_writer.py,sha256=UkKHsXEgGJ8iFXqmQ5prMLXmvNXz79tvRfMk-Pp-ZLg,3196
|
|
17
24
|
vlalab/logging/run_loader.py,sha256=aXTPCAjK-AtWvzia7gZEAo3H14Gl4sf0A-moqxGQFj8,6124
|
|
@@ -21,9 +28,9 @@ vlalab/schema/run.py,sha256=V-c7VGvhUqGZNLA3hJPOlIoTi804CbGscS5iJHMZmEI,5340
|
|
|
21
28
|
vlalab/schema/step.py,sha256=WdiWhhrL_9mvKH41y-cgKzeEHfHUp-oKQRUBFiL-SRQ,5892
|
|
22
29
|
vlalab/viz/__init__.py,sha256=D84Sovmd_8ititeY0MbhNYrk3zpMitDzUAVtQB_BKHY,235
|
|
23
30
|
vlalab/viz/mpl_fonts.py,sha256=khQbNmdZvZQZXeW7Z21N47KqCiHpCu3b91LnVtfOSBs,5525
|
|
24
|
-
vlalab-0.1.
|
|
25
|
-
vlalab-0.1.
|
|
26
|
-
vlalab-0.1.
|
|
27
|
-
vlalab-0.1.
|
|
28
|
-
vlalab-0.1.
|
|
29
|
-
vlalab-0.1.
|
|
31
|
+
vlalab-0.1.1.dist-info/licenses/LICENSE,sha256=qxRYtF97Rr7MaTzkL9acvV1RF8C7MX2braGp9VKfKaE,1077
|
|
32
|
+
vlalab-0.1.1.dist-info/METADATA,sha256=tq2EeP49tI8uspbdmw858q7F1vg_1g3LSGqN-cjZIh4,12770
|
|
33
|
+
vlalab-0.1.1.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
34
|
+
vlalab-0.1.1.dist-info/entry_points.txt,sha256=rnILtrk4Zsu4LT8XiaA6M4DnwEXHZMEr9KTW2jWVT7E,43
|
|
35
|
+
vlalab-0.1.1.dist-info/top_level.txt,sha256=77ZyLKXgOUjlqIMbGRSEs9-f6987_1QkA2Z7iupc38w,7
|
|
36
|
+
vlalab-0.1.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|