class_docstr: MLP module w/ dropout and configurable activation layer,
  as used in Vision Transformer, MLP-Mixer and related networks.
  
  Args:
      - in_features (`int`):
          Number of input features.
      - hidden_features (`int`):
          Number of hidden features.
      - out_features (`int`):
          Number of output features.
      - act_layer (`nn.Module`):
          Activation layer.
      - drop (`float`):
          Dropout rate.
  
  Example:
      >>> import torch
      >>> from towhee.models.layers.mlp import Mlp
      >>>
      >>> fake_input = torch.rand(1, 4)
      >>> layer = Mlp(in_features=4, hidden_features=6, out_features=8)
      >>> output = layer(fake_input)
      >>> print(output.shape)
      torch.Size([1, 8])
code: def relprop(self, cam, **kwargs):
      cam = self.drop.relprop(cam, **kwargs)
      cam = self.fc2.relprop(cam, **kwargs)
      cam = self.act.relprop(cam, **kwargs)
      cam = self.fc1.relprop(cam, **kwargs)
      return cam
  
imports: from torch import nn
  from towhee.models.layers.layers_with_relprop import GELU, Linear, Dropout
label_desc: Use image node_id 3 for calling the Mlp obj's underlying member method code with example usage: obj.relprop(cam) and returns: cam