Probabilistic reasoning and statistical analysis in TensorFlow
This is the 0.15 release of TensorFlow Probability. It is tested and stable against TensorFlow version 2.7.0.
Distributions
tfd.StudentTProcessRegressionModel
.JointDistributionCoroutine
no longer requires Root
when sample_shape==()
.sample_distributions
from autobatched joint distributions.mask
argument to support missing observations in HMM log probs.BetaBinomial.log_prob
is more accurate when all trials succeed.MixtureSameFamily
.cholesky_fn
argument to GaussianProcess
, GaussianProcessRegressionModel
, and SchurComplement
.GaussianProcess.posterior_predictive
.Bijectors
tf.Variable
s no longer register as ==
.AffineScalar
bijector. Please use tfb.Shift(shift)(tfb.Scale(scale))
instead.Affine
and AffineLinearOperator
bijectors.PSD kernels
tfp.math.psd_kernels.ChangePoint
.PositiveSemidefiniteKernel
.inverse_length_scale
parameter to kernels.parameter_properties
to PSDKernel along with automated batch shape inference.VI
tfp.experimental.vi.build_factored_surrogate_posterior
.STS
+
syntax for summing StructuralTimeSeries
models.Math
tfp.math.ode
.tfp.math.value_and_gradient
.Experimental
experimental.mcmc
windowed samplers.ensemble_kalman_filter_log_marginal_likelihood
(log evidence) computation added to tfe.sequential
.tfp.experimental.distributions.JointDensityCoroutine
.IncrementLogProb
.foldl
in no_pivot_ldl
instead of while_loop
.Other
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.
[coming soon]
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.
Please see the release notes for TFP 0.14.1 at https://github.com/tensorflow/probability/releases/v0.14.1 .
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.
Distributions
tfd.BetaQuotient
tfd.DeterminantalPointProcess
tfd.ExponentiallyModifiedGaussian
tfd.MatrixNormal
and tfd.MatrixT
tfd.NormalInverseGaussian
tfd.SigmoidBeta
tfp.experimental.distribute.Sharded
tfd.BatchBroadcast
tfd.Masked
tfd.Zipf
tfd.InverseGaussian
.tfd.{Chi2,ExpGamma,Gamma,GeneralizedNormal,InverseGamma}
Distribution
batch shapes automatically from parameter annotations.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.JointDistributionPinned
's support bijectors respect autobatching.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.tfd.ContinuousBernoulli
and deprecate lims
parameter.Bijectors
tf.nest.flatten
(tfb.tree_flatten
) and tf.nest.pack_sequence_as
(tfb.pack_sequence_as
).tfp.experimental.bijectors.Sharded
tfb.ScaleTrilL
. Use tfb.FillScaleTriL
instead.cls.parameter_properties()
annotations for Bijectors.tfb.Power
to all reals for odd integer powers.MCMC
remc_thermodynamic_integrals
added to tfp.experimental.mcmc
tfp.experimental.mcmc.windowed_adaptive_hmc
tfp.experimental.mcmc.init_near_unconstrained_zero
tfp.experimental.mcmc.retry_init
ThinningKernel
to experimental.mcmc
.experimental.mcmc.run_kernel
driver as a candidate streaming-based replacement to mcmc.sample_chain
VI
build_split_flow_surrogate_posterior
to tfp.experimental.vi
to build structured VI surrogate posteriors from normalizing flows.build_affine_surrogate_posterior
to tfp.experimental.vi
for construction of ADVI surrogate posteriors from an event shape.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
tfp.experimental.util.make_trainable(cls)
to create trainable instances of distributions and bijectors.Math/linalg
tfp.math.log_bessel_kve
.no_pivot_ldl
to experimental.linalg
.marginal_fn
argument to GaussianProcess
(see no_pivot_ldl
).tfp.math.atan_difference(x, y)
tfp.math.erfcx
, tfp.math.logerfc
and tfp.math.logerfcx
tfp.math.dawsn
for Dawson's Integral.tfp.math.igammaincinv
, tfp.math.igammacinv
.tfp.math.sqrt1pm1
.LogitNormal.stddev_approx
and LogitNormal.variance_approx
tfp.math.owens_t
for the Owen's T function.bracket_root
method to automatically initialize bounds for a root search.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.RunningCentralMoments
, RunningMean
, RunningPotentialScaleReduction
.STS
tf.function
wrapping.LinearGaussianSSM
when only the final step's results are required.Other
sanitize_seed
is now available in the tfp.random
namespace.tfp.random.spherical_uniform
.This is the RC0 release candidate of the TensorFlow Probability 0.13 release.
It is tested against TensorFlow 2.5.0.
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 .
This is the 0.12.1 release of TensorFlow Probability. It is tested and stable against TensorFlow version 2.4.0.
NOTE: Links point to examples in the TFP 0.12.1 release Colab.
Bijectors:
tfp.bijectors.Glow
.RayleighCDF
bijector.Ascending
bijector and deprecate Ordered
.low
parameter to the Softplus
bijector.ScaleMatvecLinearOperator
bijector to wrap blockwise LinearOperators to form a multipart bijectors.Blockwise
.Distributions:
HiddenMarkovModel.num_states
property.batch_shape
and event_shape
arguments of TransformedDistribution
.Skellam
distribution.JointDistributionCoroutine{AutoBatched}
now uses namedtuples as the sample dtype.VonMisesFisher.entropy
.ExpGamma
and ExpInverseGamma
distributions.JointDistribution*AutoBatched
now support (reproducible) tensor seeds.Distribution.parameter_properties
method.experimental_default_event_space_bijector
now accepts additional arguments to pin some distribution parts.JointDistribution.experimental_pin
and JointDistributionPinned
.NegativeBinomial.experimental_from_mean_dispersion
method.tfp.experimental.distribute
, with DistributionStrategy
-aware distributions that support cross-device likelihood computations.HiddenMarkovModel
can now accept time varying observation distributions if time_varying_observation_distribution
is set.Beta
, Binomial
, and NegativeBinomial
CDF no longer returns nan outside the support.Mixture
now ignores the use_static_graph
parameter.)Mixture
now computes standard deviations more accurately and robustly.nan
samples generated by several distributions.Categorical
distributions when logits contain -inf.Bernoulli.cdf
.log_rate
parameter to tfd.Gamma
.LinearGaussianStateSpaceModel
.MCMC:
tfp.experimental.mcmc.ProgressBarReducer
.experimental.mcmc.sample_sequential_monte_carlo
to use new MCMC stateless kernel API.tfp.experimental.stats
.tfp.experimental.mcmc.{sample_fold,sample_chain}
support warm restart.tfp.mcmc.potential_scale_reduction_factor
.KernelBuilder
and KernelOutputs
to experimental.make_innermost_getter
et al. with tfp.experimental.unnest
utilities.VI:
Math + Stats:
tfp.math.bessel_ive
, tfp.math.bessel_kve
, tfp.math.log_bessel_ive
.weights
to tfp.stats.histogram
.tfp.math.erfcinv
.tfp.math.reduce_log_harmonic_mean_exp
.Other:
tfp.math.psd_kernels.GeneralizedMaternKernel
(generalizes MaternOneHalf
, MaternThreeHalves
and MaternFiveHalves
).tfp.math.psd_kernels.Parabolic
.tfp.experimental.unnest
utilities for accessing nested attributes.sts.Sum
.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 .
This is RC4 of the TensorFlow Probability 0.12 release. It is tested against TensorFlow 2.4.0-rc4.
This is RC2 of the TensorFlow Probability 0.12 release. It is tested against TensorFlow 2.4.0-rc2.