Distribution Funsors

This interface provides a number of standard normalized probability distributions implemented as funsors.

class Distribution(*args, **kwargs)[source]

Bases: Funsor

Funsor backed by a PyTorch/JAX distribution object.

Parameters

*args – Distribution-dependent parameters. These can be either funsors or objects that can be coerced to funsors via to_funsor() . See derived classes for details.

dist_class = 'defined by derived classes'
eager_reduce(op, reduced_vars)[source]
property has_enumerate_support
classmethod eager_log_prob(*params)[source]
enumerate_support(expand=False)[source]
entropy()[source]
mean()[source]
variance()[source]
class Beta(*args, **kwargs)

Bases: Distribution

dist_class

alias of Beta

class Cauchy(*args, **kwargs)

Bases: Distribution

dist_class

alias of Cauchy

class Chi2(*args, **kwargs)

Bases: Distribution

dist_class

alias of Chi2

class BernoulliProbs(*args, **kwargs)

Bases: Distribution

dist_class

alias of _PyroWrapper_BernoulliProbs

class BernoulliLogits(*args, **kwargs)

Bases: Distribution

dist_class

alias of _PyroWrapper_BernoulliLogits

class Binomial(*args, **kwargs)

Bases: Distribution

dist_class

alias of Binomial

class Categorical(*args, **kwargs)

Bases: Distribution

dist_class

alias of Categorical

class CategoricalLogits(*args, **kwargs)

Bases: Distribution

dist_class

alias of _PyroWrapper_CategoricalLogits

class Delta(*args, **kwargs)

Bases: Distribution

dist_class

alias of Delta

class Dirichlet(*args, **kwargs)

Bases: Distribution

dist_class

alias of Dirichlet

class DirichletMultinomial(*args, **kwargs)

Bases: Distribution

dist_class

alias of DirichletMultinomial

class Exponential(*args, **kwargs)

Bases: Distribution

dist_class

alias of Exponential

class Gamma(*args, **kwargs)

Bases: Distribution

dist_class

alias of Gamma

class GammaPoisson(*args, **kwargs)

Bases: Distribution

dist_class

alias of GammaPoisson

class Geometric(*args, **kwargs)

Bases: Distribution

dist_class

alias of Geometric

class Gumbel(*args, **kwargs)

Bases: Distribution

dist_class

alias of Gumbel

class HalfCauchy(*args, **kwargs)

Bases: Distribution

dist_class

alias of HalfCauchy

class HalfNormal(*args, **kwargs)

Bases: Distribution

dist_class

alias of HalfNormal

class Laplace(*args, **kwargs)

Bases: Distribution

dist_class

alias of Laplace

class Logistic(*args, **kwargs)

Bases: Distribution

dist_class

alias of Logistic

class LowRankMultivariateNormal(*args, **kwargs)

Bases: Distribution

dist_class

alias of LowRankMultivariateNormal

class Multinomial(*args, **kwargs)

Bases: Distribution

dist_class

alias of Multinomial

class MultivariateNormal(*args, **kwargs)

Bases: Distribution

dist_class

alias of MultivariateNormal

class NonreparameterizedBeta(*args, **kwargs)

Bases: Distribution

dist_class

alias of NonreparameterizedBeta

class NonreparameterizedDirichlet(*args, **kwargs)

Bases: Distribution

dist_class

alias of NonreparameterizedDirichlet

class NonreparameterizedGamma(*args, **kwargs)

Bases: Distribution

dist_class

alias of NonreparameterizedGamma

class NonreparameterizedNormal(*args, **kwargs)

Bases: Distribution

dist_class

alias of NonreparameterizedNormal

class Normal(*args, **kwargs)

Bases: Distribution

dist_class

alias of Normal

class Pareto(*args, **kwargs)

Bases: Distribution

dist_class

alias of Pareto

class Poisson(*args, **kwargs)

Bases: Distribution

dist_class

alias of Poisson

class StudentT(*args, **kwargs)

Bases: Distribution

dist_class

alias of StudentT

class Uniform(*args, **kwargs)

Bases: Distribution

dist_class

alias of Uniform

class VonMises(*args, **kwargs)

Bases: Distribution

dist_class

alias of VonMises