Skip to content

Releases: tensorflow/probability

TensorFlow Probability 0.15.0

18 Nov 15:49
f377715
Compare
Choose a tag to compare

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.
    • JointDistributionCoroutine no longer requires Root when sample_shape==().
    • Support sample_distributions from autobatched joint distributions.
    • Expose mask argument to support missing observations in HMM log probs.
    • BetaBinomial.log_prob is more accurate when all trials succeed.
    • Support broadcast batch shapes in MixtureSameFamily.
    • Add cholesky_fn argument to GaussianProcess, GaussianProcessRegressionModel, and SchurComplement.
    • Add staticmethod for precomputing GPRM for more efficient inference in TensorFlow.
    • Add GaussianProcess.posterior_predictive.
  • Bijectors

    • Bijectors parameterized by distinct tf.Variables no longer register as ==.
    • BREAKING CHANGE: Remove deprecated AffineScalar bijector. Please use tfb.Shift(shift)(tfb.Scale(scale)) instead.
    • BREAKING CHANGE: Remove deprecated Affine and AffineLinearOperator bijectors.
  • PSD kernels

    • Add tfp.math.psd_kernels.ChangePoint.
    • Add slicing support for PositiveSemidefiniteKernel.
    • Add inverse_length_scale parameter to kernels.
    • Add parameter_properties to PSDKernel along with automated batch shape inference.
  • VI

    • Add support for importance-weighted variational objectives.
    • Support arbitrary distribution types in tfp.experimental.vi.build_factored_surrogate_posterior.
  • STS

    • Support + syntax for summing StructuralTimeSeries models.
  • Math

    • Enable JAX/NumPy backends for tfp.math.ode.
    • Allow returning auxiliary information from tfp.math.value_and_gradient.
  • Experimental

    • Speedup to experimental.mcmc windowed samplers.
    • Support unbiased gradients through particle filtering via stop-gradient resampling.
    • ensemble_kalman_filter_log_marginal_likelihood (log evidence) computation added to tfe.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 foldl in no_pivot_ldl instead of while_loop.
  • 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

30 Sep 23:00
Compare
Choose a tag to compare

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

21 Sep 04:38
Compare
Choose a tag to compare

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

18 Jun 21:06
9e50fa3
Compare
Choose a tag to compare

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.MatrixNormal and tfd.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 Distribution batch shapes automatically from parameter annotations.
    • Ensuring Exponential.cdf(x) is always 0 for x < 0.
    • VectorExponentialLinearOperator and VectorExponentialDiag distributions now return variance, covariance, and standard deviation of the correct shape.
    • Bates distribution now returns mean of the correct shape.
    • GeneralizedPareto now returns variance of the correct shape.
    • Deterministic distribution 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.
    • InverseGaussian no longer emits negative samples for large loc / concentration
    • GammaGamma, GeneralizedExtremeValue, LogLogistic, LogNormal, ProbitBernoulli should no longer compute nan log_probs on their own samples. VonMisesFisher, Pareto, and GeneralizedExtremeValue should no longer emit samples numerically outside their support.
    • Improve numerical stability of tfd.ContinuousBernoulli and deprecate lims parameter.
  • Bijectors

    • Add bijectors to mimic tf.nest.flatten (tfb.tree_flatten) and tf.nest.pack_sequence_as (tfb.pack_sequence_as).
    • Adds tfp.experimental.bijectors.Sharded
    • Remove deprecated tfb.ScaleTrilL. Use tfb.FillScaleTriL instead.
    • Adds cls.parameter_properties() annotations for Bijectors.
    • Extend range tfb.Power to all reals for odd integer powers.
    • Infer the log-deg-jacobian of scalar bijectors using autodiff, if not otherwise specified.
  • MCMC

    • MCMC diagnostics support arbitrary structures of states, not just lists.
    • remc_thermodynamic_integrals added to tfp.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 ThinningKernel to experimental.mcmc.
    • Adds experimental.mcmc.run_kernel driver as a candidate streaming-based replacement to mcmc.sample_chain
  • VI

    • Adds build_split_flow_surrogate_posterior to tfp.experimental.vi to build structured VI surrogate posteriors from normalizing flows.
    • Adds build_affine_surrogate_posterior to tfp.experimental.vi for construction of ADVI surrogate posteriors from an event shape.
    • Adds build_affine_surrogate_posterior_from_base_distribution to tfp.experimental.vi to enable construction of ADVI surrogate posteriors with correlation structures induced by affine transformations.
  • MAP/MLE

    • Added convenience method tfp.experimental.util.make_trainable(cls) to create trainable instances of distributions and bijectors.
  • Math/linalg

    • Add trapezoidal rule to tfp.math.
    • Add tfp.math.log_bessel_kve.
    • Add no_pivot_ldl to experimental.linalg.
    • Add marginal_fn argument to GaussianProcess (see no_pivot_ldl).
    • Added tfp.math.atan_difference(x, y)
    • Add tfp.math.erfcx, tfp.math.logerfc and tfp.math.logerfcx
    • Add tfp.math.dawsn for Dawson's Integral.
    • Add tfp.math.igammaincinv, tfp.math.igammacinv.
    • Add tfp.math.sqrt1pm1.
    • Add LogitNormal.stddev_approx and LogitNormal.variance_approx
    • Add tfp.math.owens_t for the Owen's T function.
    • Add bracket_root method to automatically initialize bounds for a root search.
    • Add Chandrupatla's method for finding roots of scalar functions.
  • Stats

    • tfp.stats.windowed_mean efficiently computes windowed means.
    • tfp.stats.windowed_variance efficiently and accurately computes windowed variances.
    • tfp.stats.cumulative_variance efficiently and accurately computes cumulative variances.
    • RunningCovariance and 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.function wrapping.
    • Add option to speed up filtering in LinearGaussianSSM when 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.
  • Other

    • Distributed inference example notebook
    • sanitize_seed is now available in the tfp.random namespace.
    • 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

24 May 14:04
Compare
Choose a tag to compare
Pre-release

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

19 Apr 23:03
4683836
Compare
Choose a tag to compare

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

29 Dec 18:40
43a9d6c
Compare
Choose a tag to compare

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:

Distributions:

MCMC:

  • Add tfp.experimental.mcmc.ProgressBarReducer.
  • Update experimental.mcmc.sample_sequential_monte_carlo to 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) totfp.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 KernelBuilder and KernelOutputs to experimental.
  • Allow tfp.mcmc.SimpleStepSizeAdaptation and DualAveragingStepSizeAdaptation to take a custom reduction function.
  • Replace make_innermost_getter et al. with tfp.experimental.unnest utilities.

VI:

Math + Stats:

Other:

Read more

TensorFlow Probability 0.12.0

29 Dec 18:40
dcd59ed
Compare
Choose a tag to compare

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

09 Dec 16:35
cc2c37e
Compare
Choose a tag to compare
Pre-release

This is RC4 of the TensorFlow Probability 0.12 release. It is tested against TensorFlow 2.4.0-rc4.

TensorFlow Probability 0.12.0-rc2

21 Nov 00:35
ed47dda
Compare
Choose a tag to compare
Pre-release

This is RC2 of the TensorFlow Probability 0.12 release. It is tested against TensorFlow 2.4.0-rc2.