https://github.com/Physical-Intelligence/openpi/tree/main
我使用4070tisuper, 14900k,完全使用官方默认设置,没有出现其他问题。
目前只对examples/aloha_sim进行测试,使用docker进行部署, 默认使用pi0_aloha_sim模型(但是文档上没找到对应的?)。
1. 准备环境
1.1. 下载工作区
git clone --recurse-submodules git@github.com:Physical-Intelligence/openpi.git
# Or if you already cloned the repo:
git submodule update --init --recursive
1.2. 设置docker
https://github.com/Physical-Intelligence/openpi/blob/main/docs/docker.md
此处需要将docker设置为rootless模式。
首先检查目前的docker模式:
ps aux | grep dockerd
返回
root 1786 0.0 0.0 3981352 65056 ? Ssl 4月15 1:24 dockerd --group docker --exec-root=/run/snap.docker --data-root=/var/snap/docker/common/var-lib-docker --pidfile=/run/snap.docker/docker.pid --config-file=/var/snap/docker/3064/config/daemon.json root 132894 0.0 0.1 2713816 73804 ? Ssl 00:43 0:00 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock blamlig+ 133647 0.0 0.0 16940 4744 pts/1 S+ 00:48 0:00 grep --color=auto dockerd
所以目前是以root模式安装的docker。此时直接运行编译Image会出现报错。
docker compose -f scripts/docker/compose.yml up --build
所以按照要求安装rootless docker.
dockerd-rootless-setuptool.sh install --force
添加环境变量:
export PATH=$HOME/bin:$PATH
export DOCKER_HOST=unix:///run/user/$(id -u)/docker.sock
启动rootless docker:
systemctl --user start docker
再次查看:
ps aux | grep dockerd
可以看到此时root和rootless docker都在系统中运行了,我们可以手动选择目前需要使用哪个docker。
1.3. 切换root和rootless
在额外设置了rootless模式后,原先的root docker会有不同的使用命令。将以下命令放在bashrc中,source.
alias dockroot='echo "[+] 切换到 ROOT 模式 Docker";systemctl --user stop docker 2>/dev/null;docker context use default;sudo systemctl start snap.docker.dockerd;echo "[*] 当前 Docker 模式:";sudo docker info | grep -Ei "Docker Root Dir|Server Version|Context";
'alias dockless='echo "[+] 切换到 ROOTLESS 模式 Docker";sudo systemctl stop snap.docker.dockerd;docker context use rootless;systemctl --user start docker;echo "[*] 当前 Docker 模式:";docker info | grep -Ei "rootless|Docker Root Dir|Server Version";
'
在rootless模式下可以查看:
在root模式下使用sudo查看:
2. 编译image
切换到rootless模式下可以直接编译:
docker compose -f scripts/docker/compose.yml up --build
如果已经编译国image,不希望创建新的image,则使用:
docker compose -f scripts/docker/compose.yml up
基础image编译完成后,openpi提供了多个example可以进行image build。
docker compose -f examples/aloha_sim/compose.yml up --build
或
docker compose -f examples/aloha_sim/compose.yml up
这个image编译运行后会自动运行container并结束,并录制视频在data文件夹中。
结果:
其他编译测试结果:
其他
如果需要指定gpu, 如用cuda:1设备:
deploy:resources:reservations:devices:- driver: nvidia#count: 1device_ids: ['1']capabilities: [gpu]