CoolFace
Modelpublic

makermods/smolvla_2cam_200ep_blue_cube_orange_tray

sourceHugging Faceapache-2.0updated 1mo agoView on Hugging Face
0likes7downloads
Model Card

smolvla2cam200epbluecubeorangetray

SmolVLA fine-tuned from `lerobot/smolvla_base` on `makermods/2cam_200ep_blue_cube_orange_tray` — an SO-101 (6-DoF) pick-and-place: "pick up blue cube and place in orange tray".

The two-camera arm of a controlled A/B against `makermods/smolvla_3cam_200ep_blue_cube_orange_tray`. Same 200 episodes, same 38,975 frames, identical hyperparameters and seed; the only difference is the top camera, removed from the dataset. Any behavioural difference is attributable to camera count alone.

Cameras

keyresolution
observation.images.front480x640
observation.images.wrist480x640

No `--rename_map` is needed at inference — feed front/wrist directly. Training used a base pre-declared with these names rather than the stock camera1/2/3 placeholders, so every checkpoint carries real mount names and an empty rename map. (This matters: lerobot-eval, lerobot-rollout and the async policy server all override a checkpoint's saved rename map with their own, which defaults to empty, so a checkpoint left on placeholder keys fails there.)

Training

steps20,000 (batch 64 → 32.8 epochs over 38,975 frames)
optimizerAdamW, lr 1e-4, betas (0.9, 0.95), wd 1e-10, grad clip 10
schedulecosine, 1,000 warmup → 2.5e-6 at step 20,000
final loss0.059 (grad norm 0.95)
trainable100M of 450M — frozen vision encoder, action expert only
hardwareRTX 4090, bf16 AMP, 14.4 GB, 2h56m (vs 4.5 h and 19.9 GB for the 3-cam arm)

checkpoints/<step>/ holds every 1,000-step checkpoint, git-tagged by step, loadable with --policy.pretrained_revision=<step>.