smolVLA初体验
smolVLA是一款轻量级的VLA,已集成在lerobot上。
·
前言
smolVLA是一款轻量级的VLA,已集成在lerobot上。
一、准备lerobot环境
如果还未安装lerobot,请安装lerobot:
# 克隆lerobot源码
git clone https://github.com/huggingface/lerobot.git
cd lerobot
# 使用conda创建Python 3.10环境
conda create -y -n lerobot python=3.10
conda activate lerobot
# 安装ffmpeg
conda install ffmpeg -c conda-forge
# 安装lerobot
pip install -e .
如果在安装过程中有任何问题,请依照lerobot官方指南解决。
二、准备smolVLA
安装smolVLA包需在lerobot代码根目录运行:
pip install -e ".[smolvla]"
smolVLA开发者提供了数据集供使用。若想自己采集数据集,请参考smolVLA官方采集数据指南。
lerobot具有一个policy.repo_id参数,该参数是lerobot在训练过程中上传到hub的id。如果不需要上传,需修改lerobot/src/lerobot/configs/policies.py中:
push_to_hub: bool = False
微调smolVLA
在lerobot/src目录下运行:
python lerobot/scripts/train.py \
--policy.path=lerobot/smolvla_base \
--dataset.repo_id=lerobot/svla_so100_stacking \
--batch_size=64 \
--steps=200000
执行以上代码,将会自动采集数据、下载预训练模型等,待数据及预训练模型参数准备完成,即自动开始微调。
如gpu内存不够,出现OOM,可减小batch_size。
如果想查看可调整的参数:
# 查看所有可调整的微调参数
python -m lerobot.scripts.train --help
如果想基于架构 (预训练的 VLM + 动作专家) 进行训练,而不是从预训练的检查点开始:
python lerobot/scripts/train.py \
--policy.type=smolvla \
--dataset.repo_id=lerobot/svla_so100_stacking \
--batch_size=64 \
--steps=200000
还可以直接加载 SmolVLAPolicy :
policy = SmolVLAPolicy.from_pretrained("lerobot/smolvla_base")
实机评估微调后的smolVLA
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}/eval_DATASET_NAME_test \ # <- This will be the dataset name on HF Hub
--dataset.episode_time_s=50 \
--dataset.num_episodes=10 \
# <- Teleop optional if you want to teleoperate in between episodes \
# --teleop.type=so100_leader \
# --teleop.port=/dev/ttyACM0 \
# --teleop.id=my_red_leader_arm \
--policy.path=HF_USER/FINETUNE_MODEL_NAME # <- Use your fine-tuned model
参考资料:
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)