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]