Fix recognition of tuning stat in .to_inferencedata()
method
#103
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.
This fixes two bugs, one of which only got triggered by the first.
Since PyMC v5.7.0 the
"tune"
stat is sampler-wise, and named"sampler_0__tune"
or similar.However, the
.to_inferencedata()
implementation here was not updated, and kept looking for"tune"
.When this is not available, an all-false mask was supposed to be used, but since
np.repeat
was used, this was just an empty array, resulting in all draws getting sliced away all the time.The change here is two-fold:
np.full
to create the mask if no tune stat was found."tune"
or ending with"__tune"
to be compatible with PyMC before and after 5.7.0.__all__
to hide non-public parts of the.core
API.