🧪 新教程持续更新中 · 从机械臂到传感器,跟着教程从零搭建
跳到主要内容

训练命令行-ACT(推荐入门) ​

参考文档 ​

https://github.com/huggingface/lerobot/blob/46e19ae579f80ce66211afafd1c3c649c569131f/docs/source/act.mdx

https://github.com/huggingface/lerobot/blob/main/src/lerobot/scripts/lerobot_train.py

https://github.com/huggingface/lerobot/blob/main/src/lerobot/configs/train.py

为什么从ACT算法开始 ​

ACT是玩LeRobot最推荐训练的第一个模型,它的好处如下:

  • 模型非常轻量,只有八千万个可学习参数

  • 训练收敛速度很快,推理速度也很快

  • 在单卡GPU上训练一个小时就能看到效果

  • ACT模型下载压缩包大概200MB左右,非常便于存储和传输

  • 数据集采集30轮数据基本就够用了

  • 可以部署在Ubuntu主机、Mac电脑、Windows电脑,甚至树莓派上推理

  • 真实机器人推理效果还很不错,对于夹取、握手、放笔这类简单任务足够了

  • LeRobot库的基础环境中已经自带了ACT算法,无需安装其它库

命令行 ​

Shell
lerobot-train \
  --dataset.repo_id=Tommymy/lerobot_my_dataset_shake_hands \
  --dataset.root=~/lerobot_my_dataset_shake_hands \
  --dataset.revision=v0.1.0 \
  --dataset.streaming=false \
  --policy.type=act \
  --output_dir=~/output_lerobot_train/shake/act/ \
  --job_name=shake_act_a \
  --policy.device=cuda \
  --wandb.enable=true \
  --wandb.project=Lerobot_my_Project \
  --policy.push_to_hub=false \
  --steps=20000 \
  --batch_size=8

命令行说明 ​

换行符\前面只能有一个空格,后面不能有空格

红色为每次运行之前都要检查或者修改的参数

命令行参数说明
--dataset.repo_idHuggingFace数据集的Repo_ID
--dataset.root数据集本地路径
--dataset.revision数据集版本,在上传数据集到HuggingFace的时候指定过的
--dataset.streaming数据集在本地,必须为false,因为数据集已经在本地,无需流式读取
--dataset.split默认为train,也就是用全量数据作为训练集
--policy.type要训练的算法,比如act、smolvla、diffusion、pi0、wallx
--output_dir输出结构保存的目录
--job_name本次训练任务的名字
--policy.device计算设备
--wandb.enable开启wandb可视化
--wandb.projectwandb项目名称
--policy.push_to_hub将训练好的模型发到HuggingFace云端
--steps训练步数
--batch_size一步输入的数据量,如果显存不够,应该调小

训练过程 ​

imagepng

imagepng

imagepng

模型压缩包大概300MB