class_docstr: Implementation of MLP with 1*1 convolutions for poolformer, not the same as the original mlp
  Input: tensor with shape [B, C, H, W]
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.Conv2d(in_features, hidden_features, 1)
      self.act = act_layer()
      self.fc2 = nn.Conv2d(hidden_features, out_features, 1)
      self.drop = nn.Dropout(drop)
      self.apply(self._init_weights)
  
imports: from torch import nn
  from towhee.models.utils.weight_init import trunc_normal_
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)