max_pool1d#

ivy.max_pool1d(x, kernel, strides, padding, /, *, data_format='NWC', dilation=1, ceil_mode=False, out=None)[source]#

Compute a 1-D max pool given 3-D input x.

Parameters:
  • x (Union[Array, NativeArray]) – Input image [batch_size, w, d_in] if data_format is “NWC”.

  • kernel (Union[int, Tuple[int, ...]]) – Size of the kernel i.e., the sliding window for each dimension of input. [w].

  • strides (Union[int, Tuple[int, ...]]) – The stride of the sliding window for each dimension of input.

  • padding (Union[str, int, Tuple[int], List[Tuple[int, int]]]) – “SAME” or “VALID” indicating the algorithm; int, or list of tuple indicating the per-dimension paddings. (e.g. 2, [(1, 0)])

  • data_format (str, default: 'NWC') – “NWC” or “NCW”. Defaults to “NWC”.

  • dilation (Union[int, Tuple[int]], default: 1) – The stride between elements within a sliding window, must be > 0.

  • ceil_mode (bool, default: False) – If True, ceil is used instead of floor to compute the output shape. This ensures that every element in ‘x’ is covered by a sliding window.

  • out (Optional[Array], default: None) – optional output array, for writing the result to.

Return type:

Array

Returns:

  • ret – The result of the pooling operation.

  • Both the description and the type hints above assumes an array input

  • for simplicity, but this function is *nestable, and therefore*

  • also accepts ivy.Container instances in place of any of

  • the arguments.

Examples

>>> x = ivy.arange(0, 24.).reshape((2, 3, 4))
>>> print(ivy.max_pool1d(x, 2, 2, 'SAME'))
ivy.array([[[ 4.,  5.,  6.,  7.],
        [ 8.,  9., 10., 11.]],
[[16., 17., 18., 19.],

[20., 21., 22., 23.]]])

>>> x = ivy.arange(0, 24.).reshape((2, 3, 4))
>>> print(ivy.max_pool1d(x, 2, 2, 'VALID'))
ivy.array([[[ 4.,  5.,  6.,  7.]],

[[16., 17., 18., 19.]]])

>>> x = ivy.arange(0, 24.).reshape((2, 3, 4))
>>> print(ivy.max_pool1d(x, 2, 2, [(1,0)], data_format="NCW", dilation=1, ceil_mode=True))
ivy.array([[[ 0.,  2.,  3.],
    [ 4.,  6.,  7.],
    [ 8., 10., 11.]],
[[12., 14., 15.],

[16., 18., 19.], [20., 22., 23.]]])

Array.max_pool1d(self, kernel, strides, padding, /, *, data_format='NWC', dilation=1, ceil_mode=False, out=None)[source]#

ivy.Array instance method variant of ivy.max_pool1d. This method simply wraps the function, and so the docstring for ivy.max_pool1d also applies to this method with minimal changes.

Parameters:
  • self (Array) – Input image [batch_size,w,d_in].

  • kernel (Union[int, Tuple[int, ...]]) – The size of the window for each dimension of the input tensor.

  • strides (Union[int, Tuple[int, ...]]) – The stride of the sliding window for each dimension of input.

  • padding (Union[str, int, Tuple[int], List[Tuple[int, int]]]) – “SAME” or “VALID” indicating the algorithm, or list indicating the per-dimension paddings.

  • data_format (str, default: 'NWC') – “NWC” or “NCW”. Defaults to “NWC”.

  • dilaton – The stride between elements within a sliding window, must be > 0.

  • ceil_mode (bool, default: False) – If True, ceil is used instead of floor to compute the output shape. This ensures that every element is covered by a sliding window.

  • out (Optional[Array], default: None) – optional output array, for writing the result to. It must have a shape that the inputs broadcast to.

Return type:

Array

Returns:

ret – The result of the max pooling operation.

Examples

>>> x = ivy.arange(0, 24.).reshape((2, 3, 4))
>>> print(x.max_pool1d(2, 2, 'SAME'))
ivy.array([[[ 4.,  5.,  6.,  7.],
        [ 8.,  9., 10., 11.]],
       [[16., 17., 18., 19.],
        [20., 21., 22., 23.]]])
>>> x = ivy.arange(0, 24.).reshape((2, 3, 4))
>>> print(x.max_pool1d(2, 2, 'VALID'))
ivy.array([[[ 4.,  5.,  6.,  7.]],
   [[16., 17., 18., 19.]]])
Container.max_pool1d(self, kernel, strides, padding, /, *, data_format='NWC', dilation=1, ceil_mode=False, key_chains=None, to_apply=True, prune_unapplied=False, map_sequences=False, out=None)[source]#

ivy.Container instance method variant of ivy.max_pool1d. This method simply wraps the function, and so the docstring for ivy.max_pool1d also applies to this method with minimal changes.

Parameters:
  • self (Container) – Container of input images [batch_size, w, d_in].

  • kernel (Union[int, Tuple[int, ...], Container]) – Size of the kernel i.e., the sliding window for each dimension of input. [w].

  • strides (Union[int, Tuple[int, ...], Container]) – The stride of the sliding window for each dimension of input.

  • padding (Union[str, int, Tuple[int], List[Tuple[int, int]], Container]) – SAME” or “VALID” indicating the algorithm, or list indicating the per-dimension paddings.

  • data_format (Union[str, Container], default: 'NWC') – “NWC” or “NCW”. Defaults to “NWC”.

  • dilaton – The stride between elements within a sliding window, must be > 0.

  • ceil_mode (Union[bool, Container], default: False) – If True, ceil is used instead of floor to compute the output shape. This ensures that every element is covered by a sliding window.

  • out (Optional[Container], default: None) – optional output array, for writing the result to.

Return type:

Container

Returns:

ret – The result of the pooling operation.

Examples

>>> a = ivy.arange(12.).reshape((2,2,3))
>>> b = ivy.arange(24.).reshape((2,3,4))
>>> x = ivy.Container({'a': a, 'b': b})
>>> print(x.max_pool1d(2, 2, "VALID"))
{
    a: ivy.array([[[3., 4., 5.]],
                  [[9., 10., 11.]]]),
    b: ivy.array([[[4., 5., 6., 7.]],
                  [[16., 17., 18., 19.]]])
}