docstr: ivy.Container instance method variant of ivy.squeeze. This method
  simply wraps the function, and so the docstring for ivy.squeeze also
  applies to this method with minimal changes.
  
  Parameters
  ----------
  self
      input container.
  axis
      axis (or axes) to squeeze.
  copy
      boolean indicating whether or not to copy the input array.
      If True, the function must always copy.
      If False, the function must never copy and must
      raise a ValueError in case a copy would be necessary.
      If None, the function must reuse existing memory buffer if possible
      and copy otherwise. Default: ``None``.
  key_chains
      The key-chains to apply or not apply the method to. Default is ``None``.
  to_apply
      If True, the method will be applied to key_chains, otherwise key_chains
      will be skipped. Default is ``True``.
  prune_unapplied
      Whether to prune key_chains for which the function was not applied.
      Default is ``False``.
  map_sequences
      Whether to also map method to sequences (lists, tuples).
      Default is ``False``.
  out
      optional output container, for writing the result to. It must have a shape
      that the inputs broadcast to.
  
  Returns
  -------
  ret
      an output container with the results.
  
  Examples
  --------
  >>> x = ivy.Container(a=ivy.array([[[10.], [11.]]]),
  ...                   b=ivy.array([[[11.], [12.]]]))
  >>> y = x.squeeze(axis=2)
  >>> print(y)
  {
      a: ivy.array([[10., 11.]]),
      b: ivy.array([[11., 12.]])
  }
  
  >>> x = ivy.Container(a=ivy.array([[[10.], [11.]]]),
  ...                   b=ivy.array([[[11.], [12.]]]))
  >>> y = x.squeeze(axis=0)
  >>> print(y)
  {
      a: ivy.array([[10.],
                    [11.]]),
      b: ivy.array([[11.],
                    [12.]])
  }
code: def squeeze(
      self: ivy.Container,
      /,
      *,
      axis: Optional[Union[int, Sequence[int], ivy.Container]],
      copy: Optional[Union[bool, ivy.Container]] = None,
      key_chains: Optional[
          Union[List[str], Dict[str, str], ivy.Container]
      ] = None,
      to_apply: Union[bool, ivy.Container] = True,
      prune_unapplied: Union[bool, ivy.Container] = False,
      map_sequences: Union[bool, ivy.Container] = False,
      out: Optional[ivy.Container] = None,
  ) -> ivy.Container:
      """ivy.Container instance method variant of ivy.squeeze. This method
      simply wraps the function, and so the docstring for ivy.squeeze also
      applies to this method with minimal changes.
  
      Parameters
      ----------
      self
          input container.
      axis
          axis (or axes) to squeeze.
      copy
          boolean indicating whether or not to copy the input array.
          If True, the function must always copy.
          If False, the function must never copy and must
          raise a ValueError in case a copy would be necessary.
          If None, the function must reuse existing memory buffer if possible
          and copy otherwise. Default: ``None``.
      key_chains
          The key-chains to apply or not apply the method to. Default is ``None``.
      to_apply
          If True, the method will be applied to key_chains, otherwise key_chains
          will be skipped. Default is ``True``.
      prune_unapplied
          Whether to prune key_chains for which the function was not applied.
          Default is ``False``.
      map_sequences
          Whether to also map method to sequences (lists, tuples).
          Default is ``False``.
      out
          optional output container, for writing the result to. It must have a shape
          that the inputs broadcast to.
  
      Returns
      -------
      ret
          an output container with the results.
  
      Examples
      --------
      >>> x = ivy.Container(a=ivy.array([[[10.], [11.]]]),
      ...                   b=ivy.array([[[11.], [12.]]]))
      >>> y = x.squeeze(axis=2)
      >>> print(y)
      {
          a: ivy.array([[10., 11.]]),
          b: ivy.array([[11., 12.]])
      }
  
      >>> x = ivy.Container(a=ivy.array([[[10.], [11.]]]),
      ...                   b=ivy.array([[[11.], [12.]]]))
      >>> y = x.squeeze(axis=0)
      >>> print(y)
      {
          a: ivy.array([[10.],
                        [11.]]),
          b: ivy.array([[11.],
                        [12.]])
      }
      """
      return self._static_squeeze(
          self,
          axis=axis,
          copy=copy,
          key_chains=key_chains,
          to_apply=to_apply,
          prune_unapplied=prune_unapplied,
          map_sequences=map_sequences,
          out=out,
      )
  
imports: from typing import Optional, Union, List, Tuple, Dict, Iterable, Sequence
  from numbers import Number
  import ivy
  from ivy.data_classes.container.base import ContainerBase
label_desc: Use image node_id 16 for calling the _ContainerWithManipulation obj's underlying member method code with example usage: obj.squeeze() and returns: self