code: def forward(self, high_resolution, low_resolution, epoch):
      self.prototypes.normalize()
  
      high_resolution_features = [
          self._subforward(x) for x in high_resolution
      ]
      low_resolution_features = [
          self._subforward(x) for x in low_resolution
      ]
  
      high_resolution_prototypes = [
          self.prototypes(x, epoch) for x in high_resolution_features
      ]
      low_resolution_prototypes = [
          self.prototypes(x, epoch) for x in low_resolution_features
      ]
      queue_prototypes = self._get_queue_prototypes(
          high_resolution_features, epoch
      )
  
      return (
          high_resolution_prototypes,
          low_resolution_prototypes,
          queue_prototypes,
      )
  
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 2 for calling the SwaV obj's underlying member method code with example usage: obj.forward(high_resolution, low_resolution, epoch) and returns: high_resolution_prototypes,  low_resolution_prototypes,  queue_prototypes