leaspy.models.noise_models.ordinal module

Module defining ordinal noise models.

class AbstractOrdinalNoiseModel(parameters: DictParamsTorch | None = None, max_levels: Dict[FeatureType, int] | None = None)

Bases: BaseNoiseModel

Base class for Ordinal noise models.

Parameters:
parametersdict [ str, torch.Tensor ] or None

Values for all the free parameters of the distribution family. All of them must have values before using the sampling methods.

max_levelsdict, optional

Maximum levels for ordinal noise.

Attributes:
max_levelsdict, optional

Maximum levels for ordinal noise.

Methods

compute_canonical_loss(data, predictions)

Compute a human-friendly overall loss (independent from instance parameters), useful as a measure of goodness-of-fit after personalization (nll by default - assuming no free parameters).

compute_nll(data, predictions, *[, ...])

Compute negative log-likelihood of data given model predictions (no summation), and its gradient w.r.t.

compute_sufficient_statistics(data, predictions)

Computes the set of noise-related sufficient statistics and metrics (to be extended in child class).

move_to_device(device)

Move all torch tensors stored in this instance to the provided device (parameters & hyperparameters).

raise_if_partially_defined()

Raise an error if some of the free parameters are not defined.

raise_if_unknown_parameters(params)

Raise an error if the provided parameters are not part of the free parameters.

rv_around(loc)

Return the torch distribution centred around values (only if noise is not None).

sample_around(loc)

Realization around loc with respect to partially defined distribution.

sampler_around(loc)

Return the sampling function around input values.

to_dict()

Serialize instance as dictionary.

update_parameters(*[, validate])

(Partial) update of the free parameters of the distribution family.

update_parameters_from_predictions(data, ...)

Updates noise-model parameters in-place (nothing done by default).

update_parameters_from_sufficient_statistics(...)

Updates noise-model parameters in-place (nothing done by default).

validate(**params)

Validation function for parameters (based on 'validate_xxx' methods).

canonical_loss_properties: ClassVar = ('(neg) log-likelihood for attachment', '.3f')
compute_canonical_loss(data: Dataset, predictions: Tensor) Tensor

Compute a human-friendly overall loss (independent from instance parameters), useful as a measure of goodness-of-fit after personalization (nll by default - assuming no free parameters).

Parameters:
dataDataset

The dataset related to the computation of the log likelihood.

predictionstorch.Tensor

The model’s predictions from which to compute the canonical loss.

Returns:
torch.Tensor

The computed loss.

abstract compute_nll(data: Dataset, predictions: Tensor, *, with_gradient: bool = False) Tensor | Tuple[Tensor, Tensor]

Compute negative log-likelihood of data given model predictions (no summation), and its gradient w.r.t. predictions if requested.

Parameters:
dataDataset

The dataset related to the computation of the log likelihood.

predictionstorch.Tensor

The model’s predictions from which to compute the log likelihood.

with_gradientbool, optional

If True, returns also the gradient of the negative log likelihood wrt the predictions. If False, only returns the negative log likelihood. Default=False.

Returns:
torch.Tensor or tuple of torch.Tensor

The negative log likelihood (and its jacobian if requested).

compute_sufficient_statistics(data: Dataset, predictions: Tensor) Dict[str, Tensor]

Computes the set of noise-related sufficient statistics and metrics (to be extended in child class).

Parameters:
dataDataset

The dataset related to the computation of the sufficient statistics.

predictionstorch.Tensor

The model’s predictions from which to compute the sufficient statistics.

Returns:
DictParamsTorch

The sufficient statistics.

factory: ClassVar[Callable[..., torch.distributions.Distribution] | None]
free_parameters: ClassVar[FrozenSet[str]]
property mask
property max_level
max_levels: Dict[FeatureType, int] | None = None
move_to_device(device: device) None

Move all torch tensors stored in this instance to the provided device (parameters & hyperparameters).

Parameters:
devicetorch.device

Torch device on which to move the tensors.

property ordinal_infos: Dict[str, Any]
parameters: DictParamsTorch | None = None
raise_if_partially_defined() None

Raise an error if some of the free parameters are not defined.

classmethod raise_if_unknown_parameters(params: Iterable | None) None

Raise an error if the provided parameters are not part of the free parameters.

Parameters:
paramsIterable, optional

The list of parameters to analyze.

rv_around(loc: Tensor) Distribution

Return the torch distribution centred around values (only if noise is not None).

Parameters:
loctorch.Tensor

The loc around which to sample.

Returns:
torch.distributions.distribution.Distribution

The torch distribution centered around the loc.

sample_around(loc: Tensor) Tensor

Realization around loc with respect to partially defined distribution.

Parameters:
loctorch.Tensor

The loc around which to sample.

Returns:
torch.Tensor

The requested sample.

sampler_around(loc: Tensor) Callable[[], Tensor]

Return the sampling function around input values.

Parameters:
loctorch.Tensor

The loc around which to sample.

Returns:
Callable

The sampler.

to_dict() Dict[str, Any]

Serialize instance as dictionary.

Warning

Do NOT export hyper-parameters that are derived (error-prone and boring checks when re-creating).

Returns:
KwargsType

The instance serialized as a dictionary.

update_parameters(*, validate: bool = False, **parameters: Tensor) None

(Partial) update of the free parameters of the distribution family.

Parameters:
validatebool, optional

If True, the provided parameters are validated before being updated. Default=False.

**parameterstorch.Tensor

The new parameters.

update_parameters_from_predictions(data: Dataset, predictions: Tensor) None

Updates noise-model parameters in-place (nothing done by default).

Parameters:
dataDataset

The dataset related to the computation of the log likelihood.

predictionstorch.Tensor

The model’s predictions from which to update the parameters.

update_parameters_from_sufficient_statistics(data: Dataset, sufficient_statistics: Dict[str, Tensor]) None

Updates noise-model parameters in-place (nothing done by default).

Parameters:
dataDataset

The dataset related to the computation of the log likelihood.

sufficient_statisticsDictParamsTorch

The sufficient statistics to use for parameter update.

validate(**params: Any) Dict[str, Tensor]

Validation function for parameters (based on ‘validate_xxx’ methods).

Parameters:
**paramsAny

The parameters to validate.

Returns:
DictParamsTorch

The validated parameters.

class OrdinalFamily(parameters: Dict[str, Tensor] | None = None)

Bases: DistributionFamily

Distribution family for Ordinal noise model.

Parameters:
parametersdict [ str, torch.Tensor ] or None

Values for all the free parameters of the distribution family. All of them must have values before using the sampling methods.

Attributes:
free_parametersfrozenset of str

Name of all the free parameters (but loc) needed to characterize the distribution.

Note

For each parameter, if a method named validate_xxx(torch.Tensor -> torch.Tensor) exists, then it will be used for user-input validation of parameter “xxx”.

factoryNone or function(free parameters values) -> torch.distributions.distribution.Distribution

Generate a new MultinomialDistribution from its probability density function instead of its survival function.

Methods

factory(pdf, **kws)

Generate a new MultinomialDistribution from its probability density function instead of its survival function.

move_to_device(device)

Move all torch tensors stored in this instance to the provided device (parameters & hyperparameters).

raise_if_partially_defined()

Raise an error if some of the free parameters are not defined.

raise_if_unknown_parameters(params)

Raise an error if the provided parameters are not part of the free parameters.

rv_around(loc)

Return the torch distribution centred around values (only if noise is not None).

sample_around(loc)

Realization around loc with respect to partially defined distribution.

sampler_around(loc)

Return the sampling function around input values.

to_dict()

Serialize instance as dictionary.

update_parameters(*[, validate])

(Partial) update of the free parameters of the distribution family.

validate(**params)

Validation function for parameters (based on 'validate_xxx' methods).

classmethod factory(pdf: Tensor, **kws)

Generate a new MultinomialDistribution from its probability density function instead of its survival function.

Parameters:
pdftorch.Tensor

The input probability density function.

**kws

Additional keyword arguments to be passed for instance initialization.

free_parameters: ClassVar[FrozenSet[str]] = frozenset({})
move_to_device(device: device) None

Move all torch tensors stored in this instance to the provided device (parameters & hyperparameters).

Parameters:
devicetorch.device

Torch device on which to move the tensors.

parameters: DictParamsTorch | None = None
raise_if_partially_defined() None

Raise an error if some of the free parameters are not defined.

classmethod raise_if_unknown_parameters(params: Iterable | None) None

Raise an error if the provided parameters are not part of the free parameters.

Parameters:
paramsIterable, optional

The list of parameters to analyze.

rv_around(loc: Tensor) Distribution

Return the torch distribution centred around values (only if noise is not None).

Parameters:
loctorch.Tensor

The loc around which to sample.

Returns:
torch.distributions.distribution.Distribution

The torch distribution centered around the loc.

sample_around(loc: Tensor) Tensor

Realization around loc with respect to partially defined distribution.

Parameters:
loctorch.Tensor

The loc around which to sample.

Returns:
torch.Tensor

The requested sample.

sampler_around(loc: Tensor) Callable[[], Tensor]

Return the sampling function around input values.

Parameters:
loctorch.Tensor

The loc around which to sample.

Returns:
Callable

The sampler.

to_dict() Dict[str, Any]

Serialize instance as dictionary.

Returns:
KwargsType

The instance serialized as a dictionary.

update_parameters(*, validate: bool = False, **parameters: Tensor) None

(Partial) update of the free parameters of the distribution family.

Parameters:
validatebool, optional

If True, the provided parameters are validated before being updated. Default=False.

**parameterstorch.Tensor

The new parameters.

validate(**params: Any) Dict[str, Tensor]

Validation function for parameters (based on ‘validate_xxx’ methods).

Parameters:
**paramsAny

The parameters to validate.

Returns:
DictParamsTorch

The validated parameters.

class OrdinalNoiseModel(parameters: DictParamsTorch | None = None, max_levels: Dict[FeatureType, int] | None = None)

Bases: OrdinalFamily, AbstractOrdinalNoiseModel

Class implementing ordinal noise models (likelihood is based on PDF).

Parameters:
parametersdict [ str, torch.Tensor ] or None

Values for all the free parameters of the distribution family. All of them must have values before using the sampling methods.

max_levelsdict, optional

Maximum levels for ordinal noise.

Attributes:
mask
max_level
max_levels
ordinal_infos
parameters

Methods

compute_canonical_loss(data, predictions)

Compute a human-friendly overall loss (independent from instance parameters), useful as a measure of goodness-of-fit after personalization (nll by default - assuming no free parameters).

compute_nll(data, predictions, *[, ...])

Compute the negative log-likelihood and its gradient wrt predictions.

compute_sufficient_statistics(data, predictions)

Computes the set of noise-related sufficient statistics and metrics (to be extended in child class).

factory(pdf, **kws)

Generate a new MultinomialDistribution from its probability density function instead of its survival function.

move_to_device(device)

Move all torch tensors stored in this instance to the provided device (parameters & hyperparameters).

raise_if_partially_defined()

Raise an error if some of the free parameters are not defined.

raise_if_unknown_parameters(params)

Raise an error if the provided parameters are not part of the free parameters.

rv_around(loc)

Return the torch distribution centred around values (only if noise is not None).

sample_around(loc)

Realization around loc with respect to partially defined distribution.

sampler_around(loc)

Return the sampling function around input values.

to_dict()

Serialize instance as dictionary.

update_parameters(*[, validate])

(Partial) update of the free parameters of the distribution family.

update_parameters_from_predictions(data, ...)

Updates noise-model parameters in-place (nothing done by default).

update_parameters_from_sufficient_statistics(...)

Updates noise-model parameters in-place (nothing done by default).

validate(**params)

Validation function for parameters (based on 'validate_xxx' methods).

canonical_loss_properties: ClassVar = ('(neg) log-likelihood for attachment', '.3f')
compute_canonical_loss(data: Dataset, predictions: Tensor) Tensor

Compute a human-friendly overall loss (independent from instance parameters), useful as a measure of goodness-of-fit after personalization (nll by default - assuming no free parameters).

Parameters:
dataDataset

The dataset related to the computation of the log likelihood.

predictionstorch.Tensor

The model’s predictions from which to compute the canonical loss.

Returns:
torch.Tensor

The computed loss.

compute_nll(data: Dataset, predictions: Tensor, *, with_gradient: bool = False) Tensor | Tuple[Tensor, Tensor]

Compute the negative log-likelihood and its gradient wrt predictions.

Parameters:
dataDataset

The dataset related to the computation of the log likelihood.

predictionstorch.Tensor

The model’s predictions from which to compute the log likelihood.

with_gradientbool, optional

If True, returns also the gradient of the negative log likelihood wrt the predictions. If False, only returns the negative log likelihood. Default=False.

Returns:
torch.Tensor or tuple of torch.Tensor

The negative log likelihood (and its jacobian if requested).

compute_sufficient_statistics(data: Dataset, predictions: Tensor) Dict[str, Tensor]

Computes the set of noise-related sufficient statistics and metrics (to be extended in child class).

Parameters:
dataDataset

The dataset related to the computation of the sufficient statistics.

predictionstorch.Tensor

The model’s predictions from which to compute the sufficient statistics.

Returns:
DictParamsTorch

The sufficient statistics.

classmethod factory(pdf: Tensor, **kws)

Generate a new MultinomialDistribution from its probability density function instead of its survival function.

Parameters:
pdftorch.Tensor

The input probability density function.

**kws

Additional keyword arguments to be passed for instance initialization.

free_parameters: ClassVar[FrozenSet[str]] = frozenset({})
property mask
property max_level
max_levels: Dict[FeatureType, int] | None = None
move_to_device(device: device) None

Move all torch tensors stored in this instance to the provided device (parameters & hyperparameters).

Parameters:
devicetorch.device

Torch device on which to move the tensors.

property ordinal_infos: Dict[str, Any]
parameters: DictParamsTorch | None = None
raise_if_partially_defined() None

Raise an error if some of the free parameters are not defined.

classmethod raise_if_unknown_parameters(params: Iterable | None) None

Raise an error if the provided parameters are not part of the free parameters.

Parameters:
paramsIterable, optional

The list of parameters to analyze.

rv_around(loc: Tensor) Distribution

Return the torch distribution centred around values (only if noise is not None).

Parameters:
loctorch.Tensor

The loc around which to sample.

Returns:
torch.distributions.distribution.Distribution

The torch distribution centered around the loc.

sample_around(loc: Tensor) Tensor

Realization around loc with respect to partially defined distribution.

Parameters:
loctorch.Tensor

The loc around which to sample.

Returns:
torch.Tensor

The requested sample.

sampler_around(loc: Tensor) Callable[[], Tensor]

Return the sampling function around input values.

Parameters:
loctorch.Tensor

The loc around which to sample.

Returns:
Callable

The sampler.

to_dict() Dict[str, Any]

Serialize instance as dictionary.

Warning

Do NOT export hyper-parameters that are derived (error-prone and boring checks when re-creating).

Returns:
KwargsType

The instance serialized as a dictionary.

update_parameters(*, validate: bool = False, **parameters: Tensor) None

(Partial) update of the free parameters of the distribution family.

Parameters:
validatebool, optional

If True, the provided parameters are validated before being updated. Default=False.

**parameterstorch.Tensor

The new parameters.

update_parameters_from_predictions(data: Dataset, predictions: Tensor) None

Updates noise-model parameters in-place (nothing done by default).

Parameters:
dataDataset

The dataset related to the computation of the log likelihood.

predictionstorch.Tensor

The model’s predictions from which to update the parameters.

update_parameters_from_sufficient_statistics(data: Dataset, sufficient_statistics: Dict[str, Tensor]) None

Updates noise-model parameters in-place (nothing done by default).

Parameters:
dataDataset

The dataset related to the computation of the log likelihood.

sufficient_statisticsDictParamsTorch

The sufficient statistics to use for parameter update.

validate(**params: Any) Dict[str, Tensor]

Validation function for parameters (based on ‘validate_xxx’ methods).

Parameters:
**paramsAny

The parameters to validate.

Returns:
DictParamsTorch

The validated parameters.

class OrdinalRankingFamily(parameters: Dict[str, Tensor] | None = None)

Bases: DistributionFamily

Distribution family for OrdinalRankingNoiseModel.

Parameters:
parametersdict [ str, torch.Tensor ] or None

Values for all the free parameters of the distribution family. All of them must have values before using the sampling methods.

Attributes:
free_parametersfrozenset of str

Name of all the free parameters (but loc) needed to characterize the distribution.

Note

For each parameter, if a method named validate_xxx(torch.Tensor -> torch.Tensor) exists, then it will be used for user-input validation of parameter “xxx”.

factoryNone or function(free parameters values) -> torch.distributions.distribution.Distribution

Class for a multinomial distribution with only sample method.

Methods

factory

alias of MultinomialDistribution

move_to_device(device)

Move all torch tensors stored in this instance to the provided device (parameters & hyperparameters).

raise_if_partially_defined()

Raise an error if some of the free parameters are not defined.

raise_if_unknown_parameters(params)

Raise an error if the provided parameters are not part of the free parameters.

rv_around(loc)

Return the torch distribution centred around values (only if noise is not None).

sample_around(loc)

Realization around loc with respect to partially defined distribution.

sampler_around(loc)

Return the sampling function around input values.

to_dict()

Serialize instance as dictionary.

update_parameters(*[, validate])

(Partial) update of the free parameters of the distribution family.

validate(**params)

Validation function for parameters (based on 'validate_xxx' methods).

factory

alias of MultinomialDistribution

free_parameters: ClassVar[FrozenSet[str]] = frozenset({})
move_to_device(device: device) None

Move all torch tensors stored in this instance to the provided device (parameters & hyperparameters).

Parameters:
devicetorch.device

Torch device on which to move the tensors.

parameters: DictParamsTorch | None = None
raise_if_partially_defined() None

Raise an error if some of the free parameters are not defined.

classmethod raise_if_unknown_parameters(params: Iterable | None) None

Raise an error if the provided parameters are not part of the free parameters.

Parameters:
paramsIterable, optional

The list of parameters to analyze.

rv_around(loc: Tensor) Distribution

Return the torch distribution centred around values (only if noise is not None).

Parameters:
loctorch.Tensor

The loc around which to sample.

Returns:
torch.distributions.distribution.Distribution

The torch distribution centered around the loc.

sample_around(loc: Tensor) Tensor

Realization around loc with respect to partially defined distribution.

Parameters:
loctorch.Tensor

The loc around which to sample.

Returns:
torch.Tensor

The requested sample.

sampler_around(loc: Tensor) Callable[[], Tensor]

Return the sampling function around input values.

Parameters:
loctorch.Tensor

The loc around which to sample.

Returns:
Callable

The sampler.

to_dict() Dict[str, Any]

Serialize instance as dictionary.

Returns:
KwargsType

The instance serialized as a dictionary.

update_parameters(*, validate: bool = False, **parameters: Tensor) None

(Partial) update of the free parameters of the distribution family.

Parameters:
validatebool, optional

If True, the provided parameters are validated before being updated. Default=False.

**parameterstorch.Tensor

The new parameters.

validate(**params: Any) Dict[str, Tensor]

Validation function for parameters (based on ‘validate_xxx’ methods).

Parameters:
**paramsAny

The parameters to validate.

Returns:
DictParamsTorch

The validated parameters.

class OrdinalRankingNoiseModel(parameters: DictParamsTorch | None = None, max_levels: Dict[FeatureType, int] | None = None)

Bases: OrdinalRankingFamily, AbstractOrdinalNoiseModel

Class implementing OrdinalRankingNoiseModel (likelihood is based on SF).

Parameters:
parametersdict [ str, torch.Tensor ] or None

Values for all the free parameters of the distribution family. All of them must have values before using the sampling methods.

max_levelsdict, optional

Maximum levels for ordinal noise.

Attributes:
mask
max_level
max_levels
ordinal_infos
parameters

Methods

compute_canonical_loss(data, predictions)

Compute a human-friendly overall loss (independent from instance parameters), useful as a measure of goodness-of-fit after personalization (nll by default - assuming no free parameters).

compute_nll(data, predictions, *[, ...])

Compute the negative log-likelihood and its gradient wrt predictions.

compute_sufficient_statistics(data, predictions)

Computes the set of noise-related sufficient statistics and metrics (to be extended in child class).

factory

alias of MultinomialDistribution

move_to_device(device)

Move all torch tensors stored in this instance to the provided device (parameters & hyperparameters).

raise_if_partially_defined()

Raise an error if some of the free parameters are not defined.

raise_if_unknown_parameters(params)

Raise an error if the provided parameters are not part of the free parameters.

rv_around(loc)

Return the torch distribution centred around values (only if noise is not None).

sample_around(loc)

Realization around loc with respect to partially defined distribution.

sampler_around(loc)

Return the sampling function around input values.

to_dict()

Serialize instance as dictionary.

update_parameters(*[, validate])

(Partial) update of the free parameters of the distribution family.

update_parameters_from_predictions(data, ...)

Updates noise-model parameters in-place (nothing done by default).

update_parameters_from_sufficient_statistics(...)

Updates noise-model parameters in-place (nothing done by default).

validate(**params)

Validation function for parameters (based on 'validate_xxx' methods).

canonical_loss_properties: ClassVar = ('(neg) log-likelihood for attachment', '.3f')
compute_canonical_loss(data: Dataset, predictions: Tensor) Tensor

Compute a human-friendly overall loss (independent from instance parameters), useful as a measure of goodness-of-fit after personalization (nll by default - assuming no free parameters).

Parameters:
dataDataset

The dataset related to the computation of the log likelihood.

predictionstorch.Tensor

The model’s predictions from which to compute the canonical loss.

Returns:
torch.Tensor

The computed loss.

compute_nll(data: Dataset, predictions: Tensor, *, with_gradient: bool = False) Tensor | Tuple[Tensor, Tensor]

Compute the negative log-likelihood and its gradient wrt predictions.

Parameters:
dataDataset

The dataset related to the computation of the log likelihood.

predictionstorch.Tensor

The model’s predictions from which to compute the log likelihood.

with_gradientbool, optional

If True, returns also the gradient of the negative log likelihood wrt the predictions. If False, only returns the negative log likelihood. Default=False.

Returns:
torch.Tensor or tuple of torch.Tensor

The negative log likelihood (and its jacobian if requested).

compute_sufficient_statistics(data: Dataset, predictions: Tensor) Dict[str, Tensor]

Computes the set of noise-related sufficient statistics and metrics (to be extended in child class).

Parameters:
dataDataset

The dataset related to the computation of the sufficient statistics.

predictionstorch.Tensor

The model’s predictions from which to compute the sufficient statistics.

Returns:
DictParamsTorch

The sufficient statistics.

factory

alias of MultinomialDistribution

free_parameters: ClassVar[FrozenSet[str]] = frozenset({})
property mask
property max_level
max_levels: Dict[FeatureType, int] | None = None
move_to_device(device: device) None

Move all torch tensors stored in this instance to the provided device (parameters & hyperparameters).

Parameters:
devicetorch.device

Torch device on which to move the tensors.

property ordinal_infos: Dict[str, Any]
parameters: DictParamsTorch | None = None
raise_if_partially_defined() None

Raise an error if some of the free parameters are not defined.

classmethod raise_if_unknown_parameters(params: Iterable | None) None

Raise an error if the provided parameters are not part of the free parameters.

Parameters:
paramsIterable, optional

The list of parameters to analyze.

rv_around(loc: Tensor) Distribution

Return the torch distribution centred around values (only if noise is not None).

Parameters:
loctorch.Tensor

The loc around which to sample.

Returns:
torch.distributions.distribution.Distribution

The torch distribution centered around the loc.

sample_around(loc: Tensor) Tensor

Realization around loc with respect to partially defined distribution.

Parameters:
loctorch.Tensor

The loc around which to sample.

Returns:
torch.Tensor

The requested sample.

sampler_around(loc: Tensor) Callable[[], Tensor]

Return the sampling function around input values.

Parameters:
loctorch.Tensor

The loc around which to sample.

Returns:
Callable

The sampler.

to_dict() Dict[str, Any]

Serialize instance as dictionary.

Warning

Do NOT export hyper-parameters that are derived (error-prone and boring checks when re-creating).

Returns:
KwargsType

The instance serialized as a dictionary.

update_parameters(*, validate: bool = False, **parameters: Tensor) None

(Partial) update of the free parameters of the distribution family.

Parameters:
validatebool, optional

If True, the provided parameters are validated before being updated. Default=False.

**parameterstorch.Tensor

The new parameters.

update_parameters_from_predictions(data: Dataset, predictions: Tensor) None

Updates noise-model parameters in-place (nothing done by default).

Parameters:
dataDataset

The dataset related to the computation of the log likelihood.

predictionstorch.Tensor

The model’s predictions from which to update the parameters.

update_parameters_from_sufficient_statistics(data: Dataset, sufficient_statistics: Dict[str, Tensor]) None

Updates noise-model parameters in-place (nothing done by default).

Parameters:
dataDataset

The dataset related to the computation of the log likelihood.

sufficient_statisticsDictParamsTorch

The sufficient statistics to use for parameter update.

validate(**params: Any) Dict[str, Tensor]

Validation function for parameters (based on ‘validate_xxx’ methods).

Parameters:
**paramsAny

The parameters to validate.

Returns:
DictParamsTorch

The validated parameters.