class_docstr: MLP as used in Vision Transformer, MLP-Mixer and related networks
class_docstr_tok: ["MLP","as","used","in","Vision","Transformer",",","MLP-Mixer","and","related","networks"]
code: def __init__(
      self,
      in_features,
      hidden_features=None,
      out_features=None,
      act_layer=nn.GELU,
      drop=0.0,
  ):
      super().__init__()
      out_features = out_features or in_features
      hidden_features = hidden_features or in_features
      self.fc1 = nn.Linear(in_features, hidden_features)
      self.act = act_layer()
      self.fc2 = nn.Linear(hidden_features, out_features)
      self.drop = nn.Dropout(drop)
  
imports: import collections.abc
  import math
  import warnings
  from dataclasses import dataclass
  from functools import partial
  from itertools import repeat
  import omegaconf
  import torch
  import torch.nn
  import torch.nn.functional
  from mmf.common.registry import registry
  from mmf.modules.encoders import Encoder
label_desc: Use image node_id 1 to create a new Mlp object from inherited base classes: nn with example: obj = Mlp(in_features, hidden_features, out_features, act_layer, drop)