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.