code: def normalize(x, p=2, axis=1, eps=1e-12):
      r"""Performs :math:`L_p` normalization of inputs over specified dimension.
  
      For a tensor :attr:`input` of sizes :math:`(n_0, ..., n_{dim}, ..., n_k)`, each
      :math:`n_{dim}` -element vector :math:`v` along dimension :attr:`dim` is transformed as
  
      .. math::
          v = \frac{v}{\max(\lVert v \rVert_p, \epsilon)}.
  
      With the default arguments it uses the Euclidean norm over vectors along dimension
       :math:`1` for normalization.
  
      Args:
          x: input ndarray of any shape
          ord (float): the exponent value in the norm formulation. Default: 2
          dim (int): the dimension to reduce. Default: 1
          eps (float): small value to avoid division by zero. Default: 1e-12
      """
      denom = nd.clip(
          nd.norm(x, ord=p, axis=axis, keepdims=True), eps, float("inf")
      )
      return x / denom
  
file_path: dgl/python/dgl/nn/mxnet/utils.py
imports: import numpy
  from mxnet import gluon, nd
  from ...None import DGLGraph
label_desc: Use image node_id 3 for calling a global function with example usage: normalize(x, p, axis, eps) and returns: unknown