class_docstr: MLP classification head
      
class_docstr_tok: ["MLP","classification","head"]
code: def __init__(
      self,
      dim,
      num_classes=1000,
      pool_type="avg",
      mlp_ratio=3,
      act_layer=nn.GELU,
      norm_layer=partial(nn.LayerNorm, eps=1e-6),
      drop=0.0,
      bias=True,
  ):
      super().__init__()
      self.global_pool = SelectAdaptivePool2d(
          pool_type=pool_type, flatten=True
      )
      in_features = dim * self.global_pool.feat_mult()
      hidden_features = int(mlp_ratio * in_features)
      self.fc1 = nn.Linear(in_features, hidden_features, bias=bias)
      self.act = act_layer()
      self.norm = norm_layer(hidden_features)
      self.fc2 = nn.Linear(hidden_features, num_classes, bias=bias)
      self.drop = nn.Dropout(drop)
  
imports: from functools import partial
  import torch
  import torch.nn
  from timm.data import IMAGENET_DEFAULT_MEAN, IMAGENET_DEFAULT_STD
  from timm.layers import trunc_normal_, DropPath, to_2tuple, get_padding, SelectAdaptivePool2d
  from ._builder import build_model_with_cfg
  from ._manipulate import checkpoint_seq
  from ._registry import register_model, generate_default_cfgs
label_desc: Use image node_id 1 to create a new MlpClassifierHead object from inherited base classes: nn with example: obj = MlpClassifierHead(dim, num_classes, pool_type, mlp_ratio, act_layer, norm_layer, drop, bias)