code: def np_abstract_eval(f):
      """Abstract evaluation in numpy by running the real function on 0s."""
  
      def abstract_f(*args, **kwargs):
          real_args = [
              nested_map(lambda x: np.zeros(x.shape, x.dtype), a)
              for a in args
          ]
          real_res = f(*real_args, **kwargs)
          return signature(real_res)
  
      return abstract_f
  
file_path: trax/trax/fastmath/numpy.py
imports: import numpy
  from scipy.special import logsumexp
  from trax.shapes import signature
label_desc: Use image node_id 6 for calling a global function with example usage: np_abstract_eval(f) and returns: abstract_f, signature