code: def reset_group_features(self, memory_bank):
      # see https://arxiv.org/pdf/2207.06167.pdf Table 7b)
      features = memory_bank.bank
      group_features = self._cluster_features(features.t())
      self.smog.set_group_features(group_features)
  
file_path: lightly/examples/pytorch/smog.py
imports: import copy
  import torch
  import torchvision
  from sklearn.cluster import KMeans
  from torch import nn
  from lightly.models import utils
  from lightly.models.modules.heads import SMoGPredictionHead, SMoGProjectionHead, SMoGPrototypes
  from lightly.models.modules.memory_bank import MemoryBankModule
  from lightly.transforms.smog_transform import SMoGTransform
label_desc: Use image node_id 3 for calling the SMoGModel obj's underlying member method code with example usage: obj.reset_group_features(memory_bank) without return types