def predict(
        self,
        features: dict[FeatureType, torch.Tensor] | torch.Tensor,
    ) -> torch.Tensor | tuple[torch.Tensor, torch.Tensor]:
        """Predict the density of a set of features.

        Args:
            features (dict[FeatureType, torch.Tensor] | torch.Tensor): Input features
                to compute density for. Can be either a dictionary mapping feature
                types to tensors, or a single tensor.

        Returns:
            torch.Tensor | tuple[torch.Tensor, torch.Tensor]: Predicted density
                scores. May return either a single tensor of scores or a tuple of
                tensors for more complex estimators.
        """
        raise NotImplementedError
Predict the density of a set of features.

        Args:
            features (dict[FeatureType, torch.Tensor] | torch.Tensor): Input features
                to compute density for. Can be either a dictionary mapping feature
                types to tensors, or a single tensor.

        Returns:
            torch.Tensor | tuple[torch.Tensor, torch.Tensor]: Predicted density
                scores. May return either a single tensor of scores or a tuple of
                tensors for more complex estimators.
        
src/anomalib/models/video/ai_vad/density.py