class_docstr: This creates the function G such that the entire block can be
  expressed as F(G(X)). Includes pre-LayerNorm.
class_docstr_tok: ["This","creates","the","function","G","such","that","the","entire","block","can","be","expressed","as","F","(","G","(","X",")",")",".","Includes","pre-LayerNorm","."]
code: def __init__(
      self,
      dim,
      mlp_ratio,
      norm_layer=nn.LayerNorm,
  ):
      super().__init__()
      self.norm = norm_layer(dim, eps=1e-6, elementwise_affine=True)
  
      mlp_hidden_dim = int(dim * mlp_ratio)
  
      self.mlp = Mlp(
          in_features=dim,
          hidden_features=mlp_hidden_dim,
          act_layer=nn.GELU,
      )
  
imports: import sys
  from functools import partial
  import torch
  from torch import nn
  from torch.autograd import Function
  from slowfast.models.attention import MultiScaleAttention, attention_pool
  from slowfast.models.common import Mlp, TwoStreamFusion, drop_path
  from slowfast.models.utils import round_width
label_desc: Use image node_id 1 to create a new MLPSubblock object from inherited base classes: nn with example: obj = MLPSubblock(dim, mlp_ratio, norm_layer)