1.6.0
Breaking changes
- Update to PyTorch 1.8 release (required).
- Enable validation by default #2701. To disable globally call pyro.enable_validation(False); or disable locally to one distribution via e.g.
Normal(loc, scale, validate_args=False)
. - Switch from
LKJCorrCholesky
distribution to upstream LKJCholesky distribution #2771.
New Tutorials
- Product LDA for probabilistic topic modeling #2729.
New features
- Support masked conditioning via pyro.sample(..., obs_mask=...) #2772.
- Distributions:
- Added a Distribution.infer_shapes() method for static shape analysis #2739.
- Added ProjectedNormal for circular and spherical data (with more functionality than
VonMises
) #2736. - Added AffineBeta distribution over arbitrary intervals #2735 by @ordabayevy.
- Added SpanningTree properties
.mode
,.edge_mean
#2727 - Added OneOneMatching and OneTwoMatching distributions to approximately marginalize over bipartite matchings #2707, #2697.
- Reparametrizers:
- Added ProjectedNormalReparam for inference with ProjectedNormal distributions #2736.
- Support more batch distributions in HaarReparam #2731.
- Constraints:
- Added a Constraint.event_dim property #2753.
- Added
positive_ordered_vector
,corr_matrix
#2762 - Added
sphere
#2736. - Added
softplus_positive
andsoftplus_lower_cholesky
constraints with numerically stable SoftplusTransform and SoftplusLowerCholeskyTransform #2767.
- Added a TraceMarkovEnum_ELBO and
VectorizedMarkovMessenger
for parallel scan enumeration #2703, #2703 by @ordabayevy. - Added an experimental autoname handler #2745 by @ordabayevy.
- Added goodness of fit tests for testing new distribution implementations #2738.
- Support MaskedDistribution in contrib.forecast #2709.
Bugfixes
- Many fixes to distribution shapes #2759, #2746, #2739.
- Detach AutoGuide.median() and .quantiles() methods #2743.