Fixing the Random Number Generator Bug from pickled objects #8
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.
When loading a model from a
XXX.synd
pickle object (liketrpcage.synd
), a previously-initialized random number generator (RNG) is used, so any trajectory generated from the loaded pickle are deterministic. You can test it by running the sample code below multiple times; the resulting output is exactly the same. Un-commenting line 7, which will create a new RNG each time, will fix that.This branch contains all the necessary fixes for sufficiently randomized runs. These include the following changes:
randomize
argument toload_model()
to suppress randomization, which could be useful when reproducibility is needed.randomize
andrng_seed
can be added to thewest.cfg
to suppress randomization for testing.Test Script (need to manually run this multiple times):