目录
<<<<<项目环境建议:纯Linux或双系统的Linux环境,慎用虚拟机的Linux环境>>>>>
《项目简介》
进入 full tutorial for SO-100,按照流程操作
《环境配置》
git clone https://github.com/huggingface/lerobot.git ~/lerobot
conda create -y -n lerobot python=3.10
conda activate lerobot
cd lerobot && pip install -e ".[feetech]"
conda install -y -c conda-forge ffmpeg
pip uninstall -y opencv-python
conda install -y -c conda-forge "opencv>=4.10.0"
注:项目更新后,原项目会报错缺少lerobot的模块,需重新更新环境
cd lerobot && pip install -e .
sudo apt-get install git-lfs
git lfs install
一、B站视频参考(推荐)
强力推荐UP主:黑狗木
lerobot aloha 采集数据并且训练https://www.bilibili.com/video/BV1aSUFYJE4P/?spm_id_from=333.1387.homepage.video_card.click&vd_source=27c7aca66453fbf427614cc52d0f156ahttps://www.bilibili.com/video/BV1aSUFYJE4P/?spm_id_from=333.1387.homepage.video_card.click&vd_source=27c7aca66453fbf427614cc52d0f156a
二、解决linux命令行访问huggingface
请参考博客,这里不赘述
三、获取token
(1)登录huggingface,新建token
(2)命名好后,勾选这几项
(3)记住自己新建的token,忘记了就找不到了,这里新建的token为:
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
四、采集数据
1、设置linux命令行代理
最后会解释为什么
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
2、登录token
替换${HUGGINGFACE_TOKEN} ,huggingface-cli login --token ${HUGGINGFACE_TOKEN} --add-to-git-credential
huggingface-cli login --token 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 --add-to-git-credential
3、将Hugging Face存储库名称存储在变量中
HF_USER=$(huggingface-cli whoami | head -n 1)
echo $HF_USER
(首次)录制2个数据集并将数据集上传(旧)
输入命令后开始录第1个数据集,按键盘右箭头即可结束当前录制,等待几秒后,继续录第2个数据集,再按盘右箭头即可结束录制,等待数据集上传结束
python lerobot/scripts/control_robot.py record \
--robot-path lerobot/configs/robot/so100.yaml \
--fps 30 \
--repo-id ${HF_USER}/so100_test \
--tags so100 tutorial \
--warmup-time-s 5 \
--episode-time-s 40 \
--reset-time-s 10 \
--num-episodes 2 \
--push-to-hub 1
(再次)录制2个数据集并将数据集上传(旧)
重新录入数据参数需重新设置,输入命令与之前相比增加了--force-override 1(后面会说明为什么增加这个),输入命令后的操作还是照旧
python lerobot/scripts/control_robot.py record \
--robot-path lerobot/configs/robot/so100.yaml \
--fps 30 \
--root data \
--repo-id ${HF_USER}/so100_test \
--tags so100 tutorial \
--warmup-time-s 5 \
--episode-time-s 40 \
--reset-time-s 10 \
--num-episodes 2 \
--force-override 1 \
--push-to-hub 1
--force-override 1:
强制覆盖现有数据集目录。
如果目标路径下已有数据集,执行此命令会删除已有数据,并重新开始录制。
设置为 0 时,命令会继续向现有数据集中添加新数据,而不会覆盖。
4、(首次)录制2个数据集并将数据集上传(新命令)
--resume 0表示创建一个新的空数据集或加载已有的数据集,重新录制。
--resume 1表示加载现有的数据集,在现有数据集上继续录制。现有的数据集来源有两处,local_files_only 0会从远程仓库获取数据集,local_files_only 1只会使用本地数据集
--push-to-hub 0表示数据不上传
--push-to-hub 1表示数据上传
新建一个叫“so100_test”的本地数据集,并将该数据集上传到huggingface
python lerobot/scripts/control_robot.py record \
--robot-path lerobot/configs/robot/so100.yaml \
--fps 30 \
--root data \
--repo-id ${HF_USER}/so100_test \
--tags so100 tutorial \
--warmup-time-s 5 \
--episode-time-s 40 \
--reset-time-s 10 \
--num-episodes 2 \
--single-task "Pick up and place." \
--resume 0 \
--push-to-hub 1
5、(再次)录制2个数据集并将数据集上传(新命令)
在现有的本地数据集上继续录制,并将数据也同步上传到huggingface
python lerobot/scripts/control_robot.py record \
--robot-path lerobot/configs/robot/so100.yaml \
--fps 30 \
--root data \
--repo-id ${HF_USER}/so100_test \
--tags so100 tutorial \
--warmup-time-s 5 \
--episode-time-s 40 \
--reset-time-s 10 \
--num-episodes 2 \
--single-task "Pick up and place." \
--resume 1 \
--local-files-only 1 \
--push-to-hub 1
五、数据查看&动作回放
(1)输入数据查看命令,得到http://127.0.0.1:9090,去浏览器打开即可查看
python lerobot/scripts/visualize_dataset_html.py \
--repo-id ${HF_USER}/so100_test
(2)输入动作回放命令(这里尝试重播第一个数据集episode 0,想查看哪个自行设定)
python lerobot/scripts/control_robot.py replay \
--robot-path lerobot/configs/robot/so100.yaml \
--fps 30 \
--repo-id ${HF_USER}/so100_test \
--episode 0
六、遇到问题
1、问题1:无法登录huggingface
- 问题:linux命令行无法访问huggingface,出现如下错误
- 解决:为linux命令行设置代理后就可以登录(为什么这么设置,请查看上述第二点)
2、问题2:无法再次采集数据
- 问题:重复输入第4点的命令,无法再继续采集数据,出现如下错误
- 解决:重新录入数据参数需重新设置,所以增加了第5点的命令,这样就可以继续录制了