Commit ·
7fd2dc5
0
Parent(s):
Initial public release
Browse files- .gitattributes +35 -0
- LICENSE +21 -0
- NOTICE.md +9 -0
- README.md +76 -0
- adapter/adapter_metadata.json +57 -0
- adapter/residual_adapter.pt +3 -0
- adapter/vocab.json +23 -0
- data/cases.json +29 -0
- data/manifest.json +120 -0
- data/observations.npz +3 -0
- data/scenes/KITCHEN_SCENE3_turn_on_the_stove_and_put_the_moka_pot_on_it.bddl +68 -0
- data/scenes/LIVING_ROOM_SCENE2_put_both_the_alphabet_soup_and_the_tomato_sauce_in_the_basket.bddl +134 -0
- data/states/break_executability_condition.npz +3 -0
- data/states/break_target_object.npz +3 -0
- data/triplets.json +0 -0
- example.py +55 -0
- licenses/LIBERO-MIT.txt +21 -0
- licenses/OpenVLA-OFT-MIT.txt +21 -0
- normalization/dataset_statistics.json +133 -0
- normalization/source.json +9 -0
- offline_metrics.json +370 -0
- training_config.json +17 -0
.gitattributes
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
*.7z filter=lfs diff=lfs merge=lfs -text
|
| 2 |
+
*.arrow filter=lfs diff=lfs merge=lfs -text
|
| 3 |
+
*.bin filter=lfs diff=lfs merge=lfs -text
|
| 4 |
+
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
| 5 |
+
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
| 6 |
+
*.ftz filter=lfs diff=lfs merge=lfs -text
|
| 7 |
+
*.gz filter=lfs diff=lfs merge=lfs -text
|
| 8 |
+
*.h5 filter=lfs diff=lfs merge=lfs -text
|
| 9 |
+
*.joblib filter=lfs diff=lfs merge=lfs -text
|
| 10 |
+
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
| 11 |
+
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
| 12 |
+
*.model filter=lfs diff=lfs merge=lfs -text
|
| 13 |
+
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
| 14 |
+
*.npy filter=lfs diff=lfs merge=lfs -text
|
| 15 |
+
*.npz filter=lfs diff=lfs merge=lfs -text
|
| 16 |
+
*.onnx filter=lfs diff=lfs merge=lfs -text
|
| 17 |
+
*.ot filter=lfs diff=lfs merge=lfs -text
|
| 18 |
+
*.parquet filter=lfs diff=lfs merge=lfs -text
|
| 19 |
+
*.pb filter=lfs diff=lfs merge=lfs -text
|
| 20 |
+
*.pickle filter=lfs diff=lfs merge=lfs -text
|
| 21 |
+
*.pkl filter=lfs diff=lfs merge=lfs -text
|
| 22 |
+
*.pt filter=lfs diff=lfs merge=lfs -text
|
| 23 |
+
*.pth filter=lfs diff=lfs merge=lfs -text
|
| 24 |
+
*.rar filter=lfs diff=lfs merge=lfs -text
|
| 25 |
+
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
| 26 |
+
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
| 27 |
+
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
| 28 |
+
*.tar filter=lfs diff=lfs merge=lfs -text
|
| 29 |
+
*.tflite filter=lfs diff=lfs merge=lfs -text
|
| 30 |
+
*.tgz filter=lfs diff=lfs merge=lfs -text
|
| 31 |
+
*.wasm filter=lfs diff=lfs merge=lfs -text
|
| 32 |
+
*.xz filter=lfs diff=lfs merge=lfs -text
|
| 33 |
+
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
+
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
+
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
MIT License
|
| 2 |
+
|
| 3 |
+
Copyright (c) 2026 BAS-VLA Contributors
|
| 4 |
+
|
| 5 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 6 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 7 |
+
in the Software without restriction, including without limitation the rights
|
| 8 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 9 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 10 |
+
furnished to do so, subject to the following conditions:
|
| 11 |
+
|
| 12 |
+
The above copyright notice and this permission notice shall be included in all
|
| 13 |
+
copies or substantial portions of the Software.
|
| 14 |
+
|
| 15 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 16 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 17 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 18 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 19 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 20 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 21 |
+
SOFTWARE.
|
NOTICE.md
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Artifact sources
|
| 2 |
+
|
| 3 |
+
The residual adapter is a BAS-VLA project training artifact from the OpenVLA / LIBERO-10 offline action-calibration setting. Project contributions use the MIT License in `LICENSE`.
|
| 4 |
+
|
| 5 |
+
The 400 action triplets, original agent-view observations, sampled simulator states, demonstration initial states, and two BDDL scenes are derived from [LIBERO](https://github.com/Lifelong-Robot-Learning/LIBERO) and its [demonstration dataset](https://huggingface.co/datasets/yifengzhu-hf/LIBERO-datasets). The exact source demonstration filename, demo ID and frame index are retained in each record. LIBERO's copyright and MIT notice are preserved in `licenses/LIBERO-MIT.txt`.
|
| 6 |
+
|
| 7 |
+
The base carrier is [openvla/openvla-7b](https://huggingface.co/openvla/openvla-7b). The bundled normalization statistics come from [moojink/openvla-7b-oft-finetuned-libero-10](https://huggingface.co/moojink/openvla-7b-oft-finetuned-libero-10); their source is recorded in `normalization/source.json`, with the OpenVLA-OFT MIT notice in `licenses/OpenVLA-OFT-MIT.txt`.
|
| 8 |
+
|
| 9 |
+
The source implementation tokenizes instructions with lowercase `[a-z0-9]+` and uses binary presence features. The released weight file preserves every original tensor and is loadable by the public `ResidualAdapter` class. `example.py` applies it to one released matched record on CPU.
|
README.md
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
language: en
|
| 3 |
+
license: mit
|
| 4 |
+
base_model: openvla/openvla-7b
|
| 5 |
+
base_model_relation: adapter
|
| 6 |
+
tags:
|
| 7 |
+
- robotics
|
| 8 |
+
- vision-language-action
|
| 9 |
+
- residual-adapter
|
| 10 |
+
- bas-vla
|
| 11 |
+
- arxiv:2609.23650
|
| 12 |
+
---
|
| 13 |
+
|
| 14 |
+
# BAS-VLA: OpenVLA residual adapter
|
| 15 |
+
|
| 16 |
+
[Paper](https://arxiv.org/abs/2609.23650) · [Project](https://nebulis-lab.com/BAS-VLA/) · [Code](https://github.com/NEBULIS-Lab/BAS-VLA)
|
| 17 |
+
|
| 18 |
+
This release provides a trained text-conditioned residual adapter and matched inputs for the **OpenVLA / LIBERO-10 offline action-calibration setting**, a selected subset of the settings studied in *Beyond Appearance Shifts: Task-Semantic Action Calibration for VLA Models*.
|
| 19 |
+
|
| 20 |
+
Each record pairs a shared observation with clean, task-preserving, and semantics-changing instructions and their frozen-carrier actions. The included cases cover target-object and executability-condition changes. The adapter applies a bounded action correction using the base action and binary bag-of-words instruction features.
|
| 21 |
+
|
| 22 |
+
## Files
|
| 23 |
+
|
| 24 |
+
| Location | Contents |
|
| 25 |
+
| --- | --- |
|
| 26 |
+
| `adapter/` | Trained residual weights, vocabulary, and loading/action metadata |
|
| 27 |
+
| `data/triplets.json` | Matched action triplets, expert actions, and demonstration-level train/validation/test assignments |
|
| 28 |
+
| `data/observations.npz` | Source agent-view RGB images aligned with the records |
|
| 29 |
+
| `data/states/` | Sampled simulator states and source demonstration initial states |
|
| 30 |
+
| `data/scenes/` | The corresponding LIBERO BDDL scenes |
|
| 31 |
+
| `data/cases.json`, `data/manifest.json` | Instruction triplets, source references, array alignment, and input preprocessing |
|
| 32 |
+
| `normalization/` | Action statistics used to construct the frozen OpenVLA actions and their source information |
|
| 33 |
+
| `training_config.json`, `offline_metrics.json` | Training objective configuration and offline evaluation summaries |
|
| 34 |
+
| `example.py` | CPU example applying the adapter to a supplied record |
|
| 35 |
+
|
| 36 |
+
## Download and use
|
| 37 |
+
|
| 38 |
+
Install the [BAS-VLA code](https://github.com/NEBULIS-Lab/BAS-VLA) and its dependencies, then download the files:
|
| 39 |
+
|
| 40 |
+
```python
|
| 41 |
+
from huggingface_hub import snapshot_download
|
| 42 |
+
|
| 43 |
+
snapshot_download("Shuaijun/BAS-VLA", local_dir="artifacts/bas-vla")
|
| 44 |
+
```
|
| 45 |
+
|
| 46 |
+
Run the included example from the directory containing `artifacts/`:
|
| 47 |
+
|
| 48 |
+
```bash
|
| 49 |
+
python artifacts/bas-vla/example.py
|
| 50 |
+
```
|
| 51 |
+
|
| 52 |
+
The example loads the adapter on CPU and prints calibrated clean, control, and changed-instruction actions for a held-out record. Use `--record-index` to select another record.
|
| 53 |
+
|
| 54 |
+
## Action and feature conventions
|
| 55 |
+
|
| 56 |
+
Use the exact contract in `adapter/adapter_metadata.json` when supplying new actions. The carrier is `openvla/openvla-7b`; the cached actions use the bundled `libero_10_no_noops` statistics from `moojink/openvla-7b-oft-finetuned-libero-10`, followed by the documented gripper transform. Instructions use the supplied binary bag-of-words vocabulary.
|
| 57 |
+
|
| 58 |
+
The checkpoint's action-space identifier is `openvla_libero10_unnormalized_sign_gripper_offline`. The code repository's OpenPI and OpenVLA-OFT rollout runners require adapters matched to their own carrier and action conventions. Load this checkpoint through the supplied example or the `ResidualAdapter` class with the recorded convention.
|
| 59 |
+
|
| 60 |
+
`data/manifest.json` explains how RGB arrays, simulator states, scene files, and demonstration frames align. LIBERO supplies the scene assets and simulator. Base VLA weights are obtained separately from their upstream model repositories.
|
| 61 |
+
|
| 62 |
+
## Sources and license
|
| 63 |
+
|
| 64 |
+
BAS-VLA contributions are released under the MIT License. The included LIBERO-derived data and OpenVLA-OFT normalization statistics retain their upstream MIT notices. See [NOTICE.md](NOTICE.md) and `licenses/` for the source links and notices.
|
| 65 |
+
|
| 66 |
+
## Citation
|
| 67 |
+
|
| 68 |
+
```bibtex
|
| 69 |
+
@inproceedings{liu2026basvla,
|
| 70 |
+
title = {Beyond Appearance Shifts: Task-Semantic Action Calibration for VLA Models},
|
| 71 |
+
author = {Liu, Shuaijun and You, Feiyang and Wu, Chengyu and Hao, Shuyang and Zhang, Chenglong and Cai, Jingyao and Chen, Xingwei and Su, Ningxin},
|
| 72 |
+
booktitle = {Advances in Neural Information Processing Systems},
|
| 73 |
+
year = {2026},
|
| 74 |
+
url = {https://arxiv.org/abs/2609.23650}
|
| 75 |
+
}
|
| 76 |
+
```
|
adapter/adapter_metadata.json
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"schema_version": 1,
|
| 3 |
+
"adapter_name": "openvla_libero10_offline_text_action_adapter",
|
| 4 |
+
"artifact_type": "trained_residual_adapter",
|
| 5 |
+
"carrier": "openvla/openvla-7b",
|
| 6 |
+
"input_dim": 28,
|
| 7 |
+
"hidden_dim": 128,
|
| 8 |
+
"output_dim": 7,
|
| 9 |
+
"delta_scale": 0.8,
|
| 10 |
+
"vocab_size": 21,
|
| 11 |
+
"feature_type": "binary_bow",
|
| 12 |
+
"feature_normalization": "binary_presence_no_scaling",
|
| 13 |
+
"feature_tokenization": "lowercase regex [a-z0-9]+",
|
| 14 |
+
"feature_source": "explicit vocabulary in vocab.json, built from the two configured instruction triplets",
|
| 15 |
+
"action_space": "openvla_libero10_unnormalized_sign_gripper_offline",
|
| 16 |
+
"action_layout": "per_step",
|
| 17 |
+
"action_normalization": {
|
| 18 |
+
"carrier_output": "OpenVLA predict_action unnormalization using libero_10_no_noops action statistics",
|
| 19 |
+
"statistics_file": "../normalization/dataset_statistics.json",
|
| 20 |
+
"statistics_source": "moojink/openvla-7b-oft-finetuned-libero-10",
|
| 21 |
+
"continuous_coordinates": "the first six predict_action output coordinates, without additional scaling",
|
| 22 |
+
"gripper_transform": "g = 2 * g - 1; g = sign(g) if g != 0 else -1",
|
| 23 |
+
"reference_actions": "original LIBERO HDF5 actions at the recorded demo/frame",
|
| 24 |
+
"adapter_output": "residual applied to all seven coordinates; no post-adapter clipping or gripper inversion in the offline evaluator"
|
| 25 |
+
},
|
| 26 |
+
"objective_config": {
|
| 27 |
+
"objective_preset": "legacy",
|
| 28 |
+
"squared_error_reduction": "mean",
|
| 29 |
+
"lambda_imitation": 1.0,
|
| 30 |
+
"lambda_expert_margin": 1.0,
|
| 31 |
+
"hidden_dim": 128,
|
| 32 |
+
"delta_scale": 0.8,
|
| 33 |
+
"margin": 0.3,
|
| 34 |
+
"lambda_consistency": 0.5,
|
| 35 |
+
"lambda_margin": 2.0,
|
| 36 |
+
"lambda_anchor": 0.05,
|
| 37 |
+
"lr": 0.002,
|
| 38 |
+
"epochs": 100,
|
| 39 |
+
"batch_size": 64
|
| 40 |
+
},
|
| 41 |
+
"seed": null,
|
| 42 |
+
"seed_provenance": "The original results file omits the run seed; the source trainer parser defaults to 7.",
|
| 43 |
+
"training_setting": "LIBERO-10 offline action calibration, target-object and executability-condition instruction triplets",
|
| 44 |
+
"training_timestamp": "2026-04-17 17:27:07",
|
| 45 |
+
"compatibility": {
|
| 46 |
+
"implementation": "bas_vla.breaking.residual_adapter.ResidualAdapter",
|
| 47 |
+
"load_state_dict": "strict; no tensor conversion",
|
| 48 |
+
"runtime_action_space": "openvla_libero10_unnormalized_sign_gripper_offline",
|
| 49 |
+
"deployment_contract": "Use only with actions and instruction features following this metadata. The published OpenPI and OpenVLA-OFT runners use different action-space identifiers."
|
| 50 |
+
},
|
| 51 |
+
"files": {
|
| 52 |
+
"weights": "residual_adapter.pt",
|
| 53 |
+
"vocab": "vocab.json",
|
| 54 |
+
"records": "../data/triplets.json",
|
| 55 |
+
"metrics": "../offline_metrics.json"
|
| 56 |
+
}
|
| 57 |
+
}
|
adapter/residual_adapter.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:cba0b8fd9c53a559145096400664677e443445f1b7e9b7c95fa779e461e03f63
|
| 3 |
+
size 87525
|
adapter/vocab.json
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"put": 0,
|
| 3 |
+
"both": 1,
|
| 4 |
+
"the": 2,
|
| 5 |
+
"alphabet": 3,
|
| 6 |
+
"soup": 4,
|
| 7 |
+
"and": 5,
|
| 8 |
+
"tomato": 6,
|
| 9 |
+
"sauce": 7,
|
| 10 |
+
"in": 8,
|
| 11 |
+
"basket": 9,
|
| 12 |
+
"butter": 10,
|
| 13 |
+
"place": 11,
|
| 14 |
+
"into": 12,
|
| 15 |
+
"turn": 13,
|
| 16 |
+
"on": 14,
|
| 17 |
+
"stove": 15,
|
| 18 |
+
"moka": 16,
|
| 19 |
+
"pot": 17,
|
| 20 |
+
"it": 18,
|
| 21 |
+
"off": 19,
|
| 22 |
+
"switch": 20
|
| 23 |
+
}
|
data/cases.json
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"suite": "libero_10",
|
| 3 |
+
"cases": [
|
| 4 |
+
{
|
| 5 |
+
"case_id": "break_target_object",
|
| 6 |
+
"family": "target_object",
|
| 7 |
+
"suite": "libero_10",
|
| 8 |
+
"task_id": 0,
|
| 9 |
+
"demo_relpath": "libero_10/LIVING_ROOM_SCENE2_put_both_the_alphabet_soup_and_the_tomato_sauce_in_the_basket_demo.hdf5",
|
| 10 |
+
"clean_instruction": "put both the alphabet soup and the tomato sauce in the basket",
|
| 11 |
+
"break_instruction": "put both the alphabet soup and the butter in the basket",
|
| 12 |
+
"control_instruction": "place both the alphabet soup and the tomato sauce into the basket",
|
| 13 |
+
"changed_semantics": "target object tomato sauce -> butter",
|
| 14 |
+
"bddl_file": "scenes/LIVING_ROOM_SCENE2_put_both_the_alphabet_soup_and_the_tomato_sauce_in_the_basket.bddl"
|
| 15 |
+
},
|
| 16 |
+
{
|
| 17 |
+
"case_id": "break_executability_condition",
|
| 18 |
+
"family": "executability_condition",
|
| 19 |
+
"suite": "libero_10",
|
| 20 |
+
"task_id": 2,
|
| 21 |
+
"demo_relpath": "libero_10/KITCHEN_SCENE3_turn_on_the_stove_and_put_the_moka_pot_on_it_demo.hdf5",
|
| 22 |
+
"clean_instruction": "turn on the stove and put the moka pot on it",
|
| 23 |
+
"break_instruction": "turn off the stove and put the moka pot on it",
|
| 24 |
+
"control_instruction": "switch on the stove and put the moka pot on it",
|
| 25 |
+
"changed_semantics": "turn on -> turn off",
|
| 26 |
+
"bddl_file": "scenes/KITCHEN_SCENE3_turn_on_the_stove_and_put_the_moka_pot_on_it.bddl"
|
| 27 |
+
}
|
| 28 |
+
]
|
| 29 |
+
}
|
data/manifest.json
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"setting": "OpenVLA / LIBERO-10 offline action calibration",
|
| 3 |
+
"num_records": 400,
|
| 4 |
+
"split_counts": {
|
| 5 |
+
"train": 240,
|
| 6 |
+
"val": 80,
|
| 7 |
+
"test": 80
|
| 8 |
+
},
|
| 9 |
+
"source_dataset": "https://huggingface.co/datasets/yifengzhu-hf/LIBERO-datasets",
|
| 10 |
+
"source_code": "https://github.com/Lifelong-Robot-Learning/LIBERO",
|
| 11 |
+
"records_file": "triplets.json",
|
| 12 |
+
"observation_file": "observations.npz",
|
| 13 |
+
"observation_array": "agentview_rgb",
|
| 14 |
+
"observation_shape": [
|
| 15 |
+
400,
|
| 16 |
+
128,
|
| 17 |
+
128,
|
| 18 |
+
3
|
| 19 |
+
],
|
| 20 |
+
"observation_dtype": "uint8",
|
| 21 |
+
"observation_alignment": "triplets.json observation_index is the first-axis index of agentview_rgb; original HDF5 images with no flip, crop or resizing",
|
| 22 |
+
"paired_inputs": "All three instruction/action pairs in a record share this same source observation and simulator state.",
|
| 23 |
+
"source_states": {
|
| 24 |
+
"break_target_object": {
|
| 25 |
+
"sampled_states_shape": [
|
| 26 |
+
200,
|
| 27 |
+
123
|
| 28 |
+
],
|
| 29 |
+
"demo_initial_states_shape": [
|
| 30 |
+
50,
|
| 31 |
+
123
|
| 32 |
+
],
|
| 33 |
+
"sampled_states_dtype": "float64"
|
| 34 |
+
},
|
| 35 |
+
"break_executability_condition": {
|
| 36 |
+
"sampled_states_shape": [
|
| 37 |
+
200,
|
| 38 |
+
47
|
| 39 |
+
],
|
| 40 |
+
"demo_initial_states_shape": [
|
| 41 |
+
50,
|
| 42 |
+
47
|
| 43 |
+
],
|
| 44 |
+
"sampled_states_dtype": "float64"
|
| 45 |
+
}
|
| 46 |
+
},
|
| 47 |
+
"state_alignment": "Per-case NPZ record_indices indexes triplets.json. demo_numbers indexes demo_initial_states. States are source LIBERO simulator snapshots; scene models and simulator conventions come from LIBERO.",
|
| 48 |
+
"split_policy": {
|
| 49 |
+
"demo_order": "integer suffix in demo_N",
|
| 50 |
+
"train_demos_per_case": [
|
| 51 |
+
0,
|
| 52 |
+
1,
|
| 53 |
+
2,
|
| 54 |
+
3,
|
| 55 |
+
4,
|
| 56 |
+
5,
|
| 57 |
+
6,
|
| 58 |
+
7,
|
| 59 |
+
8,
|
| 60 |
+
9,
|
| 61 |
+
10,
|
| 62 |
+
11,
|
| 63 |
+
12,
|
| 64 |
+
13,
|
| 65 |
+
14,
|
| 66 |
+
15,
|
| 67 |
+
16,
|
| 68 |
+
17,
|
| 69 |
+
18,
|
| 70 |
+
19,
|
| 71 |
+
20,
|
| 72 |
+
21,
|
| 73 |
+
22,
|
| 74 |
+
23,
|
| 75 |
+
24,
|
| 76 |
+
25,
|
| 77 |
+
26,
|
| 78 |
+
27,
|
| 79 |
+
28,
|
| 80 |
+
29
|
| 81 |
+
],
|
| 82 |
+
"val_demos_per_case": [
|
| 83 |
+
30,
|
| 84 |
+
31,
|
| 85 |
+
32,
|
| 86 |
+
33,
|
| 87 |
+
34,
|
| 88 |
+
35,
|
| 89 |
+
36,
|
| 90 |
+
37,
|
| 91 |
+
38,
|
| 92 |
+
39
|
| 93 |
+
],
|
| 94 |
+
"test_demos_per_case": [
|
| 95 |
+
40,
|
| 96 |
+
41,
|
| 97 |
+
42,
|
| 98 |
+
43,
|
| 99 |
+
44,
|
| 100 |
+
45,
|
| 101 |
+
46,
|
| 102 |
+
47,
|
| 103 |
+
48,
|
| 104 |
+
49
|
| 105 |
+
],
|
| 106 |
+
"frames_per_demo": 4,
|
| 107 |
+
"frame_rule": "round(linspace(0, number_of_frames - 1, 4))"
|
| 108 |
+
},
|
| 109 |
+
"carrier_input_preprocessing": {
|
| 110 |
+
"source_view": "agentview_rgb",
|
| 111 |
+
"center_crop_area_fraction": 0.9,
|
| 112 |
+
"resize": 224,
|
| 113 |
+
"resample": "PIL LANCZOS",
|
| 114 |
+
"prompt": "In: What action should the robot take to {instruction.lower()}?\nOut:",
|
| 115 |
+
"sampling": "do_sample=False",
|
| 116 |
+
"provenance": "Source generator implementation and model registry; resize=224 is the parser default, and the source results do not store preprocessing CLI overrides."
|
| 117 |
+
},
|
| 118 |
+
"expert_reference": "clean LIBERO demonstration action at the same source demo/frame",
|
| 119 |
+
"license_file": "../licenses/LIBERO-MIT.txt"
|
| 120 |
+
}
|
data/observations.npz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:7fca8917d6bb9011e0975a3859472901c682f5dc7ed42c3b55be71bcae6f30cd
|
| 3 |
+
size 9108424
|
data/scenes/KITCHEN_SCENE3_turn_on_the_stove_and_put_the_moka_pot_on_it.bddl
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
(define (problem LIBERO_Kitchen_Tabletop_Manipulation)
|
| 2 |
+
(:domain robosuite)
|
| 3 |
+
(:language turn on the stove and put the moka pot on it)
|
| 4 |
+
(:regions
|
| 5 |
+
(flat_stove_init_region
|
| 6 |
+
(:target kitchen_table)
|
| 7 |
+
(:ranges (
|
| 8 |
+
(-0.21000000000000002 0.19 -0.19 0.21000000000000002)
|
| 9 |
+
)
|
| 10 |
+
)
|
| 11 |
+
(:yaw_rotation (
|
| 12 |
+
(0.0 0.0)
|
| 13 |
+
)
|
| 14 |
+
)
|
| 15 |
+
)
|
| 16 |
+
(frypan_init_region
|
| 17 |
+
(:target kitchen_table)
|
| 18 |
+
(:ranges (
|
| 19 |
+
(-0.07500000000000001 -0.275 -0.025 -0.225)
|
| 20 |
+
)
|
| 21 |
+
)
|
| 22 |
+
(:yaw_rotation (
|
| 23 |
+
(0.0 0.0)
|
| 24 |
+
)
|
| 25 |
+
)
|
| 26 |
+
)
|
| 27 |
+
(moka_pot_init_region
|
| 28 |
+
(:target kitchen_table)
|
| 29 |
+
(:ranges (
|
| 30 |
+
(0.025 -0.025 0.07500000000000001 0.025)
|
| 31 |
+
)
|
| 32 |
+
)
|
| 33 |
+
(:yaw_rotation (
|
| 34 |
+
(0.0 0.0)
|
| 35 |
+
)
|
| 36 |
+
)
|
| 37 |
+
)
|
| 38 |
+
(cook_region
|
| 39 |
+
(:target flat_stove_1)
|
| 40 |
+
)
|
| 41 |
+
)
|
| 42 |
+
|
| 43 |
+
(:fixtures
|
| 44 |
+
kitchen_table - kitchen_table
|
| 45 |
+
flat_stove_1 - flat_stove
|
| 46 |
+
)
|
| 47 |
+
|
| 48 |
+
(:objects
|
| 49 |
+
chefmate_8_frypan_1 - chefmate_8_frypan
|
| 50 |
+
moka_pot_1 - moka_pot
|
| 51 |
+
)
|
| 52 |
+
|
| 53 |
+
(:obj_of_interest
|
| 54 |
+
moka_pot_1
|
| 55 |
+
flat_stove_1
|
| 56 |
+
)
|
| 57 |
+
|
| 58 |
+
(:init
|
| 59 |
+
(On flat_stove_1 kitchen_table_flat_stove_init_region)
|
| 60 |
+
(On chefmate_8_frypan_1 kitchen_table_frypan_init_region)
|
| 61 |
+
(On moka_pot_1 kitchen_table_moka_pot_init_region)
|
| 62 |
+
)
|
| 63 |
+
|
| 64 |
+
(:goal
|
| 65 |
+
(And (Turnon flat_stove_1) (On moka_pot_1 flat_stove_1_cook_region))
|
| 66 |
+
)
|
| 67 |
+
|
| 68 |
+
)
|
data/scenes/LIVING_ROOM_SCENE2_put_both_the_alphabet_soup_and_the_tomato_sauce_in_the_basket.bddl
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
(define (problem LIBERO_Living_Room_Tabletop_Manipulation)
|
| 2 |
+
(:domain robosuite)
|
| 3 |
+
(:language put both the alphabet soup and the tomato sauce in the basket)
|
| 4 |
+
(:regions
|
| 5 |
+
(basket_init_region
|
| 6 |
+
(:target living_room_table)
|
| 7 |
+
(:ranges (
|
| 8 |
+
(-0.01 0.25 0.01 0.27)
|
| 9 |
+
)
|
| 10 |
+
)
|
| 11 |
+
(:yaw_rotation (
|
| 12 |
+
(0.0 0.0)
|
| 13 |
+
)
|
| 14 |
+
)
|
| 15 |
+
)
|
| 16 |
+
(milk_init_region
|
| 17 |
+
(:target living_room_table)
|
| 18 |
+
(:ranges (
|
| 19 |
+
(0.025 -0.125 0.07500000000000001 -0.07500000000000001)
|
| 20 |
+
)
|
| 21 |
+
)
|
| 22 |
+
(:yaw_rotation (
|
| 23 |
+
(0.0 0.0)
|
| 24 |
+
)
|
| 25 |
+
)
|
| 26 |
+
)
|
| 27 |
+
(cream_cheese_init_region
|
| 28 |
+
(:target living_room_table)
|
| 29 |
+
(:ranges (
|
| 30 |
+
(0.07500000000000001 -0.225 0.125 -0.17500000000000002)
|
| 31 |
+
)
|
| 32 |
+
)
|
| 33 |
+
(:yaw_rotation (
|
| 34 |
+
(0.0 0.0)
|
| 35 |
+
)
|
| 36 |
+
)
|
| 37 |
+
)
|
| 38 |
+
(orange_juice_init_region
|
| 39 |
+
(:target living_room_table)
|
| 40 |
+
(:ranges (
|
| 41 |
+
(-0.025 -0.275 0.025 -0.225)
|
| 42 |
+
)
|
| 43 |
+
)
|
| 44 |
+
(:yaw_rotation (
|
| 45 |
+
(0.0 0.0)
|
| 46 |
+
)
|
| 47 |
+
)
|
| 48 |
+
)
|
| 49 |
+
(tomato_sauce_init_region
|
| 50 |
+
(:target living_room_table)
|
| 51 |
+
(:ranges (
|
| 52 |
+
(-0.125 0.025 -0.07500000000000001 0.07500000000000001)
|
| 53 |
+
)
|
| 54 |
+
)
|
| 55 |
+
(:yaw_rotation (
|
| 56 |
+
(0.0 0.0)
|
| 57 |
+
)
|
| 58 |
+
)
|
| 59 |
+
)
|
| 60 |
+
(alphabet_soup_init_region
|
| 61 |
+
(:target living_room_table)
|
| 62 |
+
(:ranges (
|
| 63 |
+
(-0.125 -0.175 -0.07500000000000001 -0.125)
|
| 64 |
+
)
|
| 65 |
+
)
|
| 66 |
+
(:yaw_rotation (
|
| 67 |
+
(0.0 0.0)
|
| 68 |
+
)
|
| 69 |
+
)
|
| 70 |
+
)
|
| 71 |
+
(butter_init_region
|
| 72 |
+
(:target living_room_table)
|
| 73 |
+
(:ranges (
|
| 74 |
+
(0.025 0.025 0.07500000000000001 0.07500000000000001)
|
| 75 |
+
)
|
| 76 |
+
)
|
| 77 |
+
(:yaw_rotation (
|
| 78 |
+
(0.0 0.0)
|
| 79 |
+
)
|
| 80 |
+
)
|
| 81 |
+
)
|
| 82 |
+
(ketchup_init_region
|
| 83 |
+
(:target living_room_table)
|
| 84 |
+
(:ranges (
|
| 85 |
+
(-0.275 -0.175 -0.225 -0.125)
|
| 86 |
+
)
|
| 87 |
+
)
|
| 88 |
+
(:yaw_rotation (
|
| 89 |
+
(0.0 0.0)
|
| 90 |
+
)
|
| 91 |
+
)
|
| 92 |
+
)
|
| 93 |
+
(contain_region
|
| 94 |
+
(:target basket_1)
|
| 95 |
+
)
|
| 96 |
+
)
|
| 97 |
+
|
| 98 |
+
(:fixtures
|
| 99 |
+
living_room_table - living_room_table
|
| 100 |
+
)
|
| 101 |
+
|
| 102 |
+
(:objects
|
| 103 |
+
alphabet_soup_1 - alphabet_soup
|
| 104 |
+
cream_cheese_1 - cream_cheese
|
| 105 |
+
tomato_sauce_1 - tomato_sauce
|
| 106 |
+
ketchup_1 - ketchup
|
| 107 |
+
orange_juice_1 - orange_juice
|
| 108 |
+
milk_1 - milk
|
| 109 |
+
butter_1 - butter
|
| 110 |
+
basket_1 - basket
|
| 111 |
+
)
|
| 112 |
+
|
| 113 |
+
(:obj_of_interest
|
| 114 |
+
alphabet_soup_1
|
| 115 |
+
tomato_sauce_1
|
| 116 |
+
basket_1
|
| 117 |
+
)
|
| 118 |
+
|
| 119 |
+
(:init
|
| 120 |
+
(On alphabet_soup_1 living_room_table_alphabet_soup_init_region)
|
| 121 |
+
(On cream_cheese_1 living_room_table_cream_cheese_init_region)
|
| 122 |
+
(On tomato_sauce_1 living_room_table_tomato_sauce_init_region)
|
| 123 |
+
(On ketchup_1 living_room_table_ketchup_init_region)
|
| 124 |
+
(On milk_1 living_room_table_milk_init_region)
|
| 125 |
+
(On orange_juice_1 living_room_table_orange_juice_init_region)
|
| 126 |
+
(On butter_1 living_room_table_butter_init_region)
|
| 127 |
+
(On basket_1 living_room_table_basket_init_region)
|
| 128 |
+
)
|
| 129 |
+
|
| 130 |
+
(:goal
|
| 131 |
+
(And (In alphabet_soup_1 basket_1_contain_region) (In tomato_sauce_1 basket_1_contain_region))
|
| 132 |
+
)
|
| 133 |
+
|
| 134 |
+
)
|
data/states/break_executability_condition.npz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:2fa5b77875f2a4292fb198c8fc4c65c9cb2d6638ed4090d2f0e7e6add8964595
|
| 3 |
+
size 72539
|
data/states/break_target_object.npz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:ceb28389d3c8066c542b68dba96d1002d58bbc9a1179f23cd6fd4f69c3582758
|
| 3 |
+
size 170568
|
data/triplets.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
example.py
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""Apply the released adapter to one matched offline record on CPU.
|
| 2 |
+
|
| 3 |
+
Install the BAS-VLA code repository and its dependencies first. The input action
|
| 4 |
+
contract is recorded in adapter/adapter_metadata.json. Use that exact contract
|
| 5 |
+
when supplying new actions from a carrier.
|
| 6 |
+
"""
|
| 7 |
+
from __future__ import annotations
|
| 8 |
+
|
| 9 |
+
import argparse
|
| 10 |
+
import json
|
| 11 |
+
from pathlib import Path
|
| 12 |
+
|
| 13 |
+
import numpy as np
|
| 14 |
+
import torch
|
| 15 |
+
|
| 16 |
+
from bas_vla.breaking.residual_adapter import ResidualAdapter, encode_instruction_bow
|
| 17 |
+
|
| 18 |
+
|
| 19 |
+
def main() -> None:
|
| 20 |
+
parser = argparse.ArgumentParser(description=__doc__)
|
| 21 |
+
parser.add_argument("--artifact-dir", type=Path, default=Path(__file__).resolve().parent)
|
| 22 |
+
parser.add_argument("--record-index", type=int, default=160, help="Default: first held-out test record.")
|
| 23 |
+
args = parser.parse_args()
|
| 24 |
+
root = args.artifact_dir
|
| 25 |
+
meta = json.loads((root / "adapter/adapter_metadata.json").read_text())
|
| 26 |
+
vocab = json.loads((root / "adapter/vocab.json").read_text())
|
| 27 |
+
records = json.loads((root / "data/triplets.json").read_text())
|
| 28 |
+
if not 0 <= args.record_index < len(records):
|
| 29 |
+
parser.error("record-index is outside the released records")
|
| 30 |
+
record = records[args.record_index]
|
| 31 |
+
model = ResidualAdapter(
|
| 32 |
+
input_dim=meta["input_dim"], hidden_dim=meta["hidden_dim"],
|
| 33 |
+
output_dim=meta["output_dim"], delta_scale=meta["delta_scale"],
|
| 34 |
+
)
|
| 35 |
+
weights = torch.load(root / "adapter/residual_adapter.pt", map_location="cpu", weights_only=True)
|
| 36 |
+
model.load_state_dict(weights, strict=True)
|
| 37 |
+
model.eval()
|
| 38 |
+
outputs = {}
|
| 39 |
+
with torch.no_grad():
|
| 40 |
+
for variant in ("clean", "control", "break"):
|
| 41 |
+
action = np.asarray(record[f"{variant}_base_action"], dtype=np.float32)
|
| 42 |
+
features = encode_instruction_bow(record[f"{variant}_instruction"], vocab)
|
| 43 |
+
calibrated = model(torch.from_numpy(action[None]), torch.from_numpy(features[None]))[0]
|
| 44 |
+
outputs[variant] = {
|
| 45 |
+
"instruction": record[f"{variant}_instruction"],
|
| 46 |
+
"base_action": action.tolist(), "calibrated_action": calibrated.tolist(),
|
| 47 |
+
}
|
| 48 |
+
print(json.dumps({
|
| 49 |
+
"record_id": record["record_id"], "split": record["split"],
|
| 50 |
+
"action_space": meta["action_space"], "outputs": outputs,
|
| 51 |
+
}, indent=2))
|
| 52 |
+
|
| 53 |
+
|
| 54 |
+
if __name__ == "__main__":
|
| 55 |
+
main()
|
licenses/LIBERO-MIT.txt
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
MIT License
|
| 2 |
+
|
| 3 |
+
Copyright (c) 2023 Lifelong Robot Learning
|
| 4 |
+
|
| 5 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 6 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 7 |
+
in the Software without restriction, including without limitation the rights
|
| 8 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 9 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 10 |
+
furnished to do so, subject to the following conditions:
|
| 11 |
+
|
| 12 |
+
The above copyright notice and this permission notice shall be included in all
|
| 13 |
+
copies or substantial portions of the Software.
|
| 14 |
+
|
| 15 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 16 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 17 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 18 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 19 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 20 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 21 |
+
SOFTWARE.
|
licenses/OpenVLA-OFT-MIT.txt
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
MIT License
|
| 2 |
+
|
| 3 |
+
Copyright (c) 2025 Moo Jin Kim, Chelsea Finn, Percy Liang.
|
| 4 |
+
|
| 5 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 6 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 7 |
+
in the Software without restriction, including without limitation the rights
|
| 8 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 9 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 10 |
+
furnished to do so, subject to the following conditions:
|
| 11 |
+
|
| 12 |
+
The above copyright notice and this permission notice shall be included in all
|
| 13 |
+
copies or substantial portions of the Software.
|
| 14 |
+
|
| 15 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 16 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 17 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 18 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 19 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 20 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 21 |
+
SOFTWARE.
|
normalization/dataset_statistics.json
ADDED
|
@@ -0,0 +1,133 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"libero_10_no_noops": {
|
| 3 |
+
"action": {
|
| 4 |
+
"mean": [
|
| 5 |
+
0.01820324920117855,
|
| 6 |
+
0.05858374014496803,
|
| 7 |
+
-0.05592384561896324,
|
| 8 |
+
0.004626928828656673,
|
| 9 |
+
0.00289608770981431,
|
| 10 |
+
-0.007673131301999092,
|
| 11 |
+
0.5457824468612671
|
| 12 |
+
],
|
| 13 |
+
"std": [
|
| 14 |
+
0.2825464606285095,
|
| 15 |
+
0.35904666781425476,
|
| 16 |
+
0.3673802614212036,
|
| 17 |
+
0.03770702704787254,
|
| 18 |
+
0.05429719388484955,
|
| 19 |
+
0.08725254982709885,
|
| 20 |
+
0.49815231561660767
|
| 21 |
+
],
|
| 22 |
+
"max": [
|
| 23 |
+
0.9375,
|
| 24 |
+
0.9375,
|
| 25 |
+
0.9375,
|
| 26 |
+
0.30000001192092896,
|
| 27 |
+
0.29357144236564636,
|
| 28 |
+
0.375,
|
| 29 |
+
1.0
|
| 30 |
+
],
|
| 31 |
+
"min": [
|
| 32 |
+
-0.9375,
|
| 33 |
+
-0.9375,
|
| 34 |
+
-0.9375,
|
| 35 |
+
-0.23642857372760773,
|
| 36 |
+
-0.3053571283817291,
|
| 37 |
+
-0.3675000071525574,
|
| 38 |
+
0.0
|
| 39 |
+
],
|
| 40 |
+
"q01": [
|
| 41 |
+
-0.6348214149475098,
|
| 42 |
+
-0.7741071581840515,
|
| 43 |
+
-0.7633928656578064,
|
| 44 |
+
-0.09749999642372131,
|
| 45 |
+
-0.14819999992847435,
|
| 46 |
+
-0.2742857038974762,
|
| 47 |
+
0.0
|
| 48 |
+
],
|
| 49 |
+
"q99": [
|
| 50 |
+
0.7714285850524902,
|
| 51 |
+
0.8464285731315613,
|
| 52 |
+
0.9375,
|
| 53 |
+
0.13928571343421936,
|
| 54 |
+
0.15964286029338837,
|
| 55 |
+
0.3246428668498993,
|
| 56 |
+
1.0
|
| 57 |
+
],
|
| 58 |
+
"mask": [
|
| 59 |
+
true,
|
| 60 |
+
true,
|
| 61 |
+
true,
|
| 62 |
+
true,
|
| 63 |
+
true,
|
| 64 |
+
true,
|
| 65 |
+
false
|
| 66 |
+
]
|
| 67 |
+
},
|
| 68 |
+
"proprio": {
|
| 69 |
+
"mean": [
|
| 70 |
+
-0.04190658777952194,
|
| 71 |
+
0.03539430722594261,
|
| 72 |
+
0.8257141709327698,
|
| 73 |
+
2.908308267593384,
|
| 74 |
+
-0.5562185049057007,
|
| 75 |
+
-0.16649018228054047,
|
| 76 |
+
0.028316624462604523,
|
| 77 |
+
-0.028561657294631004
|
| 78 |
+
],
|
| 79 |
+
"std": [
|
| 80 |
+
0.10743364691734314,
|
| 81 |
+
0.14424669742584229,
|
| 82 |
+
0.2572328448295593,
|
| 83 |
+
0.3441362977027893,
|
| 84 |
+
1.234421730041504,
|
| 85 |
+
0.3579835891723633,
|
| 86 |
+
0.013308707624673843,
|
| 87 |
+
0.013174631632864475
|
| 88 |
+
],
|
| 89 |
+
"max": [
|
| 90 |
+
0.21031762659549713,
|
| 91 |
+
0.39128610491752625,
|
| 92 |
+
1.3332009315490723,
|
| 93 |
+
3.6714255809783936,
|
| 94 |
+
3.560650587081909,
|
| 95 |
+
1.386339545249939,
|
| 96 |
+
0.04160946607589722,
|
| 97 |
+
0.0013633022317662835
|
| 98 |
+
],
|
| 99 |
+
"min": [
|
| 100 |
+
-0.4828203022480011,
|
| 101 |
+
-0.3255046010017395,
|
| 102 |
+
0.445506751537323,
|
| 103 |
+
1.1321442127227783,
|
| 104 |
+
-3.641430377960205,
|
| 105 |
+
-1.842738389968872,
|
| 106 |
+
-0.0010040868073701859,
|
| 107 |
+
-0.04111652821302414
|
| 108 |
+
],
|
| 109 |
+
"q01": [
|
| 110 |
+
-0.3899900782108307,
|
| 111 |
+
-0.2838300323486328,
|
| 112 |
+
0.44795057058334353,
|
| 113 |
+
1.8810229921340942,
|
| 114 |
+
-2.886677579879761,
|
| 115 |
+
-1.1599004411697387,
|
| 116 |
+
0.002066459748893976,
|
| 117 |
+
-0.04001387819647789
|
| 118 |
+
],
|
| 119 |
+
"q99": [
|
| 120 |
+
0.1530261474847791,
|
| 121 |
+
0.32915401458740223,
|
| 122 |
+
1.2546923208236693,
|
| 123 |
+
3.303542451858519,
|
| 124 |
+
2.7496529006957933,
|
| 125 |
+
0.6893712210655194,
|
| 126 |
+
0.040048558115959164,
|
| 127 |
+
-0.0017598449345678235
|
| 128 |
+
]
|
| 129 |
+
},
|
| 130 |
+
"num_transitions": 101469,
|
| 131 |
+
"num_trajectories": 379
|
| 132 |
+
}
|
| 133 |
+
}
|
normalization/source.json
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"model": "moojink/openvla-7b-oft-finetuned-libero-10",
|
| 3 |
+
"file": "dataset_statistics.json",
|
| 4 |
+
"key": "libero_10_no_noops",
|
| 5 |
+
"url": "https://huggingface.co/moojink/openvla-7b-oft-finetuned-libero-10/blob/main/dataset_statistics.json",
|
| 6 |
+
"purpose": "Exact external statistics used by the source OpenVLA-base record generator",
|
| 7 |
+
"license": "MIT",
|
| 8 |
+
"license_file": "../licenses/OpenVLA-OFT-MIT.txt"
|
| 9 |
+
}
|
offline_metrics.json
ADDED
|
@@ -0,0 +1,370 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"evaluation_type": "offline paired-action metrics",
|
| 3 |
+
"timestamp": "2026-04-17 17:27:07",
|
| 4 |
+
"num_records": {
|
| 5 |
+
"train": 240,
|
| 6 |
+
"val": 80,
|
| 7 |
+
"test": 80
|
| 8 |
+
},
|
| 9 |
+
"models": {
|
| 10 |
+
"identity": {
|
| 11 |
+
"train_metrics": {
|
| 12 |
+
"mean_break_clean_l2": 0.7432431578636169,
|
| 13 |
+
"mean_break_expert_l2": 1.4091085195541382,
|
| 14 |
+
"mean_clean_mse": 0.3958700895309448,
|
| 15 |
+
"mean_control_clean_l2": 0.7472800016403198,
|
| 16 |
+
"mean_control_expert_l2": 1.4053751230239868,
|
| 17 |
+
"mean_control_mse": 0.37037795782089233,
|
| 18 |
+
"break_gt_control_rate_clean_ref": 0.5458333333333333,
|
| 19 |
+
"break_gt_control_rate_expert_ref": 0.4875,
|
| 20 |
+
"mean_clean_ref_gap": -0.004036815837025642,
|
| 21 |
+
"mean_expert_ref_gap": 0.003733340883627534,
|
| 22 |
+
"by_case": {
|
| 23 |
+
"break_target_object": {
|
| 24 |
+
"mean_break_clean_l2": 0.543735682964325,
|
| 25 |
+
"mean_break_expert_l2": 1.5344077348709106,
|
| 26 |
+
"mean_clean_mse": 0.45629745721817017,
|
| 27 |
+
"mean_control_clean_l2": 0.6087575554847717,
|
| 28 |
+
"mean_control_expert_l2": 1.5666840076446533,
|
| 29 |
+
"mean_control_mse": 0.42383497953414917,
|
| 30 |
+
"break_gt_control_rate_clean_ref": 0.4666666666666667,
|
| 31 |
+
"break_gt_control_rate_expert_ref": 0.49166666666666664,
|
| 32 |
+
"mean_clean_ref_gap": -0.06502188742160797,
|
| 33 |
+
"mean_expert_ref_gap": -0.032276351004838943
|
| 34 |
+
},
|
| 35 |
+
"break_executability_condition": {
|
| 36 |
+
"mean_break_clean_l2": 0.9427506923675537,
|
| 37 |
+
"mean_break_expert_l2": 1.2838094234466553,
|
| 38 |
+
"mean_clean_mse": 0.3354426920413971,
|
| 39 |
+
"mean_control_clean_l2": 0.8858024477958679,
|
| 40 |
+
"mean_control_expert_l2": 1.2440663576126099,
|
| 41 |
+
"mean_control_mse": 0.3169209063053131,
|
| 42 |
+
"break_gt_control_rate_clean_ref": 0.625,
|
| 43 |
+
"break_gt_control_rate_expert_ref": 0.48333333333333334,
|
| 44 |
+
"mean_clean_ref_gap": 0.056948255747556686,
|
| 45 |
+
"mean_expert_ref_gap": 0.039743032306432724
|
| 46 |
+
}
|
| 47 |
+
},
|
| 48 |
+
"num_records": 240
|
| 49 |
+
},
|
| 50 |
+
"val_metrics": {
|
| 51 |
+
"mean_break_clean_l2": 0.6865259408950806,
|
| 52 |
+
"mean_break_expert_l2": 1.3638770580291748,
|
| 53 |
+
"mean_clean_mse": 0.35426950454711914,
|
| 54 |
+
"mean_control_clean_l2": 0.6174260377883911,
|
| 55 |
+
"mean_control_expert_l2": 1.4026581048965454,
|
| 56 |
+
"mean_control_mse": 0.3633658289909363,
|
| 57 |
+
"break_gt_control_rate_clean_ref": 0.575,
|
| 58 |
+
"break_gt_control_rate_expert_ref": 0.4375,
|
| 59 |
+
"mean_clean_ref_gap": 0.06909994781017303,
|
| 60 |
+
"mean_expert_ref_gap": -0.03878090903162956,
|
| 61 |
+
"by_case": {
|
| 62 |
+
"break_target_object": {
|
| 63 |
+
"mean_break_clean_l2": 0.6781854629516602,
|
| 64 |
+
"mean_break_expert_l2": 1.4673945903778076,
|
| 65 |
+
"mean_clean_mse": 0.43167275190353394,
|
| 66 |
+
"mean_control_clean_l2": 0.5327732563018799,
|
| 67 |
+
"mean_control_expert_l2": 1.5085182189941406,
|
| 68 |
+
"mean_control_mse": 0.3970142602920532,
|
| 69 |
+
"break_gt_control_rate_clean_ref": 0.575,
|
| 70 |
+
"break_gt_control_rate_expert_ref": 0.375,
|
| 71 |
+
"mean_clean_ref_gap": 0.14541222155094147,
|
| 72 |
+
"mean_expert_ref_gap": -0.041123662143945694
|
| 73 |
+
},
|
| 74 |
+
"break_executability_condition": {
|
| 75 |
+
"mean_break_clean_l2": 0.694866418838501,
|
| 76 |
+
"mean_break_expert_l2": 1.2603596448898315,
|
| 77 |
+
"mean_clean_mse": 0.27686622738838196,
|
| 78 |
+
"mean_control_clean_l2": 0.7020787596702576,
|
| 79 |
+
"mean_control_expert_l2": 1.2967978715896606,
|
| 80 |
+
"mean_control_mse": 0.32971736788749695,
|
| 81 |
+
"break_gt_control_rate_clean_ref": 0.575,
|
| 82 |
+
"break_gt_control_rate_expert_ref": 0.5,
|
| 83 |
+
"mean_clean_ref_gap": -0.007212340831756592,
|
| 84 |
+
"mean_expert_ref_gap": -0.036438144743442535
|
| 85 |
+
}
|
| 86 |
+
},
|
| 87 |
+
"num_records": 80
|
| 88 |
+
},
|
| 89 |
+
"test_metrics": {
|
| 90 |
+
"mean_break_clean_l2": 0.6800279021263123,
|
| 91 |
+
"mean_break_expert_l2": 1.6663868427276611,
|
| 92 |
+
"mean_clean_mse": 0.39530259370803833,
|
| 93 |
+
"mean_control_clean_l2": 0.7465093731880188,
|
| 94 |
+
"mean_control_expert_l2": 1.351813554763794,
|
| 95 |
+
"mean_control_mse": 0.3437272906303406,
|
| 96 |
+
"break_gt_control_rate_clean_ref": 0.5125,
|
| 97 |
+
"break_gt_control_rate_expert_ref": 0.5625,
|
| 98 |
+
"mean_clean_ref_gap": -0.06648143380880356,
|
| 99 |
+
"mean_expert_ref_gap": 0.31457358598709106,
|
| 100 |
+
"by_case": {
|
| 101 |
+
"break_target_object": {
|
| 102 |
+
"mean_break_clean_l2": 0.4548130929470062,
|
| 103 |
+
"mean_break_expert_l2": 1.7907543182373047,
|
| 104 |
+
"mean_clean_mse": 0.4607141613960266,
|
| 105 |
+
"mean_control_clean_l2": 0.6214543581008911,
|
| 106 |
+
"mean_control_expert_l2": 1.5308020114898682,
|
| 107 |
+
"mean_control_mse": 0.40925103425979614,
|
| 108 |
+
"break_gt_control_rate_clean_ref": 0.4,
|
| 109 |
+
"break_gt_control_rate_expert_ref": 0.55,
|
| 110 |
+
"mean_clean_ref_gap": -0.1666412204504013,
|
| 111 |
+
"mean_expert_ref_gap": 0.25995248556137085
|
| 112 |
+
},
|
| 113 |
+
"break_executability_condition": {
|
| 114 |
+
"mean_break_clean_l2": 0.9052427411079407,
|
| 115 |
+
"mean_break_expert_l2": 1.5420197248458862,
|
| 116 |
+
"mean_clean_mse": 0.32989105582237244,
|
| 117 |
+
"mean_control_clean_l2": 0.8715643882751465,
|
| 118 |
+
"mean_control_expert_l2": 1.1728250980377197,
|
| 119 |
+
"mean_control_mse": 0.27820348739624023,
|
| 120 |
+
"break_gt_control_rate_clean_ref": 0.625,
|
| 121 |
+
"break_gt_control_rate_expert_ref": 0.575,
|
| 122 |
+
"mean_clean_ref_gap": 0.033678364008665085,
|
| 123 |
+
"mean_expert_ref_gap": 0.3691946864128113
|
| 124 |
+
}
|
| 125 |
+
},
|
| 126 |
+
"num_records": 80
|
| 127 |
+
}
|
| 128 |
+
},
|
| 129 |
+
"action_only_adapter": {
|
| 130 |
+
"best_val_loss_total": 1.5956528186798096,
|
| 131 |
+
"train_metrics": {
|
| 132 |
+
"mean_break_clean_l2": 0.36038321256637573,
|
| 133 |
+
"mean_break_expert_l2": 1.1645487546920776,
|
| 134 |
+
"mean_clean_mse": 0.20006108283996582,
|
| 135 |
+
"mean_control_clean_l2": 0.2829788327217102,
|
| 136 |
+
"mean_control_expert_l2": 1.1402603387832642,
|
| 137 |
+
"mean_control_mse": 0.19075056910514832,
|
| 138 |
+
"break_gt_control_rate_clean_ref": 0.5875,
|
| 139 |
+
"break_gt_control_rate_expert_ref": 0.5291666666666667,
|
| 140 |
+
"mean_clean_ref_gap": 0.07740439474582672,
|
| 141 |
+
"mean_expert_ref_gap": 0.024288399145007133,
|
| 142 |
+
"by_case": {
|
| 143 |
+
"break_target_object": {
|
| 144 |
+
"mean_break_clean_l2": 0.25087252259254456,
|
| 145 |
+
"mean_break_expert_l2": 1.198777675628662,
|
| 146 |
+
"mean_clean_mse": 0.21315599977970123,
|
| 147 |
+
"mean_control_clean_l2": 0.22465568780899048,
|
| 148 |
+
"mean_control_expert_l2": 1.1870900392532349,
|
| 149 |
+
"mean_control_mse": 0.20506463944911957,
|
| 150 |
+
"break_gt_control_rate_clean_ref": 0.5083333333333333,
|
| 151 |
+
"break_gt_control_rate_expert_ref": 0.55,
|
| 152 |
+
"mean_clean_ref_gap": 0.026216844096779823,
|
| 153 |
+
"mean_expert_ref_gap": 0.011687582358717918
|
| 154 |
+
},
|
| 155 |
+
"break_executability_condition": {
|
| 156 |
+
"mean_break_clean_l2": 0.4698939025402069,
|
| 157 |
+
"mean_break_expert_l2": 1.1303197145462036,
|
| 158 |
+
"mean_clean_mse": 0.1869661659002304,
|
| 159 |
+
"mean_control_clean_l2": 0.34130197763442993,
|
| 160 |
+
"mean_control_expert_l2": 1.0934306383132935,
|
| 161 |
+
"mean_control_mse": 0.17643649876117706,
|
| 162 |
+
"break_gt_control_rate_clean_ref": 0.6666666666666666,
|
| 163 |
+
"break_gt_control_rate_expert_ref": 0.5083333333333333,
|
| 164 |
+
"mean_clean_ref_gap": 0.12859195470809937,
|
| 165 |
+
"mean_expert_ref_gap": 0.0368892140686512
|
| 166 |
+
}
|
| 167 |
+
},
|
| 168 |
+
"num_records": 240
|
| 169 |
+
},
|
| 170 |
+
"val_metrics": {
|
| 171 |
+
"mean_break_clean_l2": 0.34965047240257263,
|
| 172 |
+
"mean_break_expert_l2": 1.1548038721084595,
|
| 173 |
+
"mean_clean_mse": 0.1989673674106598,
|
| 174 |
+
"mean_control_clean_l2": 0.2915192246437073,
|
| 175 |
+
"mean_control_expert_l2": 1.1498476266860962,
|
| 176 |
+
"mean_control_mse": 0.19426663219928741,
|
| 177 |
+
"break_gt_control_rate_clean_ref": 0.6125,
|
| 178 |
+
"break_gt_control_rate_expert_ref": 0.55,
|
| 179 |
+
"mean_clean_ref_gap": 0.05813126638531685,
|
| 180 |
+
"mean_expert_ref_gap": 0.004956287331879139,
|
| 181 |
+
"by_case": {
|
| 182 |
+
"break_target_object": {
|
| 183 |
+
"mean_break_clean_l2": 0.2960914373397827,
|
| 184 |
+
"mean_break_expert_l2": 1.1769672632217407,
|
| 185 |
+
"mean_clean_mse": 0.2139633595943451,
|
| 186 |
+
"mean_control_clean_l2": 0.262840211391449,
|
| 187 |
+
"mean_control_expert_l2": 1.1790968179702759,
|
| 188 |
+
"mean_control_mse": 0.2026643306016922,
|
| 189 |
+
"break_gt_control_rate_clean_ref": 0.575,
|
| 190 |
+
"break_gt_control_rate_expert_ref": 0.5,
|
| 191 |
+
"mean_clean_ref_gap": 0.03325119987130165,
|
| 192 |
+
"mean_expert_ref_gap": -0.002129593398422003
|
| 193 |
+
},
|
| 194 |
+
"break_executability_condition": {
|
| 195 |
+
"mean_break_clean_l2": 0.4032095968723297,
|
| 196 |
+
"mean_break_expert_l2": 1.1326402425765991,
|
| 197 |
+
"mean_clean_mse": 0.1839713752269745,
|
| 198 |
+
"mean_control_clean_l2": 0.3201982378959656,
|
| 199 |
+
"mean_control_expert_l2": 1.1205980777740479,
|
| 200 |
+
"mean_control_mse": 0.18586888909339905,
|
| 201 |
+
"break_gt_control_rate_clean_ref": 0.65,
|
| 202 |
+
"break_gt_control_rate_expert_ref": 0.6,
|
| 203 |
+
"mean_clean_ref_gap": 0.08301133662462234,
|
| 204 |
+
"mean_expert_ref_gap": 0.012042166665196419
|
| 205 |
+
}
|
| 206 |
+
},
|
| 207 |
+
"num_records": 80
|
| 208 |
+
},
|
| 209 |
+
"test_metrics": {
|
| 210 |
+
"mean_break_clean_l2": 0.3397909700870514,
|
| 211 |
+
"mean_break_expert_l2": 1.2354549169540405,
|
| 212 |
+
"mean_clean_mse": 0.21382936835289001,
|
| 213 |
+
"mean_control_clean_l2": 0.3245377540588379,
|
| 214 |
+
"mean_control_expert_l2": 1.1614665985107422,
|
| 215 |
+
"mean_control_mse": 0.19767430424690247,
|
| 216 |
+
"break_gt_control_rate_clean_ref": 0.5375,
|
| 217 |
+
"break_gt_control_rate_expert_ref": 0.5125,
|
| 218 |
+
"mean_clean_ref_gap": 0.015253203921020031,
|
| 219 |
+
"mean_expert_ref_gap": 0.07398830354213715,
|
| 220 |
+
"by_case": {
|
| 221 |
+
"break_target_object": {
|
| 222 |
+
"mean_break_clean_l2": 0.23053522408008575,
|
| 223 |
+
"mean_break_expert_l2": 1.2631430625915527,
|
| 224 |
+
"mean_clean_mse": 0.22174766659736633,
|
| 225 |
+
"mean_control_clean_l2": 0.25600486993789673,
|
| 226 |
+
"mean_control_expert_l2": 1.2138757705688477,
|
| 227 |
+
"mean_control_mse": 0.21398238837718964,
|
| 228 |
+
"break_gt_control_rate_clean_ref": 0.45,
|
| 229 |
+
"break_gt_control_rate_expert_ref": 0.475,
|
| 230 |
+
"mean_clean_ref_gap": -0.025469651445746422,
|
| 231 |
+
"mean_expert_ref_gap": 0.04926721006631851
|
| 232 |
+
},
|
| 233 |
+
"break_executability_condition": {
|
| 234 |
+
"mean_break_clean_l2": 0.44904670119285583,
|
| 235 |
+
"mean_break_expert_l2": 1.2077667713165283,
|
| 236 |
+
"mean_clean_mse": 0.2059110701084137,
|
| 237 |
+
"mean_control_clean_l2": 0.39307063817977905,
|
| 238 |
+
"mean_control_expert_l2": 1.1090574264526367,
|
| 239 |
+
"mean_control_mse": 0.1813661754131317,
|
| 240 |
+
"break_gt_control_rate_clean_ref": 0.625,
|
| 241 |
+
"break_gt_control_rate_expert_ref": 0.55,
|
| 242 |
+
"mean_clean_ref_gap": 0.05597605183720589,
|
| 243 |
+
"mean_expert_ref_gap": 0.09870939701795578
|
| 244 |
+
}
|
| 245 |
+
},
|
| 246 |
+
"num_records": 80
|
| 247 |
+
}
|
| 248 |
+
},
|
| 249 |
+
"text_action_adapter": {
|
| 250 |
+
"best_val_loss_total": 0.36617913842201233,
|
| 251 |
+
"train_metrics": {
|
| 252 |
+
"mean_break_clean_l2": 1.9662588834762573,
|
| 253 |
+
"mean_break_expert_l2": 2.3562726974487305,
|
| 254 |
+
"mean_clean_mse": 0.1834717094898224,
|
| 255 |
+
"mean_control_clean_l2": 0.2672695815563202,
|
| 256 |
+
"mean_control_expert_l2": 1.0719788074493408,
|
| 257 |
+
"mean_control_mse": 0.1756630837917328,
|
| 258 |
+
"break_gt_control_rate_clean_ref": 1.0,
|
| 259 |
+
"break_gt_control_rate_expert_ref": 1.0,
|
| 260 |
+
"mean_clean_ref_gap": 1.6989891529083252,
|
| 261 |
+
"mean_expert_ref_gap": 1.2842938899993896,
|
| 262 |
+
"by_case": {
|
| 263 |
+
"break_target_object": {
|
| 264 |
+
"mean_break_clean_l2": 1.7676277160644531,
|
| 265 |
+
"mean_break_expert_l2": 2.259204864501953,
|
| 266 |
+
"mean_clean_mse": 0.2054469883441925,
|
| 267 |
+
"mean_control_clean_l2": 0.2036994993686676,
|
| 268 |
+
"mean_control_expert_l2": 1.1436399221420288,
|
| 269 |
+
"mean_control_mse": 0.19497980177402496,
|
| 270 |
+
"break_gt_control_rate_clean_ref": 1.0,
|
| 271 |
+
"break_gt_control_rate_expert_ref": 1.0,
|
| 272 |
+
"mean_clean_ref_gap": 1.5639280080795288,
|
| 273 |
+
"mean_expert_ref_gap": 1.1155647039413452
|
| 274 |
+
},
|
| 275 |
+
"break_executability_condition": {
|
| 276 |
+
"mean_break_clean_l2": 2.1648900508880615,
|
| 277 |
+
"mean_break_expert_l2": 2.4533402919769287,
|
| 278 |
+
"mean_clean_mse": 0.16149643063545227,
|
| 279 |
+
"mean_control_clean_l2": 0.3308396339416504,
|
| 280 |
+
"mean_control_expert_l2": 1.0003175735473633,
|
| 281 |
+
"mean_control_mse": 0.1563463807106018,
|
| 282 |
+
"break_gt_control_rate_clean_ref": 1.0,
|
| 283 |
+
"break_gt_control_rate_expert_ref": 1.0,
|
| 284 |
+
"mean_clean_ref_gap": 1.8340502977371216,
|
| 285 |
+
"mean_expert_ref_gap": 1.453023076057434
|
| 286 |
+
}
|
| 287 |
+
},
|
| 288 |
+
"num_records": 240
|
| 289 |
+
},
|
| 290 |
+
"val_metrics": {
|
| 291 |
+
"mean_break_clean_l2": 1.9402227401733398,
|
| 292 |
+
"mean_break_expert_l2": 2.3244988918304443,
|
| 293 |
+
"mean_clean_mse": 0.168838232755661,
|
| 294 |
+
"mean_control_clean_l2": 0.23467329144477844,
|
| 295 |
+
"mean_control_expert_l2": 1.0611259937286377,
|
| 296 |
+
"mean_control_mse": 0.17241854965686798,
|
| 297 |
+
"break_gt_control_rate_clean_ref": 1.0,
|
| 298 |
+
"break_gt_control_rate_expert_ref": 1.0,
|
| 299 |
+
"mean_clean_ref_gap": 1.7055492401123047,
|
| 300 |
+
"mean_expert_ref_gap": 1.2633731365203857,
|
| 301 |
+
"by_case": {
|
| 302 |
+
"break_target_object": {
|
| 303 |
+
"mean_break_clean_l2": 1.78369140625,
|
| 304 |
+
"mean_break_expert_l2": 2.2142577171325684,
|
| 305 |
+
"mean_clean_mse": 0.19796983897686005,
|
| 306 |
+
"mean_control_clean_l2": 0.19418850541114807,
|
| 307 |
+
"mean_control_expert_l2": 1.1197407245635986,
|
| 308 |
+
"mean_control_mse": 0.18957313895225525,
|
| 309 |
+
"break_gt_control_rate_clean_ref": 1.0,
|
| 310 |
+
"break_gt_control_rate_expert_ref": 1.0,
|
| 311 |
+
"mean_clean_ref_gap": 1.5895028114318848,
|
| 312 |
+
"mean_expert_ref_gap": 1.0945169925689697
|
| 313 |
+
},
|
| 314 |
+
"break_executability_condition": {
|
| 315 |
+
"mean_break_clean_l2": 2.0967538356781006,
|
| 316 |
+
"mean_break_expert_l2": 2.4347403049468994,
|
| 317 |
+
"mean_clean_mse": 0.13970664143562317,
|
| 318 |
+
"mean_control_clean_l2": 0.2751580476760864,
|
| 319 |
+
"mean_control_expert_l2": 1.0025112628936768,
|
| 320 |
+
"mean_control_mse": 0.15526394546031952,
|
| 321 |
+
"break_gt_control_rate_clean_ref": 1.0,
|
| 322 |
+
"break_gt_control_rate_expert_ref": 1.0,
|
| 323 |
+
"mean_clean_ref_gap": 1.8215957880020142,
|
| 324 |
+
"mean_expert_ref_gap": 1.4322290420532227
|
| 325 |
+
}
|
| 326 |
+
},
|
| 327 |
+
"num_records": 80
|
| 328 |
+
},
|
| 329 |
+
"test_metrics": {
|
| 330 |
+
"mean_break_clean_l2": 1.9752228260040283,
|
| 331 |
+
"mean_break_expert_l2": 2.467482089996338,
|
| 332 |
+
"mean_clean_mse": 0.18618619441986084,
|
| 333 |
+
"mean_control_clean_l2": 0.273476779460907,
|
| 334 |
+
"mean_control_expert_l2": 1.0540869235992432,
|
| 335 |
+
"mean_control_mse": 0.1706114113330841,
|
| 336 |
+
"break_gt_control_rate_clean_ref": 1.0,
|
| 337 |
+
"break_gt_control_rate_expert_ref": 1.0,
|
| 338 |
+
"mean_clean_ref_gap": 1.7017459869384766,
|
| 339 |
+
"mean_expert_ref_gap": 1.4133949279785156,
|
| 340 |
+
"by_case": {
|
| 341 |
+
"break_target_object": {
|
| 342 |
+
"mean_break_clean_l2": 1.7627042531967163,
|
| 343 |
+
"mean_break_expert_l2": 2.334259033203125,
|
| 344 |
+
"mean_clean_mse": 0.21386170387268066,
|
| 345 |
+
"mean_control_clean_l2": 0.2173435240983963,
|
| 346 |
+
"mean_control_expert_l2": 1.1480493545532227,
|
| 347 |
+
"mean_control_mse": 0.19736817479133606,
|
| 348 |
+
"break_gt_control_rate_clean_ref": 1.0,
|
| 349 |
+
"break_gt_control_rate_expert_ref": 1.0,
|
| 350 |
+
"mean_clean_ref_gap": 1.5453606843948364,
|
| 351 |
+
"mean_expert_ref_gap": 1.1862096786499023
|
| 352 |
+
},
|
| 353 |
+
"break_executability_condition": {
|
| 354 |
+
"mean_break_clean_l2": 2.18774151802063,
|
| 355 |
+
"mean_break_expert_l2": 2.6007046699523926,
|
| 356 |
+
"mean_clean_mse": 0.1585106998682022,
|
| 357 |
+
"mean_control_clean_l2": 0.3296099901199341,
|
| 358 |
+
"mean_control_expert_l2": 0.9601246118545532,
|
| 359 |
+
"mean_control_mse": 0.14385461807250977,
|
| 360 |
+
"break_gt_control_rate_clean_ref": 1.0,
|
| 361 |
+
"break_gt_control_rate_expert_ref": 1.0,
|
| 362 |
+
"mean_clean_ref_gap": 1.8581314086914062,
|
| 363 |
+
"mean_expert_ref_gap": 1.640580415725708
|
| 364 |
+
}
|
| 365 |
+
},
|
| 366 |
+
"num_records": 80
|
| 367 |
+
}
|
| 368 |
+
}
|
| 369 |
+
}
|
| 370 |
+
}
|
training_config.json
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"objective_preset": "legacy",
|
| 3 |
+
"overrides": {
|
| 4 |
+
"squared_error_reduction": "mean",
|
| 5 |
+
"lambda_imitation": 1.0,
|
| 6 |
+
"lambda_expert_margin": 1.0,
|
| 7 |
+
"hidden_dim": 128,
|
| 8 |
+
"delta_scale": 0.8,
|
| 9 |
+
"margin": 0.3,
|
| 10 |
+
"lambda_consistency": 0.5,
|
| 11 |
+
"lambda_margin": 2.0,
|
| 12 |
+
"lambda_anchor": 0.05,
|
| 13 |
+
"lr": 0.002,
|
| 14 |
+
"epochs": 100,
|
| 15 |
+
"batch_size": 64
|
| 16 |
+
}
|
| 17 |
+
}
|