docs: E11 on the home page, and the pi0 examples that could not run - #8
Merged
Merged
Conversation
Three changes, all pointing at the same run. The home page gains a section after Verify. The same two processes carry a full-size pi0.5: the env client steps LIBERO, the server answers with actions, FPO trains on the feedback. As a control the unmodified checkpoint scored 99 of 100 on libero_spatial and 185 of 200 on libero_10, against openpi's published 98.8 and 92.4, with the server's episode and step counts equal to the clients'. The reinforcement learning result is negative and the section says so: one FPO iteration took the hardest task from 26 of 50 to 0 of 50, at one iteration of ten, because a second learn step does not fit beside the optimizer state the first one allocates on a 24 GB card. The LIBERO page gains the invocation E11 evaluated with, copied from the harness script the run committed, and the flags that are easy to get wrong: --runner.pass-proc-id gives process i task i and makes --num-episodes a per-task count, --recorder.no-thread0-only is what makes per-task success rates recoverable afterwards, and rendering goes through EGL on a device EGL orders itself. The pi0 examples in four policy pages could not have run. They paired a flow policy with dppo, passed hopper - one of dppo's own presets - as that algorithm's config, and spelled every flag with underscores where the CLI generates hyphens. They are replaced by the eval and fpo invocations E11 ran. The underscore spellings elsewhere on the DPPO page are corrected as well: hyphenation is a property of the CLI, not of any one policy. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Three changes, all from E11.
The home page now says a VLA ran through this
A section after Verify, in both languages. The same two processes carry a
full-size pi0.5. As a control, the unmodified checkpoint scored 99 of 100
on
libero_spatialand 185 of 200 onlibero_10- openpi publishes 98.8and 92.4 - and the server's episode and step counts matched the clients' to the
unit, which is the part that says the transport dropped nothing.
The section then says the reinforcement learning result is negative: one
FPO iteration took the hardest task from 26 of 50 to 0 of 50, and the run is
incomplete at one iteration of ten, because a second learn step does not fit
beside the optimizer state the first one allocates on a 24 GB card. The
predictions were pre-registered and one of them is falsified. A reader who
follows the link finds the same thing said at greater length, not a better
version of it.
The LIBERO page now says how E11 drove it
The evaluation invocation, copied from
e11_stageA.shas it was committed, andthe three flags whose absence quietly changes what you measure:
--runner.pass-proc-idgives process i task i, which also makes--num-episodesa per-task count rather than a total.--recorder.no-thread0-onlymakes every process write its ownsummary.json. Without it only process 0 reports and per-task success ratescannot be recovered afterwards.
MUJOCO_GL=egl, and the GPU it renders on follows EGL's owndevice order, which need not agree with
CUDA_VISIBLE_DEVICES.Plus the one-line difference that turns the ten-task sweep into the single-task
setup the fine-tuning runs used.
The pi0 examples could not have run
docs/policy/index.md,docs/policy/dppo_policy.mdand their Chinesecounterparts all carried a variant of:
Three independent reasons it fails:
pi0-policyis a flow policy. It pairs withfpooreval.dppoexpects a diffusion policy.
hopperis one ofdppo's presets, passed here as the algorithm configfor an algorithm that is not being used.
--policy.checkpoint-path,--policy.denoising-steps,--exp-name.They are replaced by the
evalandfpoinvocations E11 ran, withpi05_liberorather thanpi05_tiny_liberoas the config name, since that isthe one that was actually run. The same fix landed in the server README
(PlugRL/plugrl-server#23).
One judgment call worth reviewing
The DPPO page spelled its own flags with underscores too -
--exp_name,--policy.env_type,--policy.env_name,--policy.checkpoint_path. Ihyphenated them.
--exp-nameis verified: it appears in the harness scripts ofa run that worked. The
dppo-policyones are not - thedppoextra is notinstalled on this machine, so I have not run them. Hyphenating them asserts
nothing new about whether those fields exist; it only applies a CLI-wide rule
that is already verified. If a field name there is wrong, it was wrong before
this PR too, and someone with the extra installed should check.
Checks
results/stageA.tsvandresults/stageC_eval.tsv, not from memory.reconstructed.
mkdocs build --strictpasses; bothenandzhbuild.🤖 Generated with Claude Code