0.5.0
New documentation page with galleries of tutorials and examples num.pyro.ai.
New Features
- New primitive: prng_key to draw a random key under
seed
handler. - New autoguide: AutoDelta
- New samplers:
- HMCGibbs: a general HMC/NUTS-within-Gibbs interface.
- DiscreteHMCGibbs: HMC/NUTS-within-Gibbs for models with discrete latent variables.
- HMCECS: HMC/NUTS with energy conserving subsampling.
- New example:
- New kernels module in
numpyro.contrib.einstein
, in preparing for (Ein)Stein VI inference in future releases. - New user-friendly SVI.run method to simplify the training phase of SVI inference.
- New feasible_like method in constraints.
- New methods
forward_shape
andinverse_shape
in Transform to infer output shape given input shape. - Transform.inv now returns an inversed transform, hence enables many new (inversed) transforms.
- Support thinning in MCMC.
- Add post_warmup_state and last_state to allow sequential sampling strategy in MCMC: allow to keep calling
.run
method to get more samples. - New
history
argument to support for Markov models withhistory > 1
in scan. - New forward_model_differentiation argument in HMC/NUTS kernels to allow to use forward mode differentiation.
Enhancements and Bug Fixes
- #886 Make TransformReparam compatible with
.to_event()
- #883 Improve gradient computation of Euclidean kinetic energy.
- #872 Enhance masked distribution to allow gradient propagate properly when using
mask
handler for invalid data. - #865 Make subsample faster in CPU.
- #860 Fix for memory leak in MCMC.
- #849 Expose
logits
attribute to some discrete distributions - #848 Add
has_rsample
andrsample
attribute to distributions - #832 Allow a callable to return an init value in
param
primitive - #824 Fix for cannot using sample method of TFP distributions in
sample
primitive. - #823 Demo on how to use various init strategies in Gaussian Process example.
- #822 Allow haiku/flax modules to take general args/kwargs in
init
. - #821 Better error messages when
rng_key
is missing. - #818 Better error messages when an error happens in the middle of inference.
- #805 Display correct progress bar message after running
MCMC.warmup
. - #801 Raise an error early if missing plates for models with discrete latent variables.
- #797 MCMC
vectorized
chain method works for models with deterministic sites. - #796 Bernoulli distribution returns an int instead of a boolean.
- #795 Reveal signature for
help(Distribution)
.
Thanks Ola Ronning @OlaRonning, Armin Stepanjan @ab-10, @cerbelaut, Xi Wang @xidulu, Wouter van Amsterdam @vanAmsterdam, @loopylangur, and many others for your contributions and helpful feedback!