CANN pi0机器人VLA大模型昇腾推理指南
pi0机器人VLA大模型昇腾使用指南【免费下载链接】cann-recipes-embodied-intelligence本项目针对具身智能业务中的典型模型、加速算法提供基于CANN平台的优化样例项目地址: https://gitcode.com/cann/cann-recipes-embodied-intelligencepi0整体介绍论文题目π0: A Vision-Language-Action Flow Model for General Robot Control中文译文π0: 一个用于通用机器人控制的视觉-语言-动作流匹配模型功能介绍pi0是一个视觉-语言-动作VLA模型专为通用机器人控制而设计。它基于预训练的视觉语言模型VLM结合流匹配flow matching机制能够生成高频连续动作实现对复杂、灵巧机器人任务的精准控制。整合OXE开源数据集和自有数据集总计超过10,000小时机器人操作数据。在叠衣服、桌面清理、装盒等复杂任务上表现优异零样本和微调设置下均显著优于现有基线方法OpenVLA、Octo、ACT等。成功完成5-20分钟的长时序多阶段任务展现出强大的鲁棒性和泛化能力。pi0的相关代码仓拉取、数据集和模型下载# 进入需要放置代码仓的本地xxx目录下 cd xxx git clone https://gitcode.com/cann/cann-recipes-embodied-intelligence.git chmod x cann-recipes-embodied-intelligence/manipulation/pi0/infer_with_torch/download_code_and_data.sh ./cann-recipes-embodied-intelligence/manipulation/pi0/infer_with_torch/download_code_and_data.sh完成上述操作之后最终lerobot根目录中相关代码目录树详见附录lerobot根目录相关代码目录树。pi0在昇腾A2上的运行环境配置与昇腾服务器无关的环境配置# 创建运行环境 conda create -y -n lerobot python3.10 conda activate lerobot # 回到lerobot根目录安装lerobot。 cd lerobot pip install -e .与昇腾平台相关的环境配置安装CANN软件包。本样例的编译执行依赖CANN开发套件包cann-toolkit与CANN二进制算子包cann-kernels支持的CANN软件版本为CANN 8.3.RC1。 请从软件包下载地址下载Ascend-cann-toolkit_8.3.RC1_linux-aarch64.run与Ascend-cann-kernels-910b_8.3.RC1_linux-aarch64.run软件包并参考CANN安装文档依次进行安装。# ${cann_install_path}为CANN包的实际安装目录注意每次新建终端时首先source一下set_env.sh。 # 方式1默认路径安装以root用户为例 source /usr/local/Ascend/ascend-toolkit/set_env.sh # 方式2指定路径进行安装 source ${cann_install_path}/ascend-toolkit/set_env.sh # 在上述运行环境中继续安装对应版本torch-npu pip install torch-npu2.1.0.post12pi0在昇腾上的推理步骤运行下面的代码即可自动加载koch机械臂数据集进行pi0模型推理打印推理性能及机器人动作。# 进入lerobot代码仓根目录 cd lerobot conda activate lerobot chmod x run_pi0_inference.sh ./run_pi0_inference.sh koch_test pi0_model 10 100基于上述运行过程得到pi0的单次推理时间及结果如下所示详细的优化过程介绍见 pi0 优化说明文档推理性能单次推理时间下降至80 ms达到了预期的推理时间性能优化目标。推理结果单次推理结果为50组机械臂关节角度序列shape为[50,6]。pi0在昇腾上的精度验证步骤基于koch机械臂末端位姿的ATE(绝对误差)来验证昇腾的推理精度为了能够以固定变量法进行昇腾平台的推理精度测试需将pi0推理中action_expert中的高斯噪声采样部分进行固定噪声文件加载(即使用同样的高斯噪声采样数据)。基于pi0模型推理得到的整段轨迹六关节角度序列(维度:50x6)通过获取koch机械臂的物理DH参数执行koch机械臂正运动学运算得到koch机械臂末端执行器中心的实际位姿位置x-y-z 姿态r-p-y然后通过ATE(absolute error)方法进行二范数计算得到昇腾平台上koch机械臂末端位姿的误差参数误差参考范围如下所示位置ATE误差参考范围[0, 0.03]m姿态ATE误差参考范围[0, 0.2 ]radCitationmisc{black2024pi0, title{$\pi$0: A Vision-Language-Action Flow Model for General Robot Control}, author{Kevin Black and Noah Brown and Danny Driess and Adnan Esmail and Michael Equi and Chelsea Finn and Niccolo Fusai and Lachy Groom and Karol Hausman and Brian Ichter and Szymon Jakubczak and Tim Jones and Liyiming Ke and Sergey Levine and Adrian Li-Bell and Mohith Mothukuri and Suraj Nair and Karl Pertsch and Lucy Xiaoyang Shi and James Tanner and Quan Vuong and Anna Walling and Haohuan Wang and Ury Zhilinsky}, year{2024}, eprint{2410.24164}, archivePrefix{arXiv}, primaryClass{cs.RO}, url{https://arxiv.org/abs/2410.24164} }附录lerobot根目录相关代码目录树检查整体代码目录树经过上述的复制及替换操作pi0适配昇腾的lerobot根目录中的最终相关代码目录树如下所示├── koch_test # koch机械臂抓取任务数据集,符合lerobot数据集格式 ├── lerobot # pi0模型训练及推理框架 | ├── common | | ├── policies | | | ├── pi0 | | | | ├── modeling_pi0.py # pi0的模型训练及推理代码 | | | | ├── paligemma_with_expert.py # pi0的模型训练及推理代码 ├── pi0_model # koch机械臂抓取任务预训练pi0模型 └── pyproject.toml # 运行环境第三方包的安装版本 └── README.md # 昇腾上运行pi0推理的环境配置及操作指导 └── run_pi0_inference.sh # 昇腾上运行pi0推理过程一键启动脚本 └── test_pi0_on_ascend.py # 昇腾上运行pi0推理主代码【免费下载链接】cann-recipes-embodied-intelligence本项目针对具身智能业务中的典型模型、加速算法提供基于CANN平台的优化样例项目地址: https://gitcode.com/cann/cann-recipes-embodied-intelligence创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2598148.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!