droidfull8 π0.5: FedAvg on all of DROID
Official openpi JAX π0.5, full fine-tune from pi05_base with openpi's own full-DROID recipe (pi05_full_droid_finetune):
- Data: the RLDS release
droid/1.0.1, successful episodes, openpi's idle-frame filter: 78,864 episodes, 22.13 M frames, read by openpi's RLDS pipeline. - Model: joint-position actions in 16-step chunks.
- Optimiser: lr 5e-5, clip 1.0, EMA 0.99, 25.6 M samples.
- Federated: 8 clients, each a set of whole DROID buildings (no building split), balanced by training frames; FedAvg weighted by frames.
- Schedule: 400 rounds × 250 local steps × batch 32 per client.
The served weights are the EMA, as openpi serves them. Same inputs / outputs as openpi's pi05_droid_jointpos: one exterior camera + wrist camera, 7 joint positions + gripper, chunks of absolute joint targets + gripper.
Reference model: the official π0.5-DROID joint-position checkpoint, gs://openpi-assets-simeval/pi05_droid_jointpos.
| Path | What |
|---|---|
openpi/ |
official openpi checkpoint (params/ = EMA weights, assets/droid/norm_stats.json); serve it with plain openpi |
server_round_0400.pt |
decent-vla checkpoint (weights + EMA shadow) + openpi_pi05_droidfull8_fedavg_local.yaml + training log |
droid_jointpos_main.py |
real-robot client for a DROID platform (joint-position control) |
(Files arrive as a pull request from the training run; see Community → Pull requests until it is merged.)
Evaluate anywhere: RoboLab or a real DROID robot
Any machine with an NVIDIA GPU (RoboLab: RTX, ≥ 48 GB; serving only: ≥ 16 GB).
huggingface-cli download DecentVLA/droidfull8_pi05_fedavg --include "openpi/*" --local-dir droidfull8_fedavg
# RoboLab's own openpi server (xuningy/openpi fork, installed per NVLabs/RoboLab policies/pi0_family/README.md):
XLA_PYTHON_CLIENT_MEM_FRACTION=0.5 uv run scripts/serve_policy.py --port 8000 policy:checkpoint \
--policy.config=pi05_droid_jointpos --policy.dir=$(realpath droidfull8_fedavg/openpi)
- RoboLab:
uv run python policies/pi0_family/run.py --policy pi05 --headless --remote-host <server> --remote-port 8000 - Real DROID robot:
python droid_jointpos_main.py --remote-host <server> --remote-port 8000 --external-camera left ...(joint-position control; per-step joint safety limit--max-joint-step, default 0.25 rad).
Runbook and code: decent-vla examples/droid/README_droidfull8.md (tag droidfull8-v1).