<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/tensorflow/probability/blob/v0.25.0/tensorflow_probability/python/experimental/vi/__init__.py) |

Experimental methods and objectives for variational inference.

## Modules

[`util`](https://www.tensorflow.org/probability/api_docs/python/tfp/experimental/vi/util) module: Experimental methods and objectives for variational inference.

## Functions

[`build_affine_surrogate_posterior(...)`](https://www.tensorflow.org/probability/api_docs/python/tfp/experimental/vi/build_affine_surrogate_posterior): Builds a joint variational posterior with a given `event_shape`.

[`build_affine_surrogate_posterior_from_base_distribution(...)`](https://www.tensorflow.org/probability/api_docs/python/tfp/experimental/vi/build_affine_surrogate_posterior_from_base_distribution): Builds a variational posterior by linearly transforming base distributions.

[`build_affine_surrogate_posterior_from_base_distribution_stateless(...)`](https://www.tensorflow.org/probability/api_docs/python/tfp/experimental/vi/build_affine_surrogate_posterior_from_base_distribution_stateless): Builds a variational posterior by linearly transforming base distributions.

[`build_affine_surrogate_posterior_stateless(...)`](https://www.tensorflow.org/probability/api_docs/python/tfp/experimental/vi/build_affine_surrogate_posterior_stateless): Builds a joint variational posterior with a given `event_shape`.

[`build_asvi_surrogate_posterior(...)`](https://www.tensorflow.org/probability/api_docs/python/tfp/experimental/vi/build_asvi_surrogate_posterior): Builds a structured surrogate posterior inspired by conjugate updating.

[`build_asvi_surrogate_posterior_stateless(...)`](https://www.tensorflow.org/probability/api_docs/python/tfp/experimental/vi/build_asvi_surrogate_posterior_stateless): Builds a structured surrogate posterior inspired by conjugate updating.

[`build_factored_surrogate_posterior(...)`](https://www.tensorflow.org/probability/api_docs/python/tfp/experimental/vi/build_factored_surrogate_posterior): Builds a joint variational posterior that factors over model variables.

[`build_factored_surrogate_posterior_stateless(...)`](https://www.tensorflow.org/probability/api_docs/python/tfp/experimental/vi/build_factored_surrogate_posterior_stateless): Builds a joint variational posterior that factors over model variables.

[`build_split_flow_surrogate_posterior(...)`](https://www.tensorflow.org/probability/api_docs/python/tfp/experimental/vi/build_split_flow_surrogate_posterior): Builds a joint variational posterior by splitting a normalizing flow.

<br />

<br />

<br />

| ## Other Members ||
|---|---|
| ASVI_DEFAULT_PRIOR_SUBSTITUTION_RULES | `((<class 'tensorflow_probability.python.distributions.half_normal.HalfNormal'>, <function <lambda>>), (<class 'tensorflow_probability.python.distributions.uniform.Uniform'>, <function <lambda>>), (<class 'tensorflow_probability.python.distributions.exponential.Exponential'>, <function <lambda>>), (<class 'tensorflow_probability.python.distributions.chi2.Chi2'>, <function <lambda>>))` |
| ASVI_DEFAULT_SURROGATE_RULES | `((<function <lambda>>, <function _asvi_surrogate_rule.<locals>.wrap.<locals>.<lambda>>), (<class 'tensorflow_probability.python.distributions.sample.Sample'>, <function _asvi_surrogate_for_sample>), (<class 'tensorflow_probability.python.distributions.independent.Independent'>, <function _asvi_surrogate_rule.<locals>.wrap.<locals>.<lambda>>), (<function <lambda>>, <function _asvi_surrogate_rule.<locals>.wrap.<locals>.<lambda>>), (<class 'tensorflow_probability.python.distributions.markov_chain.MarkovChain'>, <function _asvi_surrogate_rule.<locals>.wrap.<locals>.<lambda>>))` |

<br />