7.2 远程异步推理

7.2 远程异步推理

当本地没有 GPU 时,通过 gRPC 将模型推理卸载到远程 GPU 服务器,Jetson/树莓派仅负责动作执行。

[树莓派/Jetson] ←→ [GPU 服务器: policy_server]

安装依赖

pip install -e ".[async]"

Step 1: 启动 xlerobot_host(树莓派/Jetson)

python -m lerobot.robots.xlerobot.xlerobot_host --robot.id=<YOUR_ROBOT_ID>

Step 2: 启动 policy_server(GPU 服务器)

python src/lerobot/scripts/server/policy_server.py --host=0.0.0.0 --port=5858

Step 3: 启动 robot_client(树莓派/Jetson)

python src/lerobot/scripts/server/robot_client.py \
  --server_address="<GPU_IP>:5858" \
  --policy_type=act \
  --pretrained_name_or_path=outputs/train/act_xlerobot_test/checkpoints/last/pretrained_model \
  --policy_device=cuda \
  --actions_per_chunk=32 \
  --robot.type=xlerobot \
  --robot.id=<YOUR_ROBOT_ID> \
  --robot.port1=/dev/so101_follower_left \
  --robot.port2=/dev/so101_follower_right

XLeRobot v0.4 使用旧版 API 路径(src/lerobot/scripts/server/),与新版 lerobot 的 async_inference 模块不同。

启动 host(树莓派/Jetson)

linux: python -m lerobot.robots.xlerobot.xlerobot_host --robot.id=<YOUR_ROBOT_ID>
macos: python -m lerobot.robots.xlerobot.xlerobot_host --robot.id=<YOUR_ROBOT_ID>
windows: python -m lerobot.robots.xlerobot.xlerobot_host --robot.id=<YOUR_ROBOT_ID>

启动 policy_server(GPU 服务器)

linux: python src/lerobot/scripts/server/policy_server.py --host=0.0.0.0 --port=5858
macos: python src/lerobot/scripts/server/policy_server.py --host=0.0.0.0 --port=5858
windows: python src/lerobot/scripts/server/policy_server.py --host=0.0.0.0 --port=5858