code: def __init__(self):
      super().__init__()
  
      vit = torchvision.models.vit_b_32(pretrained=False)
      decoder_dim = vit.hidden_dim
      self.mask_ratio = 0.75
      self.patch_size = vit.patch_size
      self.sequence_length = vit.seq_length
      self.mask_token = nn.Parameter(torch.zeros(1, 1, decoder_dim))
  
      # same backbone as MAE
      self.backbone = masked_autoencoder.MAEBackbone.from_vit(vit)
  
      # the decoder is a simple linear layer
      self.decoder = nn.Linear(vit.hidden_dim, vit.patch_size**2 * 3)
  
      # L1 loss as paper suggestion
      self.criterion = nn.L1Loss()
  
file_path: lightly/examples/pytorch_lightning/simmim.py
imports: import pytorch_lightning
  import torch
  import torchvision
  from torch import nn
  from lightly.models import utils
  from lightly.models.modules import masked_autoencoder
  from lightly.transforms.mae_transform import MAETransform
label_desc: Use image node_id 1 to create a new SimMIM object from inherited base classes: pl with example: obj = SimMIM()