code: def squeeze(x, axis=None):
      """Remove dimensions of size one from the shape of a ndarray.
  
      Args:
          x (:class:`~chainer.Variable` or :ref:`ndarray`):
              Input variable. A :math:`(s_1, s_2, ..., s_N)` -shaped float array.
          axis (None or int or tuple of ints): A subset of the single-dimensional
              entries in the shape to remove. If ``None`` is supplied, all of
              them are removed. The dimension index starts at zero. If an axis
              with dimension greater than one is selected, an error is raised.
  
      Returns:
          ~chainer.Variable: Variable whose dimensions of size 1 are removed.
  
      .. admonition:: Example
  
          >>> x = np.array([[[[0, 1, 2]]], [[[3, 4, 5]]]], np.float32)
          >>> x.shape
          (2, 1, 1, 3)
          >>> y = F.squeeze(x)
          >>> y.shape
          (2, 3)
          >>> y.array
          array([[0., 1., 2.],
                 [3., 4., 5.]], dtype=float32)
          >>> y = F.squeeze(x, axis=1)
          >>> y.shape
          (2, 1, 3)
          >>> y.array
          array([[[0., 1., 2.]],
          <BLANKLINE>
                 [[3., 4., 5.]]], dtype=float32)
          >>> y = F.squeeze(x, axis=(1, 2))
          >>> y.shape
          (2, 3)
          >>> y.array
          array([[0., 1., 2.],
                 [3., 4., 5.]], dtype=float32)
  
      """
      (y,) = Squeeze(axis).apply((x,))
      return y
  
file_path: chainer/chainer/functions/array/squeeze.py
imports: import six
  from chainer import backend
  from chainer import function_node
  from chainer.utils import type_check
label_desc: Use image node_id 2 for calling a global function with example usage: squeeze(x, axis) and returns: y