Distribution Funsors¶
This interface provides a number of standard normalized probability distributions implemented as funsors.
-
class
Distribution
(*args)[source]¶ Bases:
funsor.terms.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'¶
-
has_rsample
¶
-
has_enumerate_support
¶
-
-
class
Beta
(concentration1, concentration0, value='value')¶ Bases:
funsor.distribution.Distribution
-
dist_class
¶ alias of
pyro.distributions.torch.Beta
-
-
class
BernoulliProbs
(probs, value='value')¶ Bases:
funsor.distribution.Distribution
-
dist_class
¶ alias of
funsor.torch.distributions._PyroWrapper_BernoulliProbs
-
-
class
BernoulliLogits
(logits, value='value')¶ Bases:
funsor.distribution.Distribution
-
dist_class
¶ alias of
funsor.torch.distributions._PyroWrapper_BernoulliLogits
-
-
class
Binomial
(total_count, probs, value='value')¶ Bases:
funsor.distribution.Distribution
-
dist_class
¶ alias of
pyro.distributions.torch.Binomial
-
-
class
Categorical
(probs, value='value')¶ Bases:
funsor.distribution.Distribution
-
dist_class
¶ alias of
pyro.distributions.torch.Categorical
-
-
class
CategoricalLogits
(logits, value='value')¶ Bases:
funsor.distribution.Distribution
-
dist_class
¶ alias of
funsor.torch.distributions._PyroWrapper_CategoricalLogits
-
-
class
Delta
(v, log_density, value='value')¶ Bases:
funsor.distribution.Distribution
-
dist_class
¶ alias of
pyro.distributions.delta.Delta
-
-
class
Dirichlet
(concentration, value='value')¶ Bases:
funsor.distribution.Distribution
-
dist_class
¶ alias of
pyro.distributions.torch.Dirichlet
-
-
class
DirichletMultinomial
(concentration, total_count, value='value')¶ Bases:
funsor.distribution.Distribution
-
dist_class
¶ alias of
pyro.distributions.conjugate.DirichletMultinomial
-
-
class
Gamma
(concentration, rate, value='value')¶ Bases:
funsor.distribution.Distribution
-
dist_class
¶ alias of
pyro.distributions.torch.Gamma
-
-
class
GammaPoisson
(concentration, rate, value='value')¶ Bases:
funsor.distribution.Distribution
-
dist_class
¶ alias of
pyro.distributions.conjugate.GammaPoisson
-
-
class
Multinomial
(total_count, probs, value='value')¶ Bases:
funsor.distribution.Distribution
-
dist_class
¶ alias of
pyro.distributions.torch.Multinomial
-
-
class
MultivariateNormal
(loc, scale_tril, value='value')¶ Bases:
funsor.distribution.Distribution
-
dist_class
¶ alias of
pyro.distributions.torch.MultivariateNormal
-
-
class
NonreparameterizedBeta
(concentration1, concentration0, value='value')¶ Bases:
funsor.distribution.Distribution
-
dist_class
¶ alias of
pyro.distributions.testing.fakes.NonreparameterizedBeta
-
-
class
NonreparameterizedDirichlet
(concentration, value='value')¶ Bases:
funsor.distribution.Distribution
-
dist_class
¶ alias of
pyro.distributions.testing.fakes.NonreparameterizedDirichlet
-
-
class
NonreparameterizedGamma
(concentration, rate, value='value')¶ Bases:
funsor.distribution.Distribution
-
dist_class
¶ alias of
pyro.distributions.testing.fakes.NonreparameterizedGamma
-
-
class
NonreparameterizedNormal
(loc, scale, value='value')¶ Bases:
funsor.distribution.Distribution
-
dist_class
¶ alias of
pyro.distributions.testing.fakes.NonreparameterizedNormal
-
-
class
Normal
(loc, scale, value='value')¶ Bases:
funsor.distribution.Distribution
-
dist_class
¶ alias of
pyro.distributions.torch.Normal
-
-
class
Poisson
(rate, value='value')¶ Bases:
funsor.distribution.Distribution
-
dist_class
¶ alias of
pyro.distributions.torch.Poisson
-
-
class
VonMises
(loc, concentration, value='value')¶ Bases:
funsor.distribution.Distribution
-
dist_class
¶ alias of
pyro.distributions.torch.VonMises
-