BC MAE + MLP (LoRA encoder, action chunk H=16)

Frozen MAE (OpenArm AIST exp18 LoRA) + BC MLP with action chunking (H=16). Data: SBInt OpenArm pnp image_filtered.hdf5 (187 demos, ~43k frames).

Recommended

best_val.ckpt (= epoch=0120.ckpt, val≈0.0128). Absolute best val was ~ep44 (not saved; save_every=20).

Checkpoints (saved every 20)

File Epoch val_loss train_loss
epoch=0040.ckpt 40 0.0156 0.0068
epoch=0080.ckpt 80 0.0154 0.0038
epoch=0100.ckpt 100 0.0155 0.0038
epoch=0120.ckpt 120 0.0128 0.0028
epoch=0140.ckpt 140 0.0129 0.0020
epoch=0200.ckpt 200 0.0139 0.0017
epoch=0480.ckpt 480 0.0128 0.0005
epoch=0499.ckpt 499 0.0159 0.0020
best_val.ckpt 120 ~0.0128 (alias of ep120)
latest.ckpt 499 ~0.0159 alias of final

Load

from policy import load_policy
policy = load_policy("best_val.ckpt", device="cuda:0")
out = policy.predict_action(obs)["action"]  # (B, 16, 8)

Obs: agentview_image, robot0_eye_in_hand_image (B,3,224,224) float [0,1], robot0_joint_qpos (B,8). Deploy: execute first k steps of the chunk @ ~30 Hz, then replan (do not only send action[0] forever).

Train note

Only the MLP head is trained on a frozen MAE feature cache (8×GPU, bs=64). 500 epochs ≈ 15 min wall — that is expected, not a bug.

Downloads last month

-

Downloads are not tracked for this model. How to track
Video Preview
loading