code: def forward_masked(self, images):
      batch_size, _, _, width = images.shape
      seq_length = (width // self.anchor_backbone.patch_size) ** 2
      idx_keep, _ = utils.random_token_mask(
          size=(batch_size, seq_length),
          mask_ratio=self.mask_ratio,
          device=images.device,
      )
      out = self.anchor_backbone(images, idx_keep)
      return self.anchor_projection_head(out)
  
file_path: lightly/examples/pytorch/pmsn.py
imports: import copy
  import torch
  import torchvision
  from torch import nn
  from lightly.loss import PMSNLoss
  from lightly.models import utils
  from lightly.models.modules.heads import MSNProjectionHead
  from lightly.models.modules.masked_autoencoder import MAEBackbone
  from lightly.transforms import MSNTransform
label_desc: Use image node_id 3 for calling the PMSN obj's underlying member method code with example usage: obj.forward_masked(images) and returns: self