qualiadev/openarm_pick_v6
Viewer β’ Updated β’ 65.2k β’ 427
openpi pi05 SFT fine-tune, launched via q-research vlatrain.
qualiadev/openarm_pick_v6 (LeRobot v2.1)Revisions step-<N> hold inference params only; the default revision is the final full
checkpoint (params + train_state).
# SMOKE run β validate the q-research train β openpi β HF pipeline end to end, not model quality.
# Dataset: qualiadev/openarm_pick_v6 β our copy of the public AiSaurabhPatil/openarm_pick_v6, a
# LeRobot **v2.1** OpenArm bimanual set (16-DOF: 7 joints + gripper per arm, 3 cams, 100 episodes).
# We re-hosted it under qualiadev and added the `v2.1` git tag: openpi's pinned lerobot
# (`get_safe_version`) rejects any repo with no codebase-version tag, and the upstream repo has none.
name: qualia_pi05 # in-process registry name; leave as-is
exp_name: smoke_openarm_pickv6 # checkpoint dir: <checkpoint_base_dir>/<name>/<exp_name>/
repo_id: qualiadev/openarm_pick_v6 # LeRobot v2.1 dataset on the HF Hub (fetched on the VM), tagged v2.1
checkpoint_base_dir: /ephemeral/checkpoints # vlatrain (remote) β the VM's big ephemeral disk
project_name: qualia-pi05 # wandb project (online when WANDB_API_KEY is set, else offline)
hf_repo_id: qualiadev/pi05-smoke-openarm-pickv6 # token = qualiadev (personal); it is in no org
# ββ Data: OpenArm bimanual (generic layer) ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
data_layer: generic
cameras: # cam_1 -> base_0_rgb, cam_2/cam_3 -> left/right wrist
cam_1: observation.images.head
cam_2: observation.images.wrist_left
cam_3: observation.images.wrist_right
relativize: true # mask auto-derived from action names (joints relative, gripper absolute)
bimanual: true # exactly 2 gripper dims (left_gripper, right_gripper) -> assert passes
# ββ Model ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
action_horizon: 16 # chunk length; model action width stays 32 regardless of real DOF
# ββ Hyperparameters (smoke-sized) ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
num_train_steps: 500 # smoke: just prove the loop + checkpointing run
save_interval: 250 # one intermediate save (step-250 params revision) + the final full ckpt
keep_period: null # keep only the latest local checkpoint
batch_size: 32
num_workers: 8
seed: 42
fsdp_devices: 1
ema_decay: null # EMA disabled
overwrite: false # set true to re-run into an existing exp_name
optimizer: # AdamW
b1: 0.9
b2: 0.95
eps: 1.0e-8
weight_decay: 1.0e-10
clip_gradient_norm: 1.0
lr_schedule: # cosine decay with warmup, scaled to the 500-step smoke run
warmup_steps: 50
peak_lr: 2.5e-5
decay_steps: 500 # match num_train_steps so the cosine lands at the floor at the end
decay_lr: 2.5e-6