ISubGVQA.sampling.methods.noise
Attributes
Classes
Helper class that provides a standard way to create an ABC using |
|
Creates a generator of samples for the Sum-of-Gamma distribution [1], parameterized |
|
Helper class that provides a standard way to create an ABC using |
Module Contents
- ISubGVQA.sampling.methods.noise.logger
- class ISubGVQA.sampling.methods.noise.BaseNoiseDistribution
Bases:
abc.ABCHelper class that provides a standard way to create an ABC using inheritance.
- abstract sample(shape: torch.Size) torch.Tensor
- class ISubGVQA.sampling.methods.noise.SumOfGammaNoiseDistribution(k: float, nb_iterations: int = 10, device: torch.device | None = None)
Bases:
BaseNoiseDistributionCreates a generator of samples for the Sum-of-Gamma distribution [1], parameterized by
k,nb_iterations, anddevice.[1] Mathias Niepert, Pasquale Minervini, Luca Franceschi - Implicit MLE: Backpropagating Through Discrete Exponential Family Distributions. NeurIPS 2021 (https://arxiv.org/abs/2106.01798)
Example:
>>> import torch >>> noise_distribution = SumOfGammaNoiseDistribution(k=5, nb_iterations=100) >>> noise_distribution.sample(torch.Size([5])) tensor([ 0.2504, 0.0112, 0.5466, 0.0051, -0.1497])
- Args:
k (float): k parameter – see [1] for more details. nb_iterations (int): number of iterations for estimating the sample. device (torch.devicde): device where to store samples.
- k
- nb_iterations = 10
- device = None
- sample(shape: torch.Size) torch.Tensor
- class ISubGVQA.sampling.methods.noise.GumbelDistribution(loc: float = 0.0, scale: float = 1.0, device: torch.device = 'cpu')
Bases:
BaseNoiseDistributionHelper class that provides a standard way to create an ABC using inheritance.
- loc = 0.0
- _scale = 1.0
- device = 'cpu'
- property scale
- sample(shape: torch.Size) torch.Tensor