Instructions to use 55CancriE/baseer-smolvla-serums with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LeRobot
How to use 55CancriE/baseer-smolvla-serums 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=55CancriE/baseer-smolvla-serums \ --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=55CancriE/baseer-smolvla-serums - Notebooks
- Google Colab
- Kaggle
Baseer β SmolVLA grasp policy (serums)
Language-conditioned SmolVLA policy for the SO-100 arm, trained for the Baseer project β an Arabic voice-controlled assistive arm (Fanar hackathon, Theme 4: Physical AI / Imitation Learning).
The policy grasps a Hair Serum/Face Serum/ Jasmine Perfume or Shea Perfume Perfrom a vanity table and places it at a fixed delivery zone. At deploy time it's paired with Fanar-Oryx localization (the arm pre-positions above the Oryx-located object, then this policy does the final descent + grasp) and a closed-loop torque/width grasp check with retry-on-miss.
Details
- Architecture: SmolVLA (SmolVLM2-500M backbone, ~450M params, ~100M trainable action expert), language-conditioned.
- Robot: SO-100 follower (Feetech STS3215), single front camera (640Γ480 @ 30 fps).
- Training: 20,000 steps, batch size 32, final loss 0.012 (RTX 6000, ~6.5 h).
- Tasks:
"Pick up the hair serum and place it in the delivery zone"/"... the face serum ...". - Dataset:
55CancriE/baseer_serums(28 episodes).
Files
model.safetensorsβ policy weights (~1.1 GB)config.json,train_config.jsonβ policy + training configpolicy_preprocessor*,policy_postprocessor*β input/output normalization
Usage (LeRobot)
from lerobot.policies.factory import get_policy_class, make_pre_post_processors
from lerobot.configs.policies import PreTrainedConfig
path = "55CancriE/baseer-smolvla-serums"
cfg = PreTrainedConfig.from_pretrained(path)
policy = get_policy_class(cfg.type).from_pretrained(path).eval()
# NOTE: processors are saved with device='cuda'; override for mps/cpu deploy:
pre, post = make_pre_post_processors(
cfg, pretrained_path=path,
preprocessor_overrides={"device_processor": {"device": "mps"}},
postprocessor_overrides={"device_processor": {"device": "mps"}},
)
Or deploy the full localize β grasp β verify β retry β deliver pipeline with
backend/agent/agent4_grasp.py in the project repo.
Project: github.com/fatma936-sudo/baseer Β· project page
- Downloads last month
- 60