List of conditioner transforms

class torchflows.bijections.finite.autoregressive.conditioning.transforms.FeedForward(input_event_shape: ~torch.Size | ~typing.Tuple[int, ...], parameter_shape: ~torch.Size | ~typing.Tuple[int, ...], context_shape: ~torch.Size | ~typing.Tuple[int, ...] = None, n_hidden: int = None, n_layers: int = 2, nonlinearity: ~typing.Type[~torch.nn.modules.module.Module] = <class 'torch.nn.modules.activation.Tanh'>, **kwargs)
class torchflows.bijections.finite.autoregressive.conditioning.transforms.Linear(*args, **kwargs)
class torchflows.bijections.finite.autoregressive.conditioning.transforms.ResidualFeedForward(input_event_shape: ~torch.Size, parameter_shape: ~torch.Size, context_shape: ~torch.Size = None, n_hidden: int = None, n_layers: int = 3, block_size: int = 2, nonlinearity: ~typing.Type[~torch.nn.modules.module.Module] = <class 'torch.nn.modules.activation.ReLU'>, **kwargs)
class torchflows.bijections.finite.autoregressive.conditioning.transforms.Constant(event_shape, parameter_shape, fill_value: float = None)
class torchflows.bijections.finite.autoregressive.conditioning.transforms.MADE(input_event_shape: Size | Tuple[int, ...], transformed_event_shape: Size | Tuple[int, ...], parameter_shape_per_element: Size | Tuple[int, ...], context_shape: Size | Tuple[int, ...] = None, n_hidden: int = None, n_layers: int = 2, **kwargs)

Masked autoencoder for distribution estimation (MADE).

MADE is a conditioner transform that receives as input a tensor x. It predicts parameters for the

transformer such that each dimension only depends on the previous ones.

class torchflows.bijections.finite.autoregressive.conditioning.transforms.LinearMADE(*args, **kwargs)

Conditioner combinations

class torchflows.bijections.finite.autoregressive.conditioning.transforms.CombinedConditioner(conditioner1: ConditionerTransform, conditioner2: ConditionerTransform, conditioner1_input_mask: Tensor, conditioner2_input_mask: Tensor)

Class that uses two different conditioners (each acting on different dimensions) to predict transformation parameters. Transformation parameters are combined in a single vector.

class torchflows.bijections.finite.autoregressive.conditioning.transforms.RegularizedCombinedConditioner(conditioner1: ConditionerTransform, conditioner2: ConditionerTransform, conditioner1_input_mask: Tensor, conditioner2_input_mask: Tensor, regularization_coefficient_1: float, regularization_coefficient_2: float)
class torchflows.bijections.finite.autoregressive.conditioning.transforms.RegularizedGraphicalConditioner(interacting_dimensions_conditioner: ConditionerTransform, auxiliary_dimensions_conditioner: ConditionerTransform, interacting_dimensions_mask: Tensor, auxiliary_dimensions_mask: Tensor, coefficient: float = 0.1)

Base classes

class torchflows.bijections.finite.autoregressive.conditioning.transforms.ConditionerTransform(input_event_shape: Size | Tuple[int, ...], context_shape: Size | Tuple[int, ...], parameter_shape: Size | Tuple[int, ...], context_combiner: ContextCombiner = None, global_parameter_mask: Tensor | None = None, initial_global_parameter_value: float = None, output_lower_bound: float = -inf, output_upper_bound: float = inf, **kwargs)
Module which predicts transformer parameters for the transformation of a tensor y using an input tensor x and

possibly a corresponding context tensor c.

In other words, a conditioner transform f predicts theta = f(x, c) to be used in transformer g with z = g(y; theta). The transformation g is performed elementwise on tensor y. Since g transforms each element of y with a parameter tensor of shape (n_transformer_parameters,),

the shape of theta is (*y.shape, n_transformer_parameters).

class torchflows.bijections.finite.autoregressive.conditioning.transforms.ElementwiseConditionerTransform(input_event_shape: Size | Tuple[int, ...], transformed_event_shape: Size | Tuple[int, ...], parameter_shape_per_element: Size | Tuple[int, ...], context_shape: Size | Tuple[int, ...] = None, **kwargs)

Conditioner transform that predicts a set of parameters for every element of the transformed tensor.

class torchflows.bijections.finite.autoregressive.conditioning.transforms.TensorConditionerTransform(input_event_shape: Size | Tuple[int, ...], parameter_shape: Size | Tuple[int, ...], context_shape: Size | Tuple[int, ...] = None, percentage_global_parameters: float = 0.0, **kwargs)

Conditioner transform that predicts a set of parameters for the entire transformed tensor.