code: def inputs_to_ivy_arrays(fn: Callable) -> Callable:
      @functools.wraps(fn)
      def new_fn(*args, **kwargs):
          """Convert `Tensor` into `ivy.Array` instances.
  
          Convert all `Tensor` instances in both the positional and keyword arguments
          into `ivy.Array` instances, and then call the function with the updated
          arguments.
          """
          # convert all input arrays to ivy.Array instances
          new_args = ivy.nested_map(
              _to_ivy_array,
              args,
              include_derived={"tuple": True},
              shallow=False,
          )
          new_kwargs = ivy.nested_map(
              _to_ivy_array,
              kwargs,
              include_derived={"tuple": True},
              shallow=False,
          )
  
          return fn(*new_args, **new_kwargs)
  
      return new_fn
  
file_path: ivy/ivy/functional/frontends/paddle/func_wrapper.py
imports: from typing import Callable
  import functools
  import ivy
  import ivy.functional.frontends.paddle
label_desc: Use image node_id 3 for calling a global function with example usage: inputs_to_ivy_arrays(fn) and returns: new_fn, fn