Fix FoldedDistribution conditioning behavior #138
Merged
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.
Extracted from #130. Blocking #130 #131 #132 #133 #134
This PR fixes an edge case that came up in #130:
FoldedDistribution
s are subclasses ofTransformedDistribution
in Pyro, but theTransform
s they use don't implement inversion so they aren't compatible with the logic for standardTransformedDistribution
s incausal_pyro.counterfactual.handlers.ambiguity
.This bug is not specific to
FoldedDistribution
, but because PyTorchDistribution
s andTransform
s are so resistant to introspection it has to be dealt with case-by-case. I'm adding the fix for this case now because it is blocking #10.