code: def get_conditional_args(
      model,
      include=(torch.Tensor, torch.FloatTensor, torch.LongTensor),
      exclude=(),
  ):
      """
      This function will return all the parameters that (might) in `condition`
      It will return a list or tensor args name
      E.g.
      def forward(self, a, b=1, c: int = 3, *args, **kwargs):
          pass
      it will return ['a'] if include=(torch.Tensor)
  
      :param include: tuple of type or "all".
      :param exclude: tuple of type or "all".
  
      Note: "all" means all the types are allowed or disallowed, except those
            stated in the opposite parameter.
      Note: exclude has higher priority if conflict instruction is provided
      """
      include_all = True if include == "all" else False
      exclude_all = True if exclude == "all" else False
  
      forward_args = get_forward_args(model)
      forward_defaults = get_forward_defaults(model)
      forward_annotations = get_forward_annotations(model)
      fitted_args = []
      if forward_defaults is None:
          defaults_length = 0
      else:
          defaults_length = len(forward_defaults)
      args_length = len(forward_args)
      for i, arg in enumerate(forward_args):
          # check if type hint is provided
          flag = False
          if arg in forward_annotations:
              if include_all or forward_annotations[arg] in include:
                  flag = True
              if exclude_all or forward_annotations[arg] in exclude:
                  flag = False
              if flag:
                  fitted_args.append(arg)
              continue
          # check if defaults is meets requirement
          default_args_start_from = args_length - defaults_length
          if i >= default_args_start_from:
              flag = False
              if (
                  include_all
                  or type(forward_defaults[i - default_args_start_from])
                  in include
              ):
                  flag = True
              if (
                  exclude_all
                  or type(forward_defaults[i - default_args_start_from])
                  in exclude
              ):
                  flag = False
              if flag:
                  fitted_args.append(arg)
              continue
          # nothing is provided, we assume it meets requirement
          fitted_args.append(arg)
      return fitted_args
  
imports: import inspect
  import torch
label_desc: Use image node_id 4 for calling a global function with example usage: get_conditional_args(model, include, exclude) and returns: fitted_args