Instructions to use IDEAS-Lab-Northwestern/smolvla-base-datagen-v1-clutter-joint-2cam-yanZ with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LeRobot
How to use IDEAS-Lab-Northwestern/smolvla-base-datagen-v1-clutter-joint-2cam-yanZ with LeRobot:
# See https://github.com/huggingface/lerobot?tab=readme-ov-file#installation for more details git clone https://github.com/huggingface/lerobot.git cd lerobot pip install -e .[smolvla]
# Launch finetuning on your dataset python lerobot/scripts/train.py \ --policy.path=IDEAS-Lab-Northwestern/smolvla-base-datagen-v1-clutter-joint-2cam-yanZ \ --dataset.repo_id=lerobot/svla_so101_pickplace \ --batch_size=64 \ --steps=20000 \ --output_dir=outputs/train/my_smolvla \ --job_name=my_smolvla_training \ --policy.device=cuda \ --wandb.enable=true
# Run the policy using the record function python -m lerobot.record \ --robot.type=so101_follower \ --robot.port=/dev/ttyACM0 \ # <- Use your port --robot.id=my_blue_follower_arm \ # <- Use your robot id --robot.cameras="{ front: {type: opencv, index_or_path: 8, width: 640, height: 480, fps: 30}}" \ # <- Use your cameras --dataset.single_task="Grasp a lego block and put it in the bin." \ # <- Use the same task description you used in your dataset recording --dataset.repo_id=HF_USER/dataset_name \ # <- This will be the dataset name on HF Hub --dataset.episode_time_s=50 \ --dataset.num_episodes=10 \ --policy.path=IDEAS-Lab-Northwestern/smolvla-base-datagen-v1-clutter-joint-2cam-yanZ - Notebooks
- Google Colab
- Kaggle
File size: 1,872 Bytes
f1db500 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | ---
license: apache-2.0
base_model: lerobot/smolvla_base
library_name: lerobot
pipeline_tag: robotics
tags: [robotics, vla, smolvla, lerobot, manipulation, maniguard, franka]
---
# SmolVLA - Clutter (joint, 2-cam)
HuggingFace LeRobot **SmolVLA** fine-tuned on the ManiGuard **clutter** base task (sim
Franka Panda). Part of the ManiGuard VLA benchmark - SmolVLA vs pi0.5 vs GR00T on the
same task families with identical data, cameras, and controller.
## Model
- **Base:** [lerobot/smolvla_base](https://huggingface.co/lerobot/smolvla_base) - SmolVLM2 vision-language backbone + flow-matching action expert
- **Embodiment:** Franka Panda, **8-D joint** state/action (7 arm joints + 1 gripper), padded to SmolVLA's 32-D
- **Cameras (2):** `observation.images.top` (overview = `left` view) + `observation.images.wrist` (256x256)
- **Action:** absolute joint targets (fed straight to a JointController at eval); 50-step chunk
- **Tuning:** SmolVLA default - vision encoder **frozen**, train the action expert (**no LoRA**)
## Training
- 8-GPU accelerate DDP, global batch 512, 3522 steps (~2 epochs over 901,520 frames)
- Data: [IDEAS-Lab-Northwestern/datagen-clutter-v1-joint-5cam](https://huggingface.co/datasets/IDEAS-Lab-Northwestern/datagen-clutter-v1-joint-5cam) - the 5-cam datagen dataset, prepared to a 2-cam standard-keyed copy (H.264 videos)
## Usage
Load with `SmolVLAPolicy.from_pretrained("IDEAS-Lab-Northwestern/smolvla-base-datagen-v1-clutter-joint-2cam-yanZ")` from [LeRobot](https://github.com/huggingface/lerobot). The checkpoint carries the normalization stats.
> WARNING - Convention (must match at eval): joint-space JointController (absolute joint targets) + 2 cameras (`observation.images.top` = the `left` overview, `observation.images.wrist`). A mismatched controller, camera set, or overview view silently feeds an out-of-distribution input.
|