Gumbel¶
- class paddle.distribution. Gumbel ( loc, scale ) [source]
-
The Gumbel distribution with location loc and scale parameters.
Mathematical details
The probability density function (pdf) is
\[pdf(x; mu, sigma) = exp(-(x - mu) / sigma - exp(-(x - mu) / sigma)) / sigma\]In the above equation:
\(loc = \mu\): is the mean.
\(scale = \sigma\): is the std.
- Parameters
-
loc (int|float|tensor) – The mean of gumbel distribution.The data type is int, float, tensor.
scale (int|float|tensor) – The std of gumbel distribution.The data type is int, float, tensor.
Examples
>>> import paddle >>> from paddle.distribution.gumbel import Gumbel >>> # Gumbel distributed with loc=0, scale=1 >>> dist = Gumbel(paddle.full([1], 0.0), paddle.full([1], 1.0)) >>> >>> print(dist.sample([2])) Tensor(shape=[2, 1], dtype=float32, place=Place(cpu), stop_gradient=True, [[0.40484068], [3.19400501]]) >>> print(dist.rsample([2])) Tensor(shape=[2, 1], dtype=float32, place=Place(cpu), stop_gradient=True, [[-0.95093185], [ 0.32422572]]) >>> >>> value = paddle.full([1], 0.5) >>> print(dist.prob(value)) Tensor(shape=[1], dtype=float32, place=Place(cpu), stop_gradient=True, [0.33070430]) >>> print(dist.log_prob(value)) Tensor(shape=[1], dtype=float32, place=Place(cpu), stop_gradient=True, [-1.10653067]) >>> print(dist.cdf(value)) Tensor(shape=[1], dtype=float32, place=Place(cpu), stop_gradient=True, [0.54523921]) >>> print(dist.entropy()) Tensor(shape=[1], dtype=float32, place=Place(cpu), stop_gradient=True, [1.57721567])
- property mean
-
Mean of distribution
The mean is
\[mean = \mu + \sigma * γ\]In the above equation:
\(loc = \mu\): is the location parameter.
\(scale = \sigma\): is the scale parameter.
\(γ\): is the euler’s constant.
- Returns
-
mean value.
- Return type
-
Tensor
- property variance
-
Variance of distribution.
The variance is
\[variance = \sigma^2 * \pi^2 / 6\]In the above equation:
\(scale = \sigma\): is the scale parameter.
- Returns
-
The variance value.
- Return type
-
Tensor
- property stddev
-
Standard deviation of distribution
The standard deviation is
\[stddev = \sqrt{\sigma^2 * \pi^2 / 6}\]In the above equation: * \(scale = \sigma\): is the scale parameter.
- Returns
-
std value
- Return type
-
Tensor
-
prob
(
value
)
prob¶
-
Probability density/mass function
- Parameters
-
value (Tensor) – The input tensor.
- Returns
-
probability.The data type is same with value.
- Return type
-
Tensor
-
log_prob
(
value
)
log_prob¶
-
Log probability density/mass function.
- Parameters
-
value (Tensor) – The input tensor.
- Returns
-
log probability.The data type is same with value.
- Return type
-
Tensor
-
cdf
(
value
)
cdf¶
-
Cumulative distribution function. :param value: value to be evaluated. :type value: Tensor
- Returns
-
cumulative probability of value.
- Return type
-
Tensor
-
entropy
(
)
entropy¶
-
Entropy of Gumbel distribution.
- Returns
-
Entropy of distribution.
- property batch_shape
-
Returns batch shape of distribution
- Returns
-
batch shape
- Return type
-
Sequence[int]
- property event_shape
-
Returns event shape of distribution
- Returns
-
event shape
- Return type
-
Sequence[int]
-
kl_divergence
(
other
)
[source]
kl_divergence¶
-
The KL-divergence between self distributions and other.
-
probs
(
value
)
probs¶
-
Probability density/mass function.
Note
This method will be deprecated in the future, please use prob instead.
-
sample
(
shape
)
sample¶
-
Sample from
Gumbel
.- Parameters
-
shape (Sequence[int], optional) – The sample shape. Defaults to ().
- Returns
-
A tensor with prepended dimensions shape.The data type is float32.
- Return type
-
Tensor
-
rsample
(
shape
)
rsample¶
-
reparameterized sample :param shape: 1D int32. Shape of the generated samples. :type shape: Sequence[int]
- Returns
-
A tensor with prepended dimensions shape.The data type is float32.
- Return type
-
Tensor