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 is a proper version of #4049, with all the changes related to the ExGaussian's logp.
As suggested by @junpenglao in #4045, this PR adds a
tt.switch
statement in theExGaussian
logp to replace 0 with epsilon. That way,std_cdf
never returns 0, andlogpow
never returns-inf
.The changes seem to work:
pm.ExGaussian.dist(0., .25, 1./6).logp(y).eval()
doesn't contain-inf
anymore, and the model in Discourse doesn't raise aBadInitialEnergy
error.Thanks for the reviews 🖖