code: def _make_nn_module(module_type: ModuleType, *args) -> nn.Module:
      if isinstance(module_type, str):
          if module_type == "reglu":
              return ReGLU()
          elif module_type == "geglu":
              return GEGLU()
          elif module_type == "gelu":
              return nn.GELU()
          elif module_type == "relu":
              return nn.ReLU()
          elif module_type == "leaky_relu":
              return nn.LeakyReLU()
          elif module_type == "layer_norm":
              return nn.LayerNorm(*args)
          else:
              try:
                  cls = getattr(nn, module_type)
              except AttributeError as err:
                  raise ValueError(
                      f"Failed to construct the module {module_type} with the arguments {args}"
                  ) from err
              return cls(*args)
      else:
          return module_type(*args)
  
imports: import enum
  import math
  import warnings
  from typing import Callable, Dict, List, Optional, Tuple, Union, cast
  import torch
  import torch.nn.functional
  from torch import Tensor, nn
  from .utils import init_weights
label_desc: Use image node_id 2 for calling a global function with example usage: _make_nn_module(module_type) and returns: module_type, ReGLU, GEGLU, nn, nn, nn, nn, cls