code: def _subforward(self, input):
      features = self.backbone(input).flatten(start_dim=1)
      features = self.projection_head(features)
      features = nn.functional.normalize(features, dim=1, p=2)
      return features
  
file_path: lightly/examples/pytorch/swav_queue.py
imports: import torch
  import torchvision
  from torch import nn
  from lightly.loss import SwaVLoss
  from lightly.models.modules import SwaVProjectionHead, SwaVPrototypes
  from lightly.models.modules.memory_bank import MemoryBankModule
  from lightly.transforms.swav_transform import SwaVTransform
label_desc: Use image node_id 3 for calling the SwaV obj's underlying member method code with example usage: obj._subforward(input) and returns: features