Releases: tensorflow/probability
TensorFlow Probability 0.16.0
Release notes
This is the 0.16.0 release of TensorFlow Probability. It is tested and stable against TensorFlow version 2.8.0 and JAX 0.3.0 .
Change notes
[coming soon]
Huge thanks to all the contributors to this release!
- Alexey Radul
- Ben Lee
- Billy Lamberta
- Brian Patton
- Chansoo Lee
- Christopher Suter
- Colin Carroll
- Dave Moore
- Du Phan
- Emily Fertig
- François Chollet
- Gianluigi Silvestri
- Jacob Burnim
- Jake Taylor
- Junpeng Lao
- Matthew Johnson
- Michael Weiss
- Pavel Sountsov
- Peter Hawkins
- Rebecca Chen
- Sharad Vikram
- Soo Sung
- Srinivas Vasudevan
- Urs Köster
TensorFlow Probability 0.15.0
Release notes
This is the 0.15 release of TensorFlow Probability. It is tested and stable against TensorFlow version 2.7.0.
Change notes
-
Distributions
- Add
tfd.StudentTProcessRegressionModel. - Distributions' statistics now all have batch shape matching the Distribution itself.
JointDistributionCoroutineno longer requiresRootwhensample_shape==().- Support
sample_distributionsfrom autobatched joint distributions. - Expose
maskargument to support missing observations in HMM log probs. BetaBinomial.log_probis more accurate when all trials succeed.- Support broadcast batch shapes in
MixtureSameFamily. - Add
cholesky_fnargument toGaussianProcess,GaussianProcessRegressionModel, andSchurComplement. - Add staticmethod for precomputing GPRM for more efficient inference in TensorFlow.
- Add
GaussianProcess.posterior_predictive.
- Add
-
Bijectors
- Bijectors parameterized by distinct
tf.Variables no longer register as==. - BREAKING CHANGE: Remove deprecated
AffineScalarbijector. Please usetfb.Shift(shift)(tfb.Scale(scale))instead. - BREAKING CHANGE: Remove deprecated
AffineandAffineLinearOperatorbijectors.
- Bijectors parameterized by distinct
-
PSD kernels
- Add
tfp.math.psd_kernels.ChangePoint. - Add slicing support for
PositiveSemidefiniteKernel. - Add
inverse_length_scaleparameter to kernels. - Add
parameter_propertiesto PSDKernel along with automated batch shape inference.
- Add
-
VI
- Add support for importance-weighted variational objectives.
- Support arbitrary distribution types in
tfp.experimental.vi.build_factored_surrogate_posterior.
-
STS
- Support
+syntax for summingStructuralTimeSeriesmodels.
- Support
-
Math
- Enable JAX/NumPy backends for
tfp.math.ode. - Allow returning auxiliary information from
tfp.math.value_and_gradient.
- Enable JAX/NumPy backends for
-
Experimental
- Speedup to
experimental.mcmcwindowed samplers. - Support unbiased gradients through particle filtering via stop-gradient resampling.
ensemble_kalman_filter_log_marginal_likelihood(log evidence) computation added totfe.sequential.- Add experimental joint-distribution layers library.
- Delete
tfp.experimental.distributions.JointDensityCoroutine. - Add experimental special functions for high-precision computation on a TPU.
- Add custom log-prob ratio for
IncrementLogProb. - Use
foldlinno_pivot_ldlinstead ofwhile_loop.
- Speedup to
-
Other
- TFP should now support numpy 1.20+.
- BREAKING CHANGE: Stock unpacking seeds when splitting in JAX.
Huge thanks to all the contributors to this release!
- 8bitmp3
- adriencorenflos
- Alexey Radul
- Allen Lavoie
- Ben Lee
- Billy Lamberta
- Brian Patton
- Christopher Suter
- Colin Carroll
- Dave Moore
- Du Phan
- Emily Fertig
- Faizan Muhammad
- George Necula
- George Tucker
- Grace Luo
- Ian Langmore
- Jacob Burnim
- Jake VanderPlas
- Jeremiah Liu
- Junpeng Lao
- Kaan
- Luke Wood
- Max Jiang
- Mihai Maruseac
- Neil Girdhar
- Paul Chiang
- Pavel Izmailov
- Pavel Sountsov
- Peter Hawkins
- Rebecca Chen
- Richard Song
- Rif A. Saurous
- Ron Shapiro
- Roy Frostig
- Sharad Vikram
- Srinivas Vasudevan
- Tomohiro Endo
- Urs Köster
- William C Grisaitis
- Yilei Yang
TensorFlow Probability 0.14.1
Release notes
This is the 0.14.1 release of TensorFlow Probability. It is tested and stable against TensorFlow version 2.6.0 and JAX 0.2.21.
Change notes
[coming soon]
Huge thanks to all the contributors to this release!
- 8bitmp3
- adriencorenflos
- allenl
- axch
- bjp
- blamb
- csuter
- colcarroll
- davmre
- derifatives
- emilyaf
- europeanplaice
- Frightera
- fmuham
- gcluo
- GianluigiSilvestri
- gisilvs
- gjt
- grisaitis
- harahu
- jburnim
- langmore
- leben
- lukewood
- mihaimaruseac
- NeilGirdhar
- phandu
- phawkins
- rechen
- ronshapiro
- scottzhu
- sharadmv
- siege
- srvasude
- ursk
- vanderplas
- xingyousong
- yileiyang
TensorFlow Probability 0.14.0
Release notes
This is the 0.14 release of TensorFlow Probability. It is tested and stable against TensorFlow version 2.6.0 and JAX 0.2.20.
Change notes
Please see the release notes for TFP 0.14.1 at https://github.com/tensorflow/probability/releases/v0.14.1 .
Huge thanks to all the contributors to this release!
- 8bitmp3
- adriencorenflos
- allenl
- axch
- bjp
- blamb
- csuter
- colcarroll
- davmre
- derifatives
- emilyaf
- europeanplaice
- Frightera
- fmuham
- gcluo
- GianluigiSilvestri
- gisilvs
- gjt
- grisaitis
- harahu
- jburnim
- langmore
- leben
- lukewood
- mihaimaruseac
- NeilGirdhar
- phandu
- phawkins
- rechen
- ronshapiro
- scottzhu
- sharadmv
- siege
- srvasude
- ursk
- vanderplas
- xingyousong
- yileiyang
TensorFlow Probability 0.13.0
Release notes
This is the 0.13 release of TensorFlow Probability. It is
tested and stable against TensorFlow version 2.5.0.
See the visual release notebook in colab.
Change notes
-
Distributions
- Adds
tfd.BetaQuotient - Adds
tfd.DeterminantalPointProcess - Adds
tfd.ExponentiallyModifiedGaussian - Adds
tfd.MatrixNormalandtfd.MatrixT - Adds
tfd.NormalInverseGaussian - Adds
tfd.SigmoidBeta - Adds
tfp.experimental.distribute.Sharded - Adds
tfd.BatchBroadcast - Adds
tfd.Masked - Adds JAX support for
tfd.Zipf - Adds Implicit Reparameterization Gradients to
tfd.InverseGaussian. - Adds quantiles for
tfd.{Chi2,ExpGamma,Gamma,GeneralizedNormal,InverseGamma} - Derive
Distributionbatch shapes automatically from parameter annotations. - Ensuring
Exponential.cdf(x)is always 0 forx < 0. VectorExponentialLinearOperatorandVectorExponentialDiagdistributions now return variance, covariance, and standard deviation of the correct shape.Batesdistribution now returns mean of the correct shape.GeneralizedParetonow returns variance of the correct shape.Deterministicdistribution now returns mean, mode, and variance of the correct shape.- Ensure that
JointDistributionPinned's support bijectors respect autobatching. - Now systematically testing log_probs of most distributions for numerical accuracy.
InverseGaussianno longer emits negative samples for largeloc / concentrationGammaGamma,GeneralizedExtremeValue,LogLogistic,LogNormal,ProbitBernoullishould no longer computenanlog_probs on their own samples.VonMisesFisher,Pareto, andGeneralizedExtremeValueshould no longer emit samples numerically outside their support.- Improve numerical stability of
tfd.ContinuousBernoulliand deprecatelimsparameter.
- Adds
-
Bijectors
- Add bijectors to mimic
tf.nest.flatten(tfb.tree_flatten) andtf.nest.pack_sequence_as(tfb.pack_sequence_as). - Adds
tfp.experimental.bijectors.Sharded - Remove deprecated
tfb.ScaleTrilL. Usetfb.FillScaleTriLinstead. - Adds
cls.parameter_properties()annotations for Bijectors. - Extend range
tfb.Powerto all reals for odd integer powers. - Infer the log-deg-jacobian of scalar bijectors using autodiff, if not otherwise specified.
- Add bijectors to mimic
-
MCMC
- MCMC diagnostics support arbitrary structures of states, not just lists.
remc_thermodynamic_integralsadded totfp.experimental.mcmc- Adds
tfp.experimental.mcmc.windowed_adaptive_hmc - Adds an experimental API for initializing a Markov chain from a near-zero uniform distribution in unconstrained space.
tfp.experimental.mcmc.init_near_unconstrained_zero - Adds an experimental utility for retrying Markov Chain initialization until an acceptable point is found.
tfp.experimental.mcmc.retry_init - Shuffling experimental streaming MCMC API to slot into tfp.mcmc with a minimum of disruption.
- Adds
ThinningKerneltoexperimental.mcmc. - Adds
experimental.mcmc.run_kerneldriver as a candidate streaming-based replacement tomcmc.sample_chain
-
VI
- Adds
build_split_flow_surrogate_posteriortotfp.experimental.vito build structured VI surrogate posteriors from normalizing flows. - Adds
build_affine_surrogate_posteriortotfp.experimental.vifor construction of ADVI surrogate posteriors from an event shape. - Adds
build_affine_surrogate_posterior_from_base_distributiontotfp.experimental.vito enable construction of ADVI surrogate posteriors with correlation structures induced by affine transformations.
- Adds
-
MAP/MLE
- Added convenience method
tfp.experimental.util.make_trainable(cls)to create trainable instances of distributions and bijectors.
- Added convenience method
-
Math/linalg
- Add trapezoidal rule to tfp.math.
- Add
tfp.math.log_bessel_kve. - Add
no_pivot_ldltoexperimental.linalg. - Add
marginal_fnargument toGaussianProcess(seeno_pivot_ldl). - Added
tfp.math.atan_difference(x, y) - Add
tfp.math.erfcx,tfp.math.logerfcandtfp.math.logerfcx - Add
tfp.math.dawsnfor Dawson's Integral. - Add
tfp.math.igammaincinv,tfp.math.igammacinv. - Add
tfp.math.sqrt1pm1. - Add
LogitNormal.stddev_approxandLogitNormal.variance_approx - Add
tfp.math.owens_tfor the Owen's T function. - Add
bracket_rootmethod to automatically initialize bounds for a root search. - Add Chandrupatla's method for finding roots of scalar functions.
-
Stats
tfp.stats.windowed_meanefficiently computes windowed means.tfp.stats.windowed_varianceefficiently and accurately computes windowed variances.tfp.stats.cumulative_varianceefficiently and accurately computes cumulative variances.RunningCovarianceand friends can now be initialized from an example Tensor, not just from explicit shape and dtype.- Cleaner API for
RunningCentralMoments,RunningMean,RunningPotentialScaleReduction.
-
STS
- Speed up STS forecasting and decomposition using internal
tf.functionwrapping. - Add option to speed up filtering in
LinearGaussianSSMwhen only the final step's results are required. - Variational Inference with Multipart Bijectors: example notebook with the Radon model.
- Add experimental support for transforming any distribution into a preconditioning bijector.
- Speed up STS forecasting and decomposition using internal
-
Other
- Distributed inference example notebook
sanitize_seedis now available in thetfp.randomnamespace.- Add
tfp.random.spherical_uniform.
Huge thanks to all the contributors to this release!
- Abhinav Upadhyay
- axch
- Brian Patton
- Chris Jewell
- Christopher Suter
- colcarroll
- Dave Moore
- ebrevdo
- Emily Fertig
- Harald Husum
- Ivan Ukhov
- jballe
- jburnim
- Jeff Pollock
- Jensun Ravichandran
- JulianWgs
- junpenglao
- jvdillon
- j-wilson
- kateslin
- Kristian Hartikainen
- ksachdeva
- langmore
- leben
- mattjj
- Nicola De Cao
- Pavel Sountsov
- paweller
- phawkins
- Prasanth Shyamsundar
- Rene Jean Corneille
- Samuel Marks
- scottzhu
- sharadmv
- siege
- Simon Dirmeier
- Srinivas Vasudevan
- Thomas Markovich
- ursk
- Uzair
- vanderplas
- yileiyang
- ZeldaMariet
- Zichun Ye
TensorFlow Probability 0.13.0-rc0
This is the RC0 release candidate of the TensorFlow Probability 0.13 release.
It is tested against TensorFlow 2.5.0.
TensorFlow Probability 0.12.2
This is the 0.12.2 release of TensorFlow Probability, a patch release to cap the JAX dependency to a compatible version. It is tested and stable against TensorFlow version 2.4.0.
For detailed change notes, please see the 0.12.1 release at https://github.com/tensorflow/probability/releases/tag/v0.12.1 .
TensorFlow Probability 0.12.1
Release notes
This is the 0.12.1 release of TensorFlow Probability. It is tested and stable against TensorFlow version 2.4.0.
Change notes
NOTE: Links point to examples in the TFP 0.12.1 release Colab.
Bijectors:
- Add implementation of GLOW at
tfp.bijectors.Glow. - Add
RayleighCDFbijector. - Add
Ascendingbijector and deprecateOrdered. - Add optional
lowparameter to theSoftplusbijector. - Enable
ScaleMatvecLinearOperatorbijector to wrap blockwise LinearOperators to form a multipart bijectors. - Allow passing kwargs to
Blockwise. - Bijectors now share a global cache, keyed by the bijector parameters and the value being transformed.
Distributions:
- BREAKING: Remove deprecated
HiddenMarkovModel.num_statesproperty. - BREAKING: Change the naming scheme of un-named variables in JointDistributions.
- BREAKING: Remove deprecated
batch_shapeandevent_shapearguments ofTransformedDistribution. - Add
Skellamdistribution. JointDistributionCoroutine{AutoBatched}now uses namedtuples as the sample dtype.- von-Mises Fisher distribution now works for dimensions > 5 and implements
VonMisesFisher.entropy. - Add
ExpGammaandExpInverseGammadistributions. JointDistribution*AutoBatchednow support (reproducible) tensor seeds.- Add KL(VonMisesFisher || SphericalUniform).
- Added
Distribution.parameter_propertiesmethod. experimental_default_event_space_bijectornow accepts additional arguments to pin some distribution parts.- Add
JointDistribution.experimental_pinandJointDistributionPinned. - Add
NegativeBinomial.experimental_from_mean_dispersionmethod. - Add
tfp.experimental.distribute, withDistributionStrategy-aware distributions that support cross-device likelihood computations. HiddenMarkovModelcan now accept time varying observation distributions iftime_varying_observation_distributionis set.Beta,Binomial, andNegativeBinomialCDF no longer returns nan outside the support.- Remove the "dynamic graph" code path from the Mixture sampler. (
Mixturenow ignores theuse_static_graphparameter.) Mixturenow computes standard deviations more accurately and robustly.- Fix incorrect
nansamples generated by several distributions. - Fix KL divergence between
Categoricaldistributions when logits contain -inf. - Implement
Bernoulli.cdf. - Add a
log_rateparameter totfd.Gamma. - Add option for parallel filtering and sampling to
LinearGaussianStateSpaceModel.
MCMC:
- Add
tfp.experimental.mcmc.ProgressBarReducer. - Update
experimental.mcmc.sample_sequential_monte_carloto use new MCMC stateless kernel API. - Add an experimental streaming MCMC framework that supports computing statistics over a (batch of) Markov chain(s) without materializing the samples. Statistics supported (mostly on arbitrary functions of the model variables): mean, (co)variance, central moments of arbitrary rank, and the potential scale reduction factor (R-hat). Also support selectively tracing history of some but not all statistics or model variables. Add algorithms for running mean, variance, covariance, arbitrary higher central moments, and potential scale reduction factor (R-hat) to
tfp.experimental.stats. - untempered_log_prob_fn added as init kwarg to ReplicaExchangeMC Kernel.
- Add experimental support for mass matrix preconditioning in Hamiltonian Monte Carlo.
- Add ability to temper part of the log prob in ReplicaExchangeMC.
tfp.experimental.mcmc.{sample_fold,sample_chain}support warm restart.- even_odd_swap exchange function added to replica_exchange_mc.
- Samples from ReplicaExchangeMC can now have a per-replica initial state.
- Add omitted n/(n-1) term to
tfp.mcmc.potential_scale_reduction_factor. - Add
KernelBuilderandKernelOutputsto experimental. - Allow tfp.mcmc.SimpleStepSizeAdaptation and DualAveragingStepSizeAdaptation to take a custom reduction function.
- Replace
make_innermost_getteret al. withtfp.experimental.unnestutilities.
VI:
Math + Stats:
- Add
tfp.math.bessel_ive,tfp.math.bessel_kve,tfp.math.log_bessel_ive. - Add optional
weightstotfp.stats.histogram. - Add
tfp.math.erfcinv. - Add
tfp.math.reduce_log_harmonic_mean_exp.
Other:
- Add
tfp.math.psd_kernels.GeneralizedMaternKernel(generalizesMaternOneHalf,MaternThreeHalvesandMaternFiveHalves). - Add
tfp.math.psd_kernels.Parabolic. - Add
tfp.experimental.unnestutilities for accessing nested attributes. - Enable pytree flattening for TFP distributions in JAX
- More careful handling of nan and +-inf in {L-,}BFGS.
- Remove Edward2 from TFP. Edward2 is now in its own repo at https://github.com/google/edward2 .
- Support vector-valued offsets in
sts.Sum. - Make DeferredTensor actually defer compu...
TensorFlow Probability 0.12.0
This is the 0.12.0 release of TensorFlow Probability. It is tested and stable against TensorFlow version 2.4.0.
For detailed change notes, please see the 0.12.1 release at https://github.com/tensorflow/probability/releases/tag/v0.12.1 .
TensorFlow Probability 0.12.0-rc4
This is RC4 of the TensorFlow Probability 0.12 release. It is tested against TensorFlow 2.4.0-rc4.