TensorPlay
latest (dev)
Copy
View Markdown

Latest development documentation · Updated 2026-10-08

Independent

class tensorplay.distributions.Independent(base_distribution: D, reinterpreted_batch_ndims: int, validate_args: bool | None = None)[source]

Reinterprets some of the batch dims of a distribution as event dims.

This is mainly useful for changing the shape of the result of log_prob(). For example to create a diagonal Normal distribution with the same shape as a Multivariate Normal distribution (so they are interchangeable), you can:

>>> from tensorplay.distributions.multivariate_normal import MultivariateNormal
>>> from tensorplay.distributions.normal import Normal
>>> loc = tensorplay.zeros(3)
>>> scale = tensorplay.ones(3)
>>> mvn = MultivariateNormal(loc, scale_tril=tensorplay.diag(scale))
>>> [mvn.batch_shape, mvn.event_shape]
[tensorplay.Size([]), tensorplay.Size([3])]
>>> normal = Normal(loc, scale)
>>> [normal.batch_shape, normal.event_shape]
[tensorplay.Size([3]), tensorplay.Size([])]
>>> diagn = Independent(normal, 1)
>>> [diagn.batch_shape, diagn.event_shape]
[tensorplay.Size([]), tensorplay.Size([3])]
Parameters:
property batch_shape: Size

Returns the shape over which parameters are batched.

cdf(value: Tensor) → Tensor

Returns the cumulative density/mass function evaluated at value.

Parameters:

value (Tensor)

property event_shape: Size

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

icdf(value: Tensor) → Tensor

Returns the inverse cumulative density/mass function evaluated at value.

Parameters:

value (Tensor)

perplexity() → Tensor

Returns perplexity of distribution, batched over batch_shape.

Returns:

Tensor of shape batch_shape.

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