class_docstr: Augmentation used to generate a mask for Vision Transformers
  Typically used in approaches such as iBOT (https://arxiv.org/pdf/2111.07832.pdf)
code: def __call__(self, x: torch.Tensor):
      image_shape = x.shape[1:]
      pred_ratio = get_pred_ratio(
          self.pred_ratio_mean, self.pred_ratio_var
      )
      mask_shape = (
          image_shape[0] // self.patch_size,
          image_shape[1] // self.patch_size,
      )
      mask = create_mask(
          high=int(mask_shape[0] * mask_shape[1] * pred_ratio),
          mask_shape=mask_shape,
          log_aspect_ratio=self.log_aspect_ratio,
      )
      return {"data": x, "mask": mask}
  
file_path: vissl/vissl/data/ssl_transforms/masked_image_modeling.py
imports: import math
  import random
  from typing import Any, Dict, List, Tuple
  import numpy
  import torch
  from classy_vision.dataset.transforms import register_transform
  from classy_vision.dataset.transforms.classy_transform import ClassyTransform
label_desc: Use image node_id 2 for calling the MaskedImageModeling obj's underlying member method code with example usage: obj.__call__(x) and returns: dict