class_docstr: MLP module
  Impl using nn.Linear and activation is GELU, dropout is applied.
  Ops: fc -> act -> dropout -> fc -> dropout
  Attributes:
      fc1: nn.Linear
      fc2: nn.Linear
      act: GELU
      dropout1: dropout after fc1
      dropout2: dropout after fc2
code: def __init__(self, embed_dim, mlp_ratio, dropout=0.0):
      super().__init__()
      w_attr_1, b_attr_1 = self._init_weights()
      self.fc1 = nn.Linear(
          embed_dim,
          int(embed_dim * mlp_ratio),
          weight_attr=w_attr_1,
          bias_attr=b_attr_1,
      )
  
      w_attr_2, b_attr_2 = self._init_weights()
      self.fc2 = nn.Linear(
          int(embed_dim * mlp_ratio),
          embed_dim,
          weight_attr=w_attr_2,
          bias_attr=b_attr_2,
      )
      self.act = nn.GELU()
      self.dropout1 = nn.Dropout(dropout)
      self.dropout2 = nn.Dropout(dropout)
  
imports: import copy
  import paddle
  import paddle.nn
  from disco_diffusion_ernievil_base.vit_b_16x.ernievil2.transformers.droppath import DropPath
label_desc: Use image node_id 1 to create a new Mlp object from inherited base classes: nn with example: obj = Mlp(embed_dim, mlp_ratio, dropout)