(五)lerobot开源项目的主从臂采集数据(操作记录)

目录

《项目简介》

《环境配置》

一、​B站视频参考(推荐)

二、解决linux命令行访问huggingface

三、获取token

四、采集数据

1、设置linux命令行代理

2、登录token

3、将Hugging Face存储库名称存储在变量中

(首次)录制2个数据集并将数据集上传(旧)

(再次)录制2个数据集并将数据集上传(旧)

4、(首次)录制2个数据集并将数据集上传(新命令)

5、(再次)录制2个数据集并将数据集上传(新命令)

五、数据查看&动作回放

六、遇到问题

1、问题1:无法登录huggingface

2、问题2:无法再次采集数据


<<<<<项目环境建议:纯Linux或双系统的Linux环境,慎用虚拟机的Linux环境>>>>>

《项目简介》

项目地址:GitHub - huggingface/lerobot: 🤗 LeRobot: Making AI for Robotics more accessible with end-to-end learning

进入 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=27c7aca66453fbf427614cc52d0f156aicon-default.png?t=O83Ahttps://www.bilibili.com/video/BV1aSUFYJE4P/?spm_id_from=333.1387.homepage.video_card.click&vd_source=27c7aca66453fbf427614cc52d0f156a

二、解决linux命令行访问huggingface

 请参考博客,这里不赘述

解决Linux访问HuggingFace的问题(操作记录)icon-default.png?t=O83Ahttps://blog.csdn.net/ou1531037815/article/details/144570497?spm=1001.2014.3001.5501

三、获取token

Hugging Face settings

(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点的命令,这样就可以继续录制了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值