Robotics
LeRobot
English
lelab
so-100
imitation-learning
education
act
diffusion-policy
smolvla
gr00t
Instructions to use van-i/so100-imitation-learning-stand with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LeRobot
How to use van-i/so100-imitation-learning-stand 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=van-i/so100-imitation-learning-stand \ --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=van-i/so100-imitation-learning-stand - Notebooks
- Google Colab
- Kaggle
File size: 984 Bytes
c68846b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #!/usr/bin/env bash
# Re-apply camera settings for the stand (they reset when a camera is replugged).
# Cameras are found by USB port, so this works even if /dev/videoN numbers shift.
set -euo pipefail
declare -A PORTS=( [left]=3-12 [right]=3-11 [grip]=3-13.1 )
find_dev() { # print the /dev/videoN capture node for a USB port
for d in /sys/class/video4linux/video*; do
[[ "$(basename "$(readlink -f "$d/device")")" == "$1:1.0" ]] || continue
[[ "$(cat "$d/index")" == 0 ]] && { echo "/dev/$(basename "$d")"; return; }
done
}
for name in left grip right; do
dev=$(find_dev "${PORTS[$name]}")
[[ -n "$dev" ]] || { echo "$name: not found on USB ${PORTS[$name]}" >&2; continue; }
v4l2-ctl -d "$dev" -c power_line_frequency=2 # 60 Hz mains
if [[ $name == grip ]]; then
v4l2-ctl -d "$dev" -c brightness=-16 -c backlight_compensation=0 # stop jaws blowing out
fi
echo "$name -> $dev ($(cat /sys/class/video4linux/$(basename "$dev")/name))"
done
|