TensorPlay
latest (dev)
Copy
View Markdown

Latest development documentation · Updated 2026-10-08

GeneralizedPareto

class tensorplay.distributions.GeneralizedPareto(loc, scale, concentration, validate_args=None)[source]

Creates a Generalized Pareto distribution parameterized by loc, scale, and concentration.

The Generalized Pareto distribution is a family of continuous probability distributions on the real line. Special cases include Exponential (when loc = 0, concentration = 0), Pareto (when concentration > 0, loc = scale / concentration), and Uniform (when concentration = -1).

This distribution is often used to model the tails of other distributions. This implementation is based on the implementation in TensorFlow Probability.

Example:

>>> # xdoctest: +IGNORE_WANT("non-deterministic")
>>> m = GeneralizedPareto(tensorplay.tensor([0.1]), tensorplay.tensor([2.0]), tensorplay.tensor([0.4]))
>>> m.sample()  # sample from a Generalized Pareto distribution with loc=0.1, scale=2.0, and concentration=0.4
tensor([ 1.5623])
Parameters:
  • loc (float or Tensor) – Location parameter of the distribution

  • scale (float or Tensor) – Scale parameter of the distribution

  • concentration (float or Tensor) – Concentration parameter of the distribution

property batch_shape: Size

Returns the shape over which parameters are batched.

enumerate_support(expand: bool = True) → Tensor

Returns tensor containing all values supported by a discrete distribution. The result will enumerate over dimension 0, so the shape of the result will be (cardinality,) + batch_shape + event_shape (where event_shape = () for univariate distributions).

Note that this enumerates over all batched tensors in lock-step [[0, 0], [1, 1], …]. With expand=False, enumeration happens along dim 0, but with the remaining batch dimensions being singleton dimensions, [[0], [1], ...

To iterate over the full Cartesian product use itertools.product(m.enumerate_support()).

Parameters:

expand (bool) – whether to expand the support over the batch dims to match the distribution’s batch_shape.

Returns:

Tensor iterating over dimension 0.

property event_shape: Size

Returns the shape of a single sample (without batching).

perplexity() → Tensor

Returns perplexity of distribution, batched over batch_shape.

Returns:

Tensor of shape batch_shape.

sample(sample_shape: Size | Sequence[int] = ()) → Tensor

Generates a sample_shape shaped sample or sample_shape shaped batch of samples if the distribution parameters are batched.

sample_n(n: int) → Tensor

Generates n samples or n batches of samples if the distribution parameters are batched.

static set_default_validate_args(value: bool) → None

Sets whether validation is enabled or disabled.

The default behavior mimics Python’s assert statement: validation is on by default, but is disabled if Python is run in optimized mode (via python -O). Validation may be expensive, so you may want to disable it once a model is working.

Parameters:

value (bool) – Whether to enable validation.

property stddev: Tensor

Returns the standard deviation of the distribution.

On this page

Ask DeepWiki