code: def multi_apply(func, *args, **kwargs):
      """Apply function to a list of arguments.
  
      Note:
          This function applies the ``func`` to multiple inputs and
          map the multiple outputs of the ``func`` into different
          list. Each list contains the same type of outputs corresponding
          to different inputs.
  
      Args:
          func (Function): A function that will be applied to a list of
              arguments
  
      Returns:
          tuple(list): A tuple containing multiple list, each list contains \
              a kind of returned results by the function
      """
      pfunc = partial(func, **kwargs) if kwargs else func
      map_results = map(pfunc, *args)
      res = tuple(map(list, zip(*map_results)))
      return res
  
imports: import copy
  import numpy
  import paddle
  import paddle.nn
  import paddle.nn.functional
  from ppdet.core.workspace import register
  import paddle.distributed
  from ..transformers.petr_transformer import inverse_sigmoid, masked_fill
  from ..initializer import constant_, normal_
  from functools import partial
label_desc: Use image node_id 2 for calling a global function with example usage: multi_apply(func) and returns: res