Downloads · 30 days
0
Wr3ck1Am/memoryvla-real-single-task-lora-bridge-ckpts
memoryvla-real-single-task-lora-bridge-ckpts is a machine learning model from Wr3ck1Am. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
Per-task LoRA fine-tunes of memvla-bridge on real-robot data from harrywang01/realworldtask.
Downloads · 30 days
0
Access
Public
Updated May 28, 2026
Repo size
13.5 GB
Likes
0
Public
Click a slice to open those files.
.adapter13.5 GB · 100%
From the Hugging Face model README
Per-task LoRA fine-tunes of memvla-bridge on real-robot data from
harrywang01/real_world_task.
| Task | Instruction |
|---|---|
can | "Swap the positions of the pink and white soda cans by using another empty location as a buffer." |
wipe_new | "Brush the two plates with the brushes, and each brush can only be used once." |
uncover_new | "Lift the cups to find the small cube hidden underneath, and each cup may only be lifted once." |
memvla-bridge.pt (shihao1895/memvla-bridge).scripts/convert_realworld_hf_to_robomimic.py --bridge_format.per_device_batch_size=64, lr=1e-4, max_steps=4000,
save_interval=200, lr_scheduler=linear-warmup+cosine-decay,
warmup_ratio=0.05.repeated_diffusion_steps=1 (down from upstream default=4 — 4× speedup
with no measured loss-curve regression).num_workers=4, persistent_workers=True, prefetch_factor=2
(upstream MemoryVLA hardcoded num_workers=0; patched in
KuanchengWang/diffusion_policy@jinglin).Each .adapter is a flat state_dict containing only the trainable LoRA +
modules_to_save tensors. The save code (fsdp.py:save_checkpoint):
_fsdp_wrapped_module. and _checkpoint_wrapped_module.
wrapper prefixes (otherwise LLaMA LoRA keys were silently dropped — the
earlier libero-100 ckpts had this bug);vlm. prefix so eval-time vla.load_state_dict(adapter)
finds vlm.llm_backbone.* matches (otherwise 128 LLaMA-LoRA keys
showed up as "unexpected" and LoRA was silently inactive);Verified contents per ckpt: 341 tensors, 184 MB,
{llama: 128, cog: 18, action: 155, other: 40}.
<task>/
checkpoints/
step-XXXXXX-epoch-YY-loss=Z.ZZZZ.adapter # every 200 steps (20 total)
config.yaml # run config
dataset_statistics.json # task-specific action norm stats
import torch
adapter = torch.load("can/checkpoints/step-004000-epoch-09-loss=0.07.adapter",
map_location="cpu", weights_only=False)
# adapter = {"adapter": OrderedDict[str, Tensor],
# "global_step": int, "epoch": int}
# At eval time (see eval_memoryvla_multitask_rollout.py):
from vla import load_vla
from memory_diffusion_policy.policy.memoryvla_lora import (
MemoryVLALoRAConfig, apply_memoryvla_lora,
)
vla = load_vla("memvla-bridge.pt", load_for_training=False)
lora_cfg = MemoryVLALoRAConfig(**run_cfg["lora"])
apply_memoryvla_lora(vla, lora_cfg)
missing, unexpected = vla.load_state_dict(adapter["adapter"], strict=False)
# Both lists should be small + benign (frozen base keys); 0 unexpected.