录制数据集
来自Waveshare Wiki
|
| ||||||||||||||||||||
| ||||||||||||||||||||
LeRobot 教程目录
4. 录制数据集
- 注意:以下操作均在容器内执行
- 注意:需要进入到 lerobot 目录下执行以下代码
- 建议熟悉遥控操作后再录制数据集,节省时间
4.1 参数说明
可根据实际需求适当调整以下参数
--warmup-time-s: 指初始化时间。 --episode-time-s: 表示每次收集数据的时间。 --reset-time-s: 是每次数据收集之间的准备时间。 --num-episodes: 表示预期收集多少集数据。 --push-to-hub: 决定是否将数据上传到 HuggingFace Hub。 --control.resume: 决定是否继续录制,默认是false。
如果你希望将数据保存在本地(--control.push_to_hub=false),请将 --control.repo_id=${HF_USER}/roarm_m3_test 替换为一个自定义的本地文件夹名称,例如 --control.repo_id=waveshare/roarm_m3_test 。数据集将存储在系统主目录下的 "~/.cache/huggingface/lerobot"。
如果你通过 --control.push_to_hub=true 将数据集上传到了 Hugging Face Hub,可以通过在线可视化你的数据集。
4.2 录制数据集
如果你想使用 Hugging Face Hub 功能上传数据集,并且之前没有这样做过,请确保已使用写入访问令牌登录,该令牌可以从 Hugging Face 设置中生成:
huggingface-cli login --token ${HUGGINGFACE_TOKEN} --add-to-git-credential
将 Hugging Face 存储库名称存储在变量中以运行以下命令:
HF_USER=$(huggingface-cli whoami | head -n 1) echo $HF_USER
录制 2 集并不上传数据集
python lerobot/scripts/control_robot.py \
--robot.type=roarm_m3 \
--control.type=record \
--control.fps=30 \
--control.single_task="Grasp a block and put it in the bin." \
--control.repo_id=${HF_USER}/roarm_m3_test \
--control.tags='["roarm_m3","tutorial"]' \
--control.warmup_time_s=5 \
--control.episode_time_s=30 \
--control.reset_time_s=30 \
--control.num_episodes=2 \
--control.push_to_hub=false
- 在回合记录过程中任何时候按下右箭头 -> 可提前停止并进入重置状态。重置过程中同样,可提前停止并进入下一个回合记录。
- 在录制或重置到早期阶段时,随时按左箭头 <- 可提前停止当前剧集,并重新录制。
- 在录制过程中随时按 Q 可提前结束会话,直接进入视频编码和数据集保存。
一旦你熟悉了数据记录,你就可以创建一个更大的数据集进行训练。一个不错的起始任务是在不同的位置抓取物体并将其放入箱子中。我们建议至少记录 50 个场景,每个位置 10 个场景。保持相机固定,并在整个录制过程中保持一致的抓取行为。同时确保你正在操作的物体在相机视野中可见。一个很好的经验法则是,你应该仅通过查看相机图像就能完成这项任务。
在接下来的章节中,你将训练你的神经网络。在实现可靠的抓取性能后,你可以在数据收集过程中引入更多变化,例如增加抓取位置、不同的抓取技巧以及改变相机位置。 避免快速添加过多变化,因为这可能会阻碍您的结果。
