Distributions
Alan wraps all the distributions in torch.distributions, so for all the distributions in torch.distributions, we have a corresponding distribution with exactly the same signature.
The only different thing in Alan is that distributions can take a number of things as arguments:
A number / tensor (representing a fixed parameter)
A string (usually representing another random variable)
A function (usually representing a transformation of another random variable)
OptParam or QEMParam (representing a learned parameter)
Critically, the string, or __arguments__ to the function must be:
A previously sampled random variable.
An input provided to
BoundPlate.An extra_opt_param provided to
BoundPlate.