docstr: evaluate function f from f_str and tensros
  
  f_str: name of varialbe in the form of x0 - xn
  tensors: numpy tensor vals
docstr_tok: ["evaluate","function","f","from","f_str","and","tensros","f_str",":","name","of","varialbe","in","the","form","of","x0","-","xn","tensors",":","numpy","tensor","vals"]
code: def _numpy_call(f_str, tensors):
      """
      evaluate function f from f_str and tensros
  
      f_str: name of varialbe in the form of x0 - xn
      tensors: numpy tensor vals
      """
      # convert to numpy str
      f_str = f_str.replace("be", "np")
      f_str = f_str.replace("np.sig", "CustomFunc.sig")
      f_str = f_str.replace("np.sig2", "CustomFunc.sig2")
      f_str = f_str.replace("np.tanh2", "CustomFunc.tanh2")
      f_str = f_str.replace("np.argmax", "CustomFunc.argmax")
      f_str = f_str.replace("np.argmin", "CustomFunc.argmin")
      # TODO debug only
      f_str = f_str.replace("axis=0", "axis=0, keepdims=True")
      # TODO debug only
      f_str = f_str.replace("axis=1", "axis=1, keepdims=True")
  
      # give variable name to the tensors
      count = 0
      for tensor in tensors:
          exec(("x%s = tensor" % count), globals(), locals())
          count += 1
  
      # execute
      result = None
      result = eval(f_str)
  
      return result
  
imports: from builtins import zip
  import numpy
  import pprint
  import pytest
  from neon import NervanaObject
  from neon.backends.autodiff import Autodiff
  from utils import allclose_with_out
label_desc: Use image node_id 3 for calling the TestAutodiff obj's underlying member method code with example usage: obj._numpy_call(f_str, tensors) and returns: result