Repository navigation
E55: a step ledger on both sides of the boundary catches and locates every fault in what crosses, with no reference run, across machines too - #122
Merged
Conversation
… a step ledger kept on both sides of the boundary catch and locate every fault in what crosses, with no reference run and across machines E54's faults at doses one, 0.01 and 1.0 on Pendulum: 216 runs on one machine, and 24 with the env client on the laptop and SB3 on guangzhao. The ledger is a gymnasium wrapper around each environment; ledger.py compares it with the trainer's trace, step by step.
…nd locates every fault in what crosses, with no reference run, across machines too One machine: 189 of 189 client-fault runs caught at their first changed value and field, no false alarm in 27. Across machines (env client on the laptop): all 21 faults caught and located, none differs, while the fault-free run ended on other weights than on guangzhao. Ledger or record caught every run with a changed value. Every check and prediction holds.
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.
The question
E54 found two checks that together catch every boundary fault it injected, but each has a gap:
A boundary fault is a difference between what the environment took and gave and what the trainer sent and received. Does a ledger kept on both sides, compared step by step, catch and locate every fault in what crosses? Can it do so with no reference run, and across machines?
The answer
Yes. The environment-side ledger is a gymnasium wrapper (
LedgerEnv) outside the client's code. The trainer-side ledger is E54's trace.ledger.pycompares them env by env, step by step.Every check and prediction holds (
results/verdicts.txt).d7a19cc0, not guangzhao'sec5b8226. Byte identity would have called it faulty; the ledger found no difference.nonestill ends on E50's weights.The faults in the trainer's own log change nothing that crosses, so they stay with E54's record. Checking a digest of each step inside the protocol, as the run goes, is the follow-up.
The per-run traces and ledgers stay on guangzhao, including the laptop's side as
cross-laptop-side.tgz.results/andresults/cross/carry every verdict.