Instructions to use Kaminoikari/smolvla-so101-pickplace-ft with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LeRobot
How to use Kaminoikari/smolvla-so101-pickplace-ft 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=Kaminoikari/smolvla-so101-pickplace-ft \ --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=Kaminoikari/smolvla-so101-pickplace-ft - Notebooks
- Google Colab
- Kaggle
| license: apache-2.0 | |
| library_name: lerobot | |
| base_model: lerobot/smolvla_base | |
| datasets: | |
| - lerobot/svla_so101_pickplace | |
| tags: | |
| - robotics | |
| - lerobot | |
| - smolvla | |
| - vision-language-action | |
| - so-101 | |
| - imitation-learning | |
| pipeline_tag: robotics | |
| # SmolVLA · SO-101 Pick-and-Place (fine-tuned) | |
| Fine-tune of [`lerobot/smolvla_base`](https://huggingface.co/lerobot/smolvla_base) (450M VLA) | |
| on the real-robot SO-101 dataset | |
| [`lerobot/svla_so101_pickplace`](https://huggingface.co/datasets/lerobot/svla_so101_pickplace) | |
| (50 teleoperated episodes, 2 cameras `up`/`side`, 6-DoF state). | |
| [`lerobot/svla_so101_pickplace`](https://huggingface.co/datasets/lerobot/svla_so101_pickplace) | |
| [`lerobot/svla_so101_pickplace`](https://huggingface.co/datasets/lerobot/svla_so101_pickplace) | |
| [`lerobot/svla_so101_pickplace`](https://huggingface.co/datasets/lerobot/svla_so101_pickplace) | |
| (50 teleoperated episodes, 2 cameras `up`/`side`, 6-DoF state). | |
| ## Training | |
| | | | | |
| |---|---| | |
| | Base | `lerobot/smolvla_base` | | |
| | Dataset | `lerobot/svla_so101_pickplace` (50 ep / 11,939 frames) | | |
| | Steps | 2,000 (batch size 8) | | |
| | GPU | single T4 (~78 min) | | |
| | Camera mapping | `up to camera1`, `side to camera2` via `--rename_map` | | |
| | Loss | 0.410 to 0.141 (monotonic) | | |
| ## Intended use & honest limitations | |
| This is a **pipeline-validation / learning run**, not a production policy. | |
| - Demonstrates the full real-robot imitation-learning loop: load a real teleoperation dataset, fine-tune a pretrained VLA, converge, ship a checkpoint. | |
| - Only 2,000 steps (~1.3 epochs). The SmolVLA paper uses ~20k steps; expect this checkpoint to under-perform a fully trained one. | |
| - No closed-loop success rate. Evaluation on the physical SO-101 arm (`lerobot-record`) was not run (no hardware). Reported signal is training-loss | |
| convergence only, which proves the model is learning, not real-world task success. | |
| ## Load | |
| ```python | |
| from lerobot.policies.smolvla.modeling_smolvla import SmolVLAPolicy | |
| policy = SmolVLAPolicy.from_pretrained("Kaminoikari/smolvla-so101-pickplace-ft") | |