Tensorflow Probability 0.10.0
Release notes
This is the 0.10 release of TensorFlow Probability. It is tested and stable against TensorFlow version 2.2.0.
Change notes
-
Distributions
- Beta-Binomial distribution.
- Add new
AutoBatched
joint distribution variants that treat a joint sample as a single probabilistic event. - XLA-able Python TF Gamma sampler.
- XLA-able binomial sampler. Replaces the existing sampler, which implements binomial using one-hot categoricals via multinomial, with a batched rejection sampler. The new sampler is 4-6 times slower for very small problems, but an unbounded amount faster on large problems, since it removes a linear dependency on
total_count
. Additionally, since the previous solver required memory proportional to total_count*num_samples, many problems which OOM'd before are now feasible. - Enable use of joint bijectors in TransformedDistribution.
- Remove unused
get_logits_and_probs
from internal/distribution_util. - Batched rejection sampling utilities.
- Update batched_rejection_sampler to use prefer_static.shape to handle possibly-dynamic shape.
-
Bijectors
- Add Lambert W transform bijectors.
-
MCMC
- EllipticalSliceSampler in tfp.experimental.mcmc
- Add cross-chain ESS, following Vehtari et al. 2019.
-
Optimizer
- Add convergence criteria for optimizations.
-
Stats
- Add
tfp.stats.expected_calibration_error_quantiles
.
- Add
-
Math
- Add a 'special' module to tfp.math - a TF version of scipy.special.
- Add
scan_associative
function, implementing parallel prefix scan of tensors with a user-provided binary operation.
-
Breaking change: Removed a number of functions, methods, and classes that were deprecated in TensorFlow Probability 0.9.0 or earlier.
- Removed deprecated tfb.Weibull -- use tfb.WeibullCDF.
- Remove VectorLaplaceLinearOperator
- Remove deprecated method
tfp.sts.build_factored_variational_loss
. - Remove deprecated tfb.Kumaraswamy -- use tfb.Invert(tfb.KumaraswamyCDF).
- Remove deprecated tfd.VectorSinhArcsinhDiag, tfd.VectorLaplaceDiag.
- Remove deprecated
tfb.Gumbel
-- usetfb.GumbelCDF
.
-
Other
- Python 3.8 compatibility.
- TensorFlow now requires gast version 0.3.2 and is no longer compatible with 0.2.2.
- Moving TF Session C++ to Python code and functionality from swig to pybind11.
- Update TFP examples to Python 3.
Huge thanks to all the contributors to this release!
- Alexander Ivanov
- Alexey Radul
- Amanda
- Amelio Vazquez-Reina
- Amit Patankar
- Anudhyan Boral
- Artem Belevich
- Brian Patton
- Christopher Suter
- Colin Carroll
- Dan Moldovan
- Dave Moore
- Demetri Pananos
- Dmitrii Kochkov
- Emily Fertig
- gameshamilton
- Georg M. Goerg
- Ian Langmore
- Jacob Burnim
- jeffpollock9
- Joshua V. Dillon
- Junpeng Lao
- kovak1
- Kristian Hartikainen
- Liam
- Martin Jul
- Matt Hoffman
- nbro
- Olli Huotari
- Pavel Sountsov
- Pyrsos
- Rif A. Saurous
- Rushabh Vasani
- Sayam753
- Sharad Vikram
- Spyros
- Srinivas Vasudevan
- Taylor Robie
- Xiaojing Wang
- Zichun Ye