2026-08-27 在 RTX 4090 上能跑通的 SmolVLA 微调基线命令,训练当前夹爪数据集 xlerobot-right-pick-cup-20260826-0042。附两个必须避开的坑,以及仍待实验的变量。
三路相机(含 head)、batch 16、20000 步、decay 显式对齐更新预算、torchcodec 解 AV1。挂 tmux 再跑,防家里网断。
lerobot-train \
--policy.path=lerobot/smolvla_base \
--policy.repo_id=Suyang99/xlerobot-smolvla-right-pick-b16-3cam-u20k \
--policy.input_features=null \
--policy.output_features=null \
--dataset.repo_id=Suyang99/xlerobot-right-pick-cup-20260826-0042 \
--batch_size=16 \
--steps=20000 \
--save_freq=2000 \
--output_dir=/workspace/outputs/train/b16_3cam_u20k \
--job_name=b16_3cam_u20k \
--policy.device=cuda \
--policy.scheduler_decay_steps=20000 \
--rename_map='{"observation.images.head":"observation.images.camera1","observation.images.right_arm_wrist":"observation.images.camera2","observation.images.left_arm_wrist":"observation.images.camera3"}' \
--dataset.video_backend=torchcodec \
--num_workers=8 \
--prefetch_factor=2 \
--wandb.enable=false \
2>&1 | tee /workspace/b16_3cam_u20k.log
| 参数 / arg | 值 | 为什么 |
|---|---|---|
batch_size | 16 | 4090 上跑通、实测约 4.6 GB 显存。非最优,待与 32/64 做实机对照。 |
steps + scheduler_decay_steps | 20000 / 20000 | 两者相等 → 学习率 cosine 曲线正好在 20000 步走完(S=1)。不显式设 decay 会走自动缩放、曲线走不完。 |
rename_map | 三路含 head | head→camera1、右腕→camera2、左腕→camera3。head 绝不能丢(见 ③)。 |
dataset.video_backend | torchcodec | 新数据集视频是 AV1,torchcodec 是 4090 上验证过的解码后端。 |
save_freq | 2000 | 每 2000 步存一个可恢复 checkpoint(断网/中断能续)。 |
dataset.eval_split | 不写 = 0.0 | lerobot 默认 0.0 = 用全部数据。别设 0.2:它按集号切最后 20%,正好会砍掉一整个杯位。 |
REMOTE-GPU-SMOLVLA-4090.md 里 4 处命令都是 empty_cameras=1 + 只映双腕,把 head 丢了。head 是唯一俯看桌面、能定位杯子的相机,丢了模型就看不到杯子在哪。正确做法:保留三路(如上)。曾有一个 run 就是照这个丢 head 跑的,已作废重训。image_transforms.enable=true 默认 6 个 transform 权重全 1.0,含 affine(随机平移 ±0.05)。而 5 个杯位在画面里间距约 0.06,±0.05 平移量级相当,可能糊掉位置线索。注意这是合理的先验、未经实测,不是定论。想精确「只色彩、不 affine」,CLI 改不到单个 transform(tfs.affine.weight=0 会报 unrecognized),要用配置文件。| 相机 | 任务里的价值 |
|---|---|
| head | 🟢 俯看桌面、定位杯子 —— 绝不能丢 |
| right wrist | 🟢 右手在干活,看爪子逼近/夹合 |
| left wrist | 🟡 左手不动,几乎是死图、信息≈0。可选丢(省算力 + 左爪以后能换),丢它要补 empty_cameras=1。丢的应是它,不是 head。 |
因为至今没有配方成功,增强正是值得试的方向。色彩类(亮度/对比/饱和/色相/锐度)安全、通常有益;affine 平移见坑 2,两个方向都讲得通,该做对照。开增强(含 affine)加:
--dataset.image_transforms.enable=true \
--dataset.image_transforms.max_num_transforms=5 \
--config_path 传入。lerobot/configs/default.py、transforms/transforms.py;两个坑对照 05-training/REMOTE-GPU-SMOLVLA-4090.md。「至今没抓起过杯子」为操作者 2026-08-27 明确纠正。本页 2026-08-27 生成。