class_docstr: Grouped KNN density estimator.
  
  Keeps track of the group (e.g. video id) from which the features were sampled for normalization purposes.
  
  Args:
      n_neighbors (int): Number of neighbors used in KNN search.
docstr: Fit the KNN model by stacking the feature vectors and computing the normalization statistics.
code: def fit(self) -> None:
      """Fit the KNN model by stacking the feature vectors and computing the normalization statistics."""
      self.memory_bank = {
          key: torch.vstack(value)
          for key, value in self.memory_bank.items()
      }
      self._compute_normalization_statistics()
  
imports: from __future__ import annotations
  from abc import ABC, abstractmethod
  from typing import Any
  import torch
  from sklearn.mixture import GaussianMixture
  from torch import Tensor, nn
  from anomalib.models.ai_vad.features import FeatureType
  from anomalib.utils.metrics.min_max import MinMax
label_desc: Use image node_id 3 for calling the GroupedKNNEstimator obj's underlying member method code with example usage: obj.fit() without return types