Robotics
LeRobot
Safetensors
imitation-learning
vision-language-action
harp-vla
qpos-absolute
diffusion
Instructions to use zimplex/harp-vla-train37-diffusion with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LeRobot
How to use zimplex/harp-vla-train37-diffusion with LeRobot:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
|
Download README.md from zimplex/harp-vla-train37-diffusion: direct link, hf CLI and curl.
- Browser
- Download file 7.15 kB
-
https://huggingface.co/zimplex/harp-vla-train37-diffusion/resolve/main/README.md
- Command line
-
hf download hf://zimplex/harp-vla-train37-diffusion/README.md
-
curl -L -o README.md https://huggingface.co/zimplex/harp-vla-train37-diffusion/resolve/main/README.md
7.15 kB
| tags: | |
| - lerobot | |
| - robotics | |
| - imitation-learning | |
| - vision-language-action | |
| - harp-vla | |
| - qpos-absolute | |
| - diffusion | |
| datasets: | |
| - zhouqh/harp_vla_data | |
| library_name: lerobot | |
| pipeline_tag: robotics | |
| # LeRobot Diffusion Policy fine-tuned on HARP VLA train37 | |
| This is the validated final LeRobot policy checkpoint from the joint 37-task | |
| HARP VLA fine-tuning run. It predicts **absolute Franka joint-position targets | |
| plus gripper state** (`qpos_target_abs`, action dimension 8). | |
| Repository: `zimplex/harp-vla-train37-diffusion` | |
| Final step: **6,250** | |
| Final training job: **131349** | |
| Final audit job: **131714** | |
| ## Dataset | |
| | Field | Value | | |
| |---|---| | |
| | Public source | [`zhouqh/harp_vla_data`](https://huggingface.co/datasets/zhouqh/harp_vla_data) | | |
| | Dataset card license | MIT at the pinned revision | | |
| | Pinned source revision | [`46691c4098ae2ca46a131745d1fe386d63a3fc33`](https://huggingface.co/datasets/zhouqh/harp_vla_data/tree/46691c4098ae2ca46a131745d1fe386d63a3fc33) | | |
| | Conversion | LeRobot v3, `qpos_target_abs`, 20 Hz, PyAV video backend | | |
| | Robot / renderer / schema | Franka / NYX / `vla_steps_v2_qpos_target` | | |
| | Coverage | 37 source tasks, 36 language instructions, 300 episodes/task | | |
| | Size | 11,100 episodes; 4,373,192 frames | | |
| | Camera payload | head RGB + right-wrist RGB; recorded depth groups are empty by contract | | |
| | Dataset completion marker SHA-256 | `f9d5121d9f7a210918e5d3dd394d915b00a413d1659538d01729e8f8f6b46db6` | | |
| | Converted data tree SHA-256 | `65dfc626682a26bfb64478d8b9da9b008aafe2d5536c97b52a21b2c320e8c055` | | |
| | Task manifest SHA-256 | `b0f46008dfe238c08be3c31f24d86ef80e155e7c5b9b8e75b99c8d73812aa8c6` | | |
| ## Training protocol | |
| All five policies used the same optimizer-step and example budget as the | |
| earlier HR-Bench train19 sweep. Every policy consumed exactly **6,400,000 | |
| training examples** (6,400,000 for this model), approximately 1.46 | |
| passes over the 4,373,192-frame dataset. This is not equal-epoch training. | |
| | Field | Value | | |
| |---|---| | |
| | Model / policy type | `diffusion` | | |
| | Initialization | `Diffusion Policy initialized from scratch with a TorchVision ResNet-18 ImageNet-1K backbone` | | |
| | Pinned base revision or digest | `f37072fd47e89c5e827621c5baffa7500819f7896bbacec160b1a16c560e07ec` | | |
| | Nodes × GPUs/node | 4 × 8 NVIDIA B200 | | |
| | Batch per process | 32 | | |
| | Global batch | 1024 | | |
| | Optimizer steps | 6,250 | | |
| | Save cadence | every 5,000 steps | | |
| | Total examples | 6,400,000 | | |
| | Seed | 1000 | | |
| | Image augmentation | disabled | | |
| | Mixed precision flag | `use_amp=false` | | |
| | Data workers | 4 per process; prefetch factor 4 | | |
| | cuDNN deterministic | `false` | | |
| | W&B | offline; project `harp_vla_train37_gcp` | | |
| | Training budget policy | `same_optimizer_and_example_budget_as_hr_v2_train19` | | |
| The Diffusion Policy was initialized from scratch apart from the pinned TorchVision ResNet-18 `IMAGENET1K_V1` visual backbone. | |
| ### Pinned software runtime | |
| | Component | Version / revision | | |
| |---|---| | |
| | LeRobot source | `26ff40ddd784280efc133a8e5af1a76e5ac731c2` plus the recorded HARP entrypoint | | |
| | Python | 3.12 | | |
| | PyTorch / TorchVision | 2.8.0 / 0.23.0 | | |
| | Diffusers / Datasets | 0.35.2 / 4.4.1 | | |
| | PyAV | 15.1.0 | | |
| ### Optimizer and scheduler | |
| ```json | |
| { | |
| "optimizer": { | |
| "betas": [ | |
| 0.95, | |
| 0.999 | |
| ], | |
| "eps": 1e-08, | |
| "grad_clip_norm": 10.0, | |
| "lr": 0.0001, | |
| "type": "adam", | |
| "weight_decay": 1e-06 | |
| }, | |
| "scheduler": { | |
| "name": "cosine", | |
| "num_warmup_steps": 500, | |
| "type": "diffuser" | |
| } | |
| } | |
| ``` | |
| ### Policy architecture | |
| | Config field | Value | | |
| |---|---| | |
| | `n_obs_steps` | `2` | | |
| | `horizon` | `64` | | |
| | `n_action_steps` | `32` | | |
| | `vision_backbone` | `resnet18` | | |
| | `pretrained_backbone_weights` | `ResNet18_Weights.IMAGENET1K_V1` | | |
| | `use_separate_rgb_encoder_per_camera` | `true` | | |
| | `down_dims` | `[512, 1024, 2048]` | | |
| | `kernel_size` | `5` | | |
| | `n_groups` | `8` | | |
| | `diffusion_step_embed_dim` | `128` | | |
| | `noise_scheduler_type` | `DDPM` | | |
| | `num_train_timesteps` | `100` | | |
| | `beta_schedule` | `squaredcos_cap_v2` | | |
| | `prediction_type` | `epsilon` | | |
| | `clip_sample` | `true` | | |
| | `normalization_mapping` | `{"ACTION": "MIN_MAX", "STATE": "MIN_MAX", "VISUAL": "MEAN_STD"}` | | |
| ### Inputs and outputs | |
| | Feature | Direction | Type | Shape | | |
| |---|---|---|---| | |
| | `observation.image` | input | VISUAL | `3 × 256 × 256` | | |
| | `observation.state` | input | STATE | `8` | | |
| | `observation.wrist_image` | input | VISUAL | `3 × 256 × 256` | | |
| | `action` | output | ACTION | `8` | | |
| The exact, machine-readable training and policy configurations are included as | |
| `train_config.json` and `config.json`. They are the files emitted by the final | |
| checkpoint; their hashes were checked against the immutable completion marker. | |
| ## Files and loading | |
| The repository root contains the complete `pretrained_model/` payload from the | |
| LeRobot checkpoint (1.04 GiB), including policy | |
| weights, processor state, `train_config.json`, and `config.json`. | |
| `checkpoint_manifest.json` records every uploaded checkpoint file's byte size | |
| and SHA-256; `SHA256SUMS` provides the same digests in standard text form. | |
| `training_provenance.json` records the immutable run, dataset, | |
| source, job, and audit contract. | |
| Optimizer and RNG files from `training_state/` are intentionally not published; | |
| this public repository is an inference checkpoint, not a resume bundle. | |
| ```python | |
| from lerobot.policies.factory import make_policy_from_pretrained | |
| policy = make_policy_from_pretrained("zimplex/harp-vla-train37-diffusion", device="cuda") | |
| policy.eval() | |
| ``` | |
| Use a LeRobot checkout compatible with the configuration included here. | |
| ## Reproducibility and validation | |
| | Field | Value | | |
| |---|---| | |
| | Immutable run ID | `harp_vla_train37_full_deadline_20261001T151243Z_2747a40` | | |
| | Original protocol source commit | `2747a401bd29a070452aeab815d99847d7b507bb` | | |
| | Final attempt source commit | `da1a0456fe16bab22bdf3759b6577b335c683680` | | |
| | HARP race-safe entrypoint SHA-256 | `bf6ac26d9d4487ffe3258fd482a4c3561d5effaab9fc501442367a159631e88e` | | |
| | Pinned LeRobot trainer SHA-256 | `5ae8b0b8f3312f14f054364b56d21f39e3843d650162443286e7342bc489d8c8` | | |
| | Training environment marker SHA-256 | `dd775f736fa809107dc69b653d5c0eef4679e6958fc9b8950fe6aaa3835c2bab` | | |
| | Completion marker SHA-256 | `598755aa7bf50578936bab4f523b28be175348c039b7e1f6650fe25f2787cda8` | | |
| | `train_config.json` SHA-256 | `36c90b7dcb16831cc72ff0fe3405c341bff4ea8b4e65473492f8e3df58c21eb1` | | |
| | `config.json` SHA-256 | `3306dca683170e16adfa3d61e8f46d2cfe5fc365bbcf7703e2821d2c426537fb` | | |
| The final audit required Slurm `COMPLETED/0:0`, exact marker/config hashes, the | |
| pinned dataset and topology, and finite values in every final Safetensors | |
| tensor. This model passed with zero audit errors. | |
| ## Limitations | |
| - This release contains training artifacts, not HARP benchmark evaluation | |
| scores. No downstream success rate is claimed by this model card. | |
| - The checkpoint is specific to the converted 20 Hz absolute-qpos convention | |
| and its feature/normalization schema. | |
| - No license is asserted by this card; users must comply with the licenses and | |
| terms of the base model/backbone, dataset, LeRobot, and other dependencies. | |