latest (dev)
Copy
Latest development documentation · Updated 2026-10-08
ContinuousBernoulli
- class tensorplay.distributions.ContinuousBernoulli(probs: Tensor | bool | int | float | None = None, logits: Tensor | bool | int | float | None = None, lims: tuple[float, float] = (0.499, 0.501), validate_args: bool | None = None)[source]
Creates a continuous Bernoulli distribution parameterized by
probsorlogits(but not both).The distribution is supported in [0, 1] and parameterized by ‘probs’ (in (0,1)) or ‘logits’ (real-valued). Note that, unlike the Bernoulli, ‘probs’ does not correspond to a probability and ‘logits’ does not correspond to log-odds, but the same names are used due to the similarity with the Bernoulli. See [1] for more details.
Example:
>>> # xdoctest: +IGNORE_WANT("non-deterministic") >>> m = ContinuousBernoulli(tensorplay.tensor([0.3])) >>> m.sample() tensor([ 0.2538])- Parameters:
[1] The continuous Bernoulli: fixing a pervasive error in variational autoencoders, Loaiza-Ganem G and Cunningham JP, NeurIPS 2019. https://arxiv.org/abs/1907.06845
- 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).
- property mode: Tensor
Returns the mode of the distribution.
- 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
assertstatement: validation is on by default, but is disabled if Python is run in optimized mode (viapython -O). Validation may be expensive, so you may want to disable it once a model is working.- Parameters:
value (bool) – Whether to enable validation.
Help improve this page
Found an error, an unclear step, or a missing example?

