当前位置: 首页 > news >正文

基于AutoDL远端服务器在pycharm复现:具身智能论文pai0

基于AutoDL远端服务器在pycharm复现:身智能论文pai0

  • 一、通过git把项目源码下载到本地
  • 二、把远端显卡通过SSH连接到你的本地pycharm
  • 三、开搞吧那就(下载模型把服务端跑起来)
    • 服务器部署UV
    • 下载模型
    • 把服务端拉起来!!!
  • 四、部署客户端,并下载小视频 ;)

一、通过git把项目源码下载到本地

我们一定要使用git命令去下,不要用git网站的download ZIP去下载。因为这个下载下来的项目会缺少部分文件,最后你还是要用git命令下载。打开pycharm本地终端,输入命令:

git clone --recurse-submodules https://github.com/Physical-Intelligence/openpi.git 

在这里插入图片描述

本地把下载好的这个项目新建一个工程,这样你的pycharm本地就有代码了:
在这里插入图片描述

二、把远端显卡通过SSH连接到你的本地pycharm

  1. 首先去AutoDL官网组一个显卡,要求:Ubuntu 22.04镜像、4090及以上即可。
    在这里插入图片描述
  2. 在pycharm中如何配置好显卡,官网有非常详细的操作手册,按照一步一步做就能搭建好,点击跳转。
    配置好后效果如下图红色圈圈所示:

tips:配置过程中会有一个映射文件的选项,你可以自由的选择本地哪个路径映射到远端服务器哪个路径。
在这里插入图片描述

三、开搞吧那就(下载模型把服务端跑起来)

现在,我们有显卡,有代码,直接开搞:
等一下,我们首先捋清楚一些概念:

· pai0的复现有两个模块,一个是服务端,一个是客户端,分别在两个终端运行;
· 我们租的显卡(或者你们自己实验室的显卡!!!)是远端服务器,本地只存储项目源码,其他一律不跑,一律不存,只通过SSH协议远程去调用服务器就可以。

好,接下来我们去服务器上面部署环境。

服务器部署UV

首先确保你的服务器不在conda环境下,只要你不多于操作,服务器调起来后一般是不会进conda的。
分别输入以下命令安装UV:

export UV_DEFAULT_INDEX="https://mirrors.aliyun.com/pypi/simple"
wget -qO- https://astral.sh/uv/install.sh | sh
echo 'eval "$(uv generate-shell-completion bash)"' >> ~/.bashrc
pip install uv

在安装完后进入到 项目的根目录下执行下面的命令:

cd 你的项目根目录(默认是openpi,我自己改名为pai0了)
GIT_LFS_SKIP_SMUDGE=1 uv sync
GIT_LFS_SKIP_SMUDGE=1 uv pip install -e .

都不报错误的话,接下来试试UV装好了没。

echo 'print("UV work done")' > test.py
uv run test.py

如果控制台打印了print语句,说明的UV搞定了,有警告没关系,只要能跑起来就行。

在这里插入图片描述

下载模型

我们通过脚本下载模型,首先在你本地的项目中new一个python文件download.py,这个脚本要放在src 目录下,里面写如下代码:

from openpi.training import config
from openpi.policies import policy_config
from openpi.shared import downloadmodel_name = "pi0_fast_droid"
model_link = "gs://openpi-assets/checkpoints/pi0_fast_droid"config = config.get_config(model_name)
checkpoint_dir = download.maybe_download(model_link)policy = policy_config.create_trained_policy(config, checkpoint_dir)

在这里插入图片描述

脚本中的 model_namemodel_link 变量来指定想要的模型。这两个变量其实就是 ReadMe 提供的链接,
例如 gs://openpi-assets/checkpoints/pi0_fast_droid,那么模型名就是后缀 pi0_fast_droid 。官方Git网站上readme文件的Model Checkpoints章节介绍了基准模型和微调模型,你随便挑一个自己爱的就行了。

下一步,在服务器终端设置环境变量

export HF_ENDPOINT="https://hf-mirror.com" 

模型会自动下载到 ~/.cache/openpi/openpi-assets/checkpoints 路径下,如果你想要修改默认下载路径可以在当前bash中执行以下命令:

export OPENPI_DATA_HOME="your model save path"

我设置的是AutoDL一个约定好的本地目录:/root/autodl-tmp

使用命令下载!!!!!!!!

uv run src/download.py

这里放一张大佬的图:想看大佬教程的移步这里。我只完成了最基础的复现工作,大佬做了很多更深入的研究。

在这里插入图片描述

把服务端拉起来!!!

上面都对的话现在应该在这里了:
在这里插入图片描述

现在把服务端拉起来,启动推理服务(会自动连接到HuggingFace)

export HF_ENDPOINT=https://hf-mirror.com
uv run scripts/serve_policy.py --env LIBERO

如果正常的话现在服务端就起来了,并持续监听8000端口:
在这里插入图片描述

这里我建议大家自己去读一下serve_policy.py代码,我也还要研究一下。

四、部署客户端,并下载小视频 ;)

现在我们暂时不用管服务端的终端窗口,new一个新的终端窗口,进入项目所在目录,按顺序输入下面的神秘代码:

 uv venv --python 3.8 examples/libero/.venvsource examples/libero/.venv/bin/activate

在这里插入图片描述

# 此命令下载包较多,可能时间较久
uv pip sync examples/libero/requirements.txt third_party/libero/requirements.txt --extra-index-url https://download.pytorch.org/whl/cu113 --index-strategy=unsafe-best-match
# 下载客户端
uv pip install -e packages/openpi-client
# 下载第三方库
uv pip install -e third_party/libero
# 配置全局环境变量
export PYTHONPATH=SPYTHONPATH:$PWD/third_party/libero
# 如果使用AutoDL这种无图形化界面的云服务,那么需要额外配置ubuntu的图形化必要依赖
apt-get update && apt-get install -y libgl1-mesa-glx libosmesa6-dev libglew-dev patchelf libegl1
# 最后启动客户端
python examples/libero/main.py

按下方红色划线输入指令:
在这里插入图片描述
一切正常的话客户端已经在跑了:
在这里插入图片描述
最后产生的视频在如下图的目录:
在这里插入图片描述
在这里插入图片描述

至此复现做完了,但是这只是刚刚开始。继续学习吧!0.0

http://www.dtcms.com/a/532070.html

相关文章:

  • 如何看访问网站的dns网站开发难不难
  • 数据结构·堆
  • 阮一峰《TypeScript 教程》学习笔记——类型映射
  • 需要做网站建设和推广网站地图插件
  • PyCharm 设置 Tabs and Indents
  • Spring Boot3零基础教程,生命周期监听,自定义监听器,笔记59
  • 【SpringBoot】详解Maven的操作与配置
  • 【C++】STL容器--priority_queue的使用与模拟实现
  • 【系统分析师】高分论文:论需求分析方法及应用(电子商务门户网站系统)
  • 【大模型应用开发 6.LangChain多任务应用开发】
  • 泰安最好的网站建设公司怎么通过做网站赚钱吗
  • 初识C语言15.文件操作
  • 聊聊连续、递增
  • 9款上班打卡软件测评:帮你选出最适合企业的工具
  • 建站服务网络公司建设宣传网站上的请示
  • Mem0 使用案例学习总结 - 记忆化应用结构
  • 如何自动清理 Linux 临时文件 ?
  • C++容器forward_list
  • 茂名网站建设培训品牌宣传网站
  • 油漆工找活做的网站网站免费建设
  • TcpClinet
  • Appium+Python+Android+Nodejs环境安装
  • SCDN:互联网时代网站安全的安全保障
  • Linux小课堂: Apache服务在CentOS上的安装与基础配置指南
  • Gorm(八)预加载方式
  • 网站开发与设计的实训场地WordPress无法自动推送
  • 【找指针数组最大值】2022-11-24
  • 自己做网站能赚钱吗做spa的网站怎么推广
  • 网络管理中的名词
  • gitlab配置git的ssh秘钥