code: def normalize(x, eps=1e-5, axis=1):
      """Normalize input by L2 norm.
  
      This function implements L2 normalization on a sample along the given
      axis/axes. No reduction is done along the normalization axis.
  
      In the case when :obj:`axis=1` and :math:`\\mathbf{x}` is a matrix of
      dimension :math:`(N, K)`, where :math:`N` and :math:`K` denote mini-batch
      size and the dimension of the input vectors, this function computes an
      output matrix :math:`\\mathbf{y}` of dimension :math:`(N, K)` by the
      following equation:
  
      .. math::
         \\mathbf{y}_i =
             {\\mathbf{x}_i \\over \\| \\mathbf{x}_i \\|_2 + \\epsilon}
  
      :obj:`eps` is used to avoid division by zero when norm of
      :math:`\\mathbf{x}` along the given axis is zero.
  
      The default value of :obj:`axis` is determined for backward compatibility.
  
      Args:
          x (:class:`~chainer.Variable` or :ref:`ndarray`):
              multi-dimensional output variable. The first
              dimension is assumed to be the mini-batch dimension.
          eps (float): Epsilon value for numerical stability.
          axis (int or tuple of ints): Axis along which to normalize.
  
      Returns:
          ~chainer.Variable: The output variable which has the same shape
          as :math:`x`.
  
      """
      return NormalizeL2(eps, axis).apply((x,))[0]
  
file_path: chainer/chainer/functions/normalization/l2_normalization.py
imports: import six
  from chainer import backend
  from chainer import function_node
  import chainer.functions
  from chainer import utils
  from chainer.utils import type_check
label_desc: Use image node_id 1 for calling a global function with example usage: normalize(x, eps, axis) and returns: NormalizeL2