Downloads · 30 days
0
Ngseo/basevla-libero-noaug-nostate
basevla-libero-noaug-nostate is a robotics model from Ngseo. Use it for the robotics task on the model card, and read the license before you ship it in a product. It is set up for lerobot. The card lists the license as apache-2.0.
Plain behaviour cloning: no V-JEPA, no latent alignment, no decorrelation — the objective is L1(action) alone. Trained without proprioception and without augmentation, starting from a ManiSkill-pretrained VLA rather t…
Downloads · 30 days
0
Access
Public
Updated Aug 10, 2026
Repo size
9.9 GB
Likes
0
Public
Click a slice to open those files.
.pt9.9 GB · 100%
From the Hugging Face model README
Plain behaviour cloning: no V-JEPA, no latent alignment, no decorrelation —
the objective is L1(action) alone. Trained without proprioception and
without augmentation, starting from a ManiSkill-pretrained VLA rather than
from Qwen directly.
Initialised from
Ngseo/basevla-maniskill-aug
(step 40,000), then fine-tuned for 100,000 steps on LIBERO.
The four standard LIBERO suites, equal sampling weight per suite
(weight / n_frames, so suite size does not bias the mix):
| suite | episodes | frames |
|---|---|---|
| libero-spatial | 432 | 52,970 |
| libero-object | 454 | 66,984 |
| libero-goal | 428 | 52,042 |
| libero-10 | 379 | 101,469 |
| total | 1,693 | 273,465 |
Front camera (observation.images.image) only; wrist camera dropped. 10 fps.
Qwen2.5-VL-3B + LoRA ─ forward_full_hidden ─┬─ Head A → z_a ─┐
└─ Head B → z_b ─┴─ concat → ResNetActionHead → 30×7
L = L1(action)
| LoRA | r=32, LLM q_proj/v_proj only — the vision tower is frozen |
| Heads | dual AttentiveLatentHead, proj 4096, 8 queries, depth 2 |
| Inputs | 1 RGB frame @224 + task string — no proprioceptive state |
| Output | 30-step action chunk |
| Optimiser | AdamW, lr 5e-5, batch 32, bf16 |
| Augmentation | none |
Two choices worth flagging:
chunk × action_dim, so
30 is required for its weights to load. At LIBERO's 10 fps that is a 3-second
horizon rather than 1 second — evaluation must use the same chunk length.--no_state, so the state token collapses to a constant learned bias
(state_proj(0)) and no proprioception reaches the model.| step | loss |
|---|---|
| 10,000 | 0.0781 |
| 20,000 | 0.0636 |
| 30,000 | 0.0523 |
| 50,000 | 0.0407 |
| 70,000 | 0.0354 |
| 100,000 | 0.0340 |
| repo | data | state | aug | init |
|---|---|---|---|---|
basevla-libero-aug | LIBERO | yes | yes | scratch, chunk 10 |
| this | LIBERO | no | no | ManiSkill 40k, chunk 30 |
basevla-maniskill-aug | ManiSkill | no | yes | scratch |
Note that this model and basevla-libero-aug differ in more than augmentation
(state input, chunk length and initialisation all differ), so they are not a
controlled augmentation ablation.
Not evaluated in simulation or on a robot. The losses above are training-set L1 on normalised actions; no LIBERO rollout success rate is reported here.
import torch
ck = torch.load("checkpoint.pt", map_location="cpu", weights_only=False)
ck["step"] # 100000
ck["args"] # full training config
ck["agg_stats"] # action normalisation used at train time
checkpoint.pt holds policy (full VLM incl. LoRA), latent_head,
free_latent_head, action_head, optimizer, agg_stats and args.