code: def build_vision_projector(config, delay_load=False, **kwargs):
      projector_type = getattr(config, "mm_projector_type", "linear")
  
      if projector_type == "linear":
          return nn.Linear(config.mm_hidden_size, config.hidden_size)
  
      mlp_gelu_match = re.match(r"^mlp(\d+)x_gelu$", projector_type)
      if mlp_gelu_match:
          mlp_depth = int(mlp_gelu_match.group(1))
          modules = [
              nn.Linear(config.mm_hidden_size, config.hidden_size)
          ]
          for _ in range(1, mlp_depth):
              modules.append(nn.GELU())
              modules.append(
                  nn.Linear(config.hidden_size, config.hidden_size)
              )
          return nn.Sequential(*modules)
  
      if projector_type == "identity":
          return IdentityMap()
  
      raise ValueError(f"Unknown projector type: {projector_type}")
  
file_path: llama-vid/llamavid/model/multimodal_projector/builder.py
imports: import torch
  import torch.nn
  import re
label_desc: Use image node_id 1 for calling a global function with example usage: build_vision_projector(config, delay_load) and returns: nn, nn, IdentityMap