code: def normalize(x, axes=None, mean=None, stddev=None, ddof=0, eps=0):
      if type(axes) is list:
          axes = tuple(axes)
  
      num_reduced = (
          np.prod([x.shape[a] for a in axes]) if axes else x.size
      )
  
      if mean is None:
          mean = x.mean(axis=axes, keepdims=True)
          if stddev is None and eps == 0 and num_reduced > ddof:
              stddev = np.std(x, axis=axes, ddof=ddof, keepdims=True)
  
      if stddev is None:
          factor = num_reduced - ddof
          sqr = (x - mean).astype(np.float) ** 2
          var = np.sum(sqr, axis=axes, keepdims=True)
          if factor > 0:
              var /= factor
          else:
              var *= 0
          stddev = np.sqrt(var + eps)
      elif eps:
          stddev = np.sqrt(stddev**2 + eps)
  
      with np.errstate(divide="ignore", invalid="ignore"):
          norm = (x - mean) / stddev
      return np.nan_to_num(norm, copy=False, nan=0, posinf=0, neginf=0)
  
imports: from nvidia.dali.pipeline import Pipeline
  from nvidia.dali import backend
  import nvidia.dali.ops
  import numpy
  from test_utils import dali_type
  from nvidia.dali import fn, pipeline_def, types
  from nose2.tools import params
label_desc: Use image node_id 1 for calling a global function with example usage: normalize(x, axes, mean, stddev, ddof, eps) and returns: np