TensorFlow Probability 0.9
Release notes
This is the 0.9 release of TensorFlow Probability. It is tested and stable against TensorFlow version 2.1.0.
NOTE: The 0.9 releases of TensorFlow Probability will be the last to support Python 2. Future versions of TensorFlow Probability will require Python 3.5 or later.
Change notes
-
Distributions
- Add Pixel CNN++ distribution.
- Breaking change: Remove deprecated behavior of
Poisson.rate
andPoisson.log_rate
. - Breaking change: Remove deprecated behavior of
logits
,probs
properties. - Add
_default_event_space_bijector
to distributions. - Add validation that samples are within the support of the distribution.
- Support positional and keyword args to
JointDistribution.prob
andJointDistribution.log_prob
. - Support
OrderedDict
dtype inJointDistributionNamed
. tfd.BatchReshape
is tape-safe- More accurate survival function and CDF for the generalized Pareto distribution.
- Added Plackett-Luce distribution over permutations.
- Fix long-standing bug with
cdf
,survival_function
, andquantile
forTransformedDistribution
s having decreasing bijectors. - Export the DoubleMaxwell distribution.
- Add method for analytic Bayesian linear regression with LinearOperators.
-
Bijectors
- Breaking change: Scalar bijectors must implement
_is_increasing
if usingcdf
/survival_function
/quantile
onTransformedDistribution
. This supports resolution of a long-standing bug, e.g.tfb.Scale(scale=-1.)(tfd.HalfNormal(0,1)).cdf
was incorrect. - Deprecate tfb.masked_autoregressive_default_template.
- Fixed inverse numerical stability bug in
tfb.Softfloor
- Tape-safe Reshape bijector.
- Breaking change: Scalar bijectors must implement
-
MCMC
- Optimize tfp.mcmc.ReplicaExchangeMonteCarlo by replacing TF control flow and
- ReplicaExchangeMC now can trace exchange proposals/acceptances.
- Correct implementation of log_accept_ratio in NUTS
- Return non-cumulated leapfrogs_taken in nuts kernel_result.
- Make unrolled NUTS reproducible.
- Bug fix of Generalized U-turn in NUTS.
- Reduce NUTS test flakiness.
- Fix convergence test for NUTS.
- Switch back to original U turn criteria in Hoffman & Gelman 2014.
- Make autobatched NUTS reproducible.
-
STS
- Update example "Structural Time Series Modeling Case Studies" to TF2.0 API.
- Add fast path for sampling STS LocalLevel models.
- Support posterior sampling in linear Gaussian state space models.
- Add a fast path for Kalman smoothing with scalar latents.
- Add option to disallow drift in STS Seasonal models.
-
Breaking change: Removed a number of functions, methods, and classes that were deprecated in TensorFlow Probability 0.8.0 or earlier.
- Remove deprecated
trainable_distributions_lib
. - Remove deprecated property Dirichlet.total_concentration.
- Remove deprecated
tfb.AutoregressiveLayer
-- usetfb.AutoregressiveNetwork
. - Remove deprecated
tfp.distributions.*
methods. - Remove deprecated
tfp.distributions.moving_mean_variance
. - Remove two deprecated
tfp.vi
functions. - Remove deprecated
tfp.distributions.SeedStream
-- usetfp.util.SeedStream
. - Remove deprecated properties of
tfd.Categorical
.
- Remove deprecated
-
Other
- Add
make_rank_polymorphic
utility, which lifts a callable to a vectorized callable. - Dormand-Prince solver supports nested structures. Implemented adjoint sensitivity method for Dormand-Prince solver gradients.
- Run Travis tests against latest tf-estimator-nightly.
- Supporting gast 0.3 +
- Add
tfp.vi.build_factored_surrogate_posterior
utility for automatic black-box variational inference.
- Add
Huge thanks to all the contributors to this release!
- Aditya Grover
- Alexey Radul
- Anudhyan Boral
- Arthur Lui
- Billy Lamberta
- Brian Patton
- Christopher Suter
- Colemak
- Dan Moldovan
- Dave Moore
- Dmitrii Kochkov
- Edward Loper
- Emily Fertig
- Ian Langmore
- Jacob Burnim
- Joshua V. Dillon
- Junpeng Lao
- Katherine Wu
- Kibeom Kim
- Kristian Hartikainen
- Mark Daoust
- Pavel Sountsov
- Peter Hawkins
- refraction-ray
- RJ Skerry-Ryan
- Sanket Kamthe
- Sergei Lebedev
- Sharad Vikram
- Srinivas Vasudevan
- Yanhua Sun
- Yash Katariya
- Zachary Nado