class_docstr: Decoder for the Masked Autoencoder model [0].
  
  Decodes encoded patches and predicts pixel values for every patch.
  Code inspired by [1].
  
  - [0]: Masked Autoencoder, 2021, https://arxiv.org/abs/2111.06377
  - [1]: https://github.com/facebookresearch/mae
  
  Attributes:
      seq_length:
          Token sequence length, including the class token.
      num_layers:
          Number of transformer blocks.
      num_heads:
          Number of attention heads.
      embed_input_dim:
          Dimension of the input tokens. Usually be equal to the hidden
          dimension of the MAEEncoder or MAEBackbone.
      hidden_dim:
          Dimension of the decoder tokens.
      mlp_dim:
          Dimension of the MLP in the transformer block.
      out_dim:
          Output dimension of the prediction for a single patch. Usually equal
          to (3 * patch_size ** 2).
      dropout:
          Percentage of elements set to zero after the MLP in the transformer.
      attention_dropout:
          Percentage of elements set to zero after the attention head.
code: def __init__(
      self,
      seq_length: int,
      num_layers: int,
      num_heads: int,
      embed_input_dim: int,
      hidden_dim: int,
      mlp_dim: int,
      out_dim: int,
      dropout: float = 0.0,
      attention_dropout: float = 0.0,
      norm_layer: Callable[..., nn.Module] = partial(
          nn.LayerNorm, eps=1e-6
      ),
  ):
      super().__init__(
          seq_length=seq_length,
          num_layers=num_layers,
          num_heads=num_heads,
          hidden_dim=hidden_dim,
          mlp_dim=mlp_dim,
          dropout=dropout,
          attention_dropout=attention_dropout,
          norm_layer=norm_layer,
      )
      self.decoder_embed = nn.Linear(
          embed_input_dim, hidden_dim, bias=True
      )
      self.prediction_head = nn.Linear(hidden_dim, out_dim)
  
imports: from __future__ import annotations
  import math
  from functools import partial
  from typing import Callable, List, Optional
  import torch
  import torch.nn
  from torchvision.models import vision_transformer
  from torchvision.models.vision_transformer import ConvStemConfig
  from lightly.models import utils
label_desc: Use image node_id 1 to create a new MAEDecoder object from inherited base classes: vision_transformer with example: obj = MAEDecoder(seq_length, num_layers, num_heads, embed_input_dim, hidden_dim, mlp_dim, out_dim, dropout, attention_dropout, norm_layer)