Robotics
LeRobot
Safetensors
smolvla
makermods
openbooth
MakerModsLab

smolvla_2cam_200ep_blue_cube_orange_tray

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

key resolution
observation.images.front 480x640
observation.images.wrist 480x640

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

steps 20,000 (batch 64 → 32.8 epochs over 38,975 frames)
optimizer AdamW, lr 1e-4, betas (0.9, 0.95), wd 1e-10, grad clip 10
schedule cosine, 1,000 warmup → 2.5e-6 at step 20,000
final loss 0.059 (grad norm 0.95)
trainable 100M of 450M — frozen vision encoder, action expert only
hardware RTX 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>.

Downloads last month
9
Safetensors
Model size
0.5B params
Tensor type
F32
·
BF16
·
Video Preview
loading

Dataset used to train makermods/smolvla_2cam_200ep_blue_cube_orange_tray