Change tune method to not act inplace plus more sampler stats #3732
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.
By acting inplace, the
tune
method inmetropolis.py
modified that scaling of all parallel DEMetropolis chains at the same time.When
DEMetropolis
is used withcores = 1
, the step method instance is shallow-copied for each chain. The shallow-copying is memory-friendly (important for b/c of the model graph), but the shallow copies also share the reference to the originalscaling
attribute.The following example shows why the in-place
tune
implementation is problematic:Changes
tune
method to not act inplaceaccepted
andscaling
sampler stats forMetropolis
andDEMetropolis
because they were useful for testingcloses #3731