docstr: ivy.Container instance method variant of ivy.reduce_window. This
  method simply wraps the function, and so the docstring for
  ivy.reduce_window also applies to this method with minimal changes.
  
  Parameters
  ----------
  self
      A container representing the base areas on which the window is going to
      slide over.
  init_value
      The starting value for the reduction.
  computation
      The reduction function to apply to elements in each window.
  window_dimensions
      A sequence containing the window dimensions.
  window_strides
      A sequence containing the window strides.
  padding
      Either the string ‘SAME’ (padding with zeros evenly), the string ‘VALID’ (no
      padding), or a sequence of n (low, high) integer pairs that give the padding
      to apply before and after each spatial dimension.
  base_dilation
      A sequence containing the base dilation values.
  window_dilation
      A sequence containing the window dilation values.
  
  Returns
  -------
  ret
      The result of the pooling-like operation.
  
  Examples
  --------
  >>> x = ivy.Container(
  ...     a=ivy.array([[1, 2, 3, 4],
  ...                  [5, 6, 7, 8],
  ...                  [9, 10, 11, 12]]),
  ...     b=ivy.array([[13, 14, 15, 16],
  ...                  [17, 18, 19, 20],
  ...                  [21, 22, 23, 24]])
  ... )
  >>> x.reduce_window(0, ivy.sum, (2, 2))
  {
      a: ivy.array([[21 25 29]
                    [33 37 41]
                    [45 49 53]]),
      b: ivy.array([[63 67 71]
                    [75 79 83]
                    [87 91 95]])
  }
docstr_tok: ["ivy.Container","instance","method","variant","of","ivy.reduce_window",".","This","method","simply","wraps","the","function",",","and","so","the","docstring","for","ivy.reduce_window","also","applies","to","this","method","with","minimal","changes",".","Parameters","--","--","--","--","--","self","A","container","representing","the","base","areas","on","which","the","window","is","going","to","slide","over",".","init_value","The","starting","value","for","the","reduction",".","computation","The","reduction","function","to","apply","to","elements","in","each","window",".","window_dimensions","A","sequence","containing","the","window","dimensions",".","window_strides","A","sequence","containing","the","window","strides",".","padding","Either","the","string","\u2018","SAME","\u2019","(","padding","with","zeros","evenly",")",",","the","string","\u2018","VALID","\u2019","(","no","padding",")",",","or","a","sequence","of","n","(","low",",","high",")","integer","pairs","that","give","the","padding","to","apply","before","and","after","each","spatial","dimension",".","base_dilation","A","sequence","containing","the","base","dilation","values",".","window_dilation","A","sequence","containing","the","window","dilation","values",".","Returns","--","--","--","-","ret","The","result","of","the","pooling-like","operation",".","Examples","--","--","--","--",">",">",">","x","=","ivy.Container","(","...","a=ivy.array","(","[","[","1",",","2",",","3",",","4","]",",","...","[","5",",","6",",","7",",","8","]",",","...","[","9",",","10",",","11",",","12","]","]",")",",","...","b=ivy.array","(","[","[","13",",","14",",","15",",","16","]",",","...","[","17",",","18",",","19",",","20","]",",","...","[","21",",","22",",","23",",","24","]","]",")","...",")",">",">",">","x.reduce_window","(","0",",","ivy.sum",",","(","2",",","2",")",")","{","a",":","ivy.array","(","[","[","21","25","29","]","[","33","37","41","]","[","45","49","53","]","]",")",",","b",":","ivy.array","(","[","[","63","67","71","]","[","75","79","83","]","[","87","91","95","]","]",")","}"]
code: def reduce_window(
      self: ivy.Container,
      init_value: Union[int, float, ivy.Container],
      computation: Union[Callable, ivy.Container],
      window_dimensions: Union[int, Sequence[int], ivy.Container],
      /,
      *,
      window_strides: Union[int, Sequence[int], ivy.Container] = 1,
      padding: Union[
          str, int, Sequence[Tuple[int, int]], ivy.Container
      ] = "VALID",
      base_dilation: Union[int, Sequence[int], ivy.Container] = 1,
      window_dilation: Union[int, Sequence[int], ivy.Container] = 1,
      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,
  ) -> ivy.Container:
      """ivy.Container instance method variant of ivy.reduce_window. This
      method simply wraps the function, and so the docstring for
      ivy.reduce_window also applies to this method with minimal changes.
  
      Parameters
      ----------
      self
          A container representing the base areas on which the window is going to
          slide over.
      init_value
          The starting value for the reduction.
      computation
          The reduction function to apply to elements in each window.
      window_dimensions
          A sequence containing the window dimensions.
      window_strides
          A sequence containing the window strides.
      padding
          Either the string ‘SAME’ (padding with zeros evenly), the string ‘VALID’ (no
          padding), or a sequence of n (low, high) integer pairs that give the padding
          to apply before and after each spatial dimension.
      base_dilation
          A sequence containing the base dilation values.
      window_dilation
          A sequence containing the window dilation values.
  
      Returns
      -------
      ret
          The result of the pooling-like operation.
  
      Examples
      --------
      >>> x = ivy.Container(
      ...     a=ivy.array([[1, 2, 3, 4],
      ...                  [5, 6, 7, 8],
      ...                  [9, 10, 11, 12]]),
      ...     b=ivy.array([[13, 14, 15, 16],
      ...                  [17, 18, 19, 20],
      ...                  [21, 22, 23, 24]])
      ... )
      >>> x.reduce_window(0, ivy.sum, (2, 2))
      {
          a: ivy.array([[21 25 29]
                        [33 37 41]
                        [45 49 53]]),
          b: ivy.array([[63 67 71]
                        [75 79 83]
                        [87 91 95]])
      }
      """
      return self._static_reduce_window(
          self,
          init_value,
          computation,
          window_dimensions,
          window_strides=window_strides,
          padding=padding,
          base_dilation=base_dilation,
          window_dilation=window_dilation,
          key_chains=key_chains,
          to_apply=to_apply,
          prune_unapplied=prune_unapplied,
          map_sequences=map_sequences,
      )
  
imports: from typing import Optional, Tuple, Union, List, Callable, Dict, Sequence
  from ivy.data_classes.container.base import ContainerBase
  import ivy
label_desc: Use image node_id 32 for calling the _ContainerWithLayers obj's underlying member method code with example usage: obj.reduce_window() and returns: self