How to use from the
Use from the
LeRobot library
# 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

SmolVLA · SO-101 Pick-and-Place (fine-tuned)

Fine-tune of lerobot/smolvla_base (450M VLA) on the real-robot SO-101 dataset lerobot/svla_so101_pickplace (50 teleoperated episodes, 2 cameras up/side, 6-DoF state). lerobot/svla_so101_pickplace lerobot/svla_so101_pickplace 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

from lerobot.policies.smolvla.modeling_smolvla import SmolVLAPolicy
policy = SmolVLAPolicy.from_pretrained("Kaminoikari/smolvla-so101-pickplace-ft")
Downloads last month
12
Safetensors
Model size
0.5B params
Tensor type
F32
·
BF16
·
Video Preview
loading

Model tree for Kaminoikari/smolvla-so101-pickplace-ft

Finetuned
(7211)
this model

Dataset used to train Kaminoikari/smolvla-so101-pickplace-ft