anomalib.models.components.stats¶
Statistical functions.
Submodules¶
Package Contents¶
Classes¶
Gaussian Kernel Density Estimation. |
|
Multi Variate Gaussian Distribution. |
- class anomalib.models.components.stats.GaussianKDE(dataset: Optional[torch.Tensor] = None)[source]¶
Bases:
anomalib.models.components.base.DynamicBufferModuleGaussian Kernel Density Estimation.
- Parameters
dataset (Optional[Tensor], optional) – Dataset on which to fit the KDE model. Defaults to None.
- forward(self, features: torch.Tensor) torch.Tensor¶
Get the KDE estimates from the feature map.
- Parameters
features (Tensor) – Feature map extracted from the CNN
Returns: KDE Estimates
- fit(self, dataset: torch.Tensor) None¶
Fit a KDE model to the input dataset.
- Parameters
dataset (Tensor) – Input dataset.
- Returns
None
- static cov(tensor: torch.Tensor) torch.Tensor¶
Calculate the unbiased covariance matrix.
- Parameters
tensor (Tensor) – Input tensor from which covariance matrix is computed.
- Returns
Output covariance matrix.
- class anomalib.models.components.stats.MultiVariateGaussian(n_features, n_patches)[source]¶
Bases:
torch.nn.ModuleMulti Variate Gaussian Distribution.
- static _cov(observations: torch.Tensor, rowvar: bool = False, bias: bool = False, ddof: Optional[int] = None, aweights: torch.Tensor = None) torch.Tensor¶
Estimates covariance matrix like numpy.cov.
- Parameters
observations (Tensor) – A 1-D or 2-D array containing multiple variables and observations. Each row of m represents a variable, and each column a single observation of all those variables. Also see rowvar below.
rowvar (bool) – If rowvar is True (default), then each row represents a variable, with observations in the columns. Otherwise, the relationship is transposed: each column represents a variable, while the rows contain observations. Defaults to False.
bias (bool) – Default normalization (False) is by
(N - 1), whereNis the number of observations given (unbiased estimate). If bias is True, then normalization is byN. These values can be overridden by using the keywordddofin numpy versions >= 1.5. Defaults to Falseddof (Optional, int) – If not
Nonethe default value implied by bias is overridden. Note thatddof=1will return the unbiased estimate, even if both fweights and aweights are specified, andddof=0will return the simple average. See the notes for the details. The default value isNone.aweights (Tensor) – 1-D array of observation vector weights. These relative weights are typically large for observations considered “important” and smaller for observations considered less “important”. If
ddof=0the array of weights can be used to assign probabilities to observation vectors. (Default value = None)
- Returns
The covariance matrix of the variables.
- forward(self, embedding: torch.Tensor) List[torch.Tensor]¶
Calculate multivariate Gaussian distribution.
- Parameters
embedding (Tensor) – CNN features whose dimensionality is reduced via either random sampling or PCA.
- Returns
mean and inverse covariance of the multi-variate gaussian distribution that fits the features.
- fit(self, embedding: torch.Tensor) List[torch.Tensor]¶
Fit multi-variate gaussian distribution to the input embedding.
- Parameters
embedding (Tensor) – Embedding vector extracted from CNN.
- Returns
Mean and the covariance of the embedding.