睿达科网络 网站建设,关于网站建设的题目,四川大良网站建设,个人网站和企业网站系列文章目录 目录
系列文章目录
前言
一、Lerobot So100/So101 微调教程
1.1 数据集
1.2 微调
1.3 开环评估
1.4 部署
二、Unitree G1 微调
2.1 下载数据集
2.2 尝试加载数据集并可视化它
2.3 微调
2.4 开环评估
2.5 部署 前言 本笔记本是一份关于如何在新的数据…系列文章目录 目录
系列文章目录
前言
一、Lerobot So100/So101 微调教程
1.1 数据集
1.2 微调
1.3 开环评估
1.4 部署
二、Unitree G1 微调
2.1 下载数据集
2.2 尝试加载数据集并可视化它
2.3 微调
2.4 开环评估
2.5 部署 前言 本笔记本是一份关于如何在新的数据集上对GR00T-N1预训练模型进行微调的教程。 一、Lerobot So100/So101 微调教程 GR00T-N1.5 适用于各种机器人形态的用户。基于 Huggingface 的低成本 So101 Lerobot 机械臂用户可通过 new_embodiment 标签在自己的机器人上对 GR00T-N1.5 进行微调。
So100 Strawberry and Grape PickingSo101 Table Cleanup Task {width400} {width400}
DatasetObservationViz Linkso101-table-cleanupDual camera views of table cleanup taskLinkso100_strawberry_grapeSingle camera view of strawberry and grape pickingLinktictac-botSingle camera view of a tic-tac-toe boardLink
1.1 数据集 用户可以使用任何 lerobot 数据集进行微调。在本教程中我们将首先使用一个示例数据集so101-table-cleanup
请注意此实现未包含在我们的预训练数据集混合中。
首先下载数据集
huggingface-cli download \--repo-type dataset youliangtan/so101-table-cleanup \--local-dir ./demo_data/so101-table-cleanup 其次复制模态文件
modality.json 文件提供了关于状态和动作模态的额外信息以使其与“GR00T”兼容。将 examples/so100_dualcam__modality.json 复制到数据集 DATASET_PATH/meta/modality.json。 对于类似 so101-table-cleanup 数据集的双摄像头设置请执行以下操作
cp examples/so100_dualcam__modality.json ./demo_data/so101-table-cleanup/meta/modality.json 对于单摄像头设置如 so100_strawberry_grape 数据集请执行以下操作
cp examples/so100__modality.json ./demo_data/so100_strawberry_grape/meta/modality.json
然后我们可以使用LeRobotSingleDataset类加载数据集。
1.2 微调 微调可以通过使用我们的微调脚本/gr00t_finetune.py来完成因为它支持“new-embodiment”标签。
python scripts/gr00t_finetune.py \--dataset-path /datasets/so101-table-cleanup/ \--num-gpus 1 \--batch-size 64 \--output-dir ~/so101-checkpoints \--max-steps 10000 \--data-config so100_dualcam \--video-backend torchvision_av 将批处理大小调整为与您的GPU内存匹配。 1.3 开环评估 训练完成后您可以运行以下命令来可视化微调后的策略。
python scripts/eval_policy.py --plot \--embodiment_tag new_embodiment \--model_path YOUR_CHECKPOINT_PATH \--data_config so100_dualcam \--dataset_path /datasets/so101-table-cleanup/ \--video_backend torchvision_av \--modality_keys single_arm gripper 这是在训练策略7000步后的结果。 经过更多步骤的训练后模型性能将显著提升。 太棒了您已成功在新的实现上对GR00T-N1.5进行了微调。
1.4 部署 首先确保数据可重放请参考lerobot文档https://huggingface.co/docs/lerobot/so101 在机器人上评估策略
python eval_lerobot.py \--robot.typeso101_follower \--robot.port/dev/ttyACM0 \--robot.idlil_guy \--robot.cameras{ wrist: {type: opencv, index_or_path: 9, width: 640, height: 480, fps: 30}, front: {type: opencv, index_or_path: 15, width: 640, height: 480, fps: 30}} \--policy_host10.112.209.136 \--lang_instructionGrab pens and place into pen holder.
有关部署的更多详细信息请参阅笔记本5_policy_deployment.md
二、Unitree G1 微调 本节展示如何在 Unitree G1 机器人上进行微调作为新的实现方式。数据集可从以下链接获取nvidia/PhysicalAI-Robotics-GR00T-Teleop-G1
规格
观察43 维向量化状态全身和双手的关节位置动作43 维向量化动作全身和双手的关节位置视频RGB 视频分辨率为 640x480帧率为 20fps语言指令 “从桌子上拿起苹果把它放进篮子里。”“从桌子上拿起梨并放入篮子。”“从桌子上拿起葡萄并放入篮子。”“从桌子上拿起星果并放入篮子。”
2.1 下载数据集
huggingface-cli download \--repo-type dataset nvidia/PhysicalAI-Robotics-GR00T-Teleop-G1 \--local-dir ./datasets/
2.2 尝试加载数据集并可视化它 示例加载苹果数据集的第一集
python scripts/load_dataset.py --dataset-path datasets/PhysicalAI-Robotics-GR00T-Teleop-G1/g1-pick-apple/ --plot-state-action### Similar for other fruits
# Switch to other fruits -- pear, grapes, starfruit ·您应看到以下图表 2.3 微调 在此我们可以提供用于微调的數據集列表。我们将使用包含苹果、梨、葡萄和星果采摘任务的混合数据集对模型进行微调。
dataset_list(datasets/PhysicalAI-Robotics-GR00T-Teleop-G1/g1-pick-apple/datasets/PhysicalAI-Robotics-GR00T-Teleop-G1/g1-pick-pear/datasets/PhysicalAI-Robotics-GR00T-Teleop-G1/g1-pick-grapes/datasets/PhysicalAI-Robotics-GR00T-Teleop-G1/g1-pick-starfruit/
)python scripts/gr00t_finetune.py \--dataset-path ${dataset_list[]} \--num-gpus 1 --batch-size 95 --output-dir ~/checkpoints/full-g1-mix-fruits/ \--data-config unitree_g1 --max-steps 15000 注意由于该数据集采用H.264编码格式录制因此在加载视频时需使用decord后端。 2.4 开环评估 示例评估苹果数据集
python scripts/eval_policy.py --plot \--embodiment_tag new_embodiment \--model_path YOUR_CHECKPOINT_PATH \--data_config unitree_g1 \--dataset_path datasets/PhysicalAI-Robotics-GR00T-Teleop-G1/g1-pick-apple/ \--video_backend decord \--modality_keys left_arm right_arm 我们可以看出策略对动作的预测似乎与真实情况非常接近这表明微调是成功的。然而对于策略的实际性能我们需要在真实机器人上进行评估。
2.5 部署 G1 的部署脚本在此未提供。但该管道与 so100 微调管道类似。