View source on GitHub
|
Max pooling operation for 2D spatial data.
Inherits From: Layer, Operation
tf.keras.layers.MaxPool2D(
pool_size=(2, 2),
strides=None,
padding='valid',
data_format=None,
name=None,
**kwargs
)
Used in the notebooks
| Used in the guide | Used in the tutorials |
|---|---|
Downsamples the input along its spatial dimensions (height and width)
by taking the maximum value over an input window
(of size defined by pool_size) for each channel of the input.
The window is shifted by strides along each dimension.
The resulting output when using the "valid" padding option has a spatial
shape (number of rows or columns) of:
output_shape = math.floor((input_shape - pool_size) / strides) + 1
(when input_shape >= pool_size)
The resulting output shape when using the "same" padding option is:
output_shape = math.floor((input_shape - 1) / strides) + 1
Input shape:
- If
data_format="channels_last": 4D tensor with shape(batch_size, height, width, channels). - If
data_format="channels_first": 4D tensor with shape(batch_size, channels, height, width).
Output shape:
- If
data_format="channels_last": 4D tensor with shape(batch_size, pooled_height, pooled_width, channels). - If
data_format="channels_first": 4D tensor with shape(batch_size, channels, pooled_height, pooled_width).
Examples:
strides=(1, 1) and padding="valid":
x = np.array([[1., 2., 3.],[4., 5., 6.],[7., 8., 9.]])x = np.reshape(x, [1, 3, 3, 1])max_pool_2d = keras.layers.MaxPooling2D(pool_size=(2, 2),strides=(1, 1), padding="valid")max_pool_2d(x)
strides=(2, 2) and padding="valid":
x = np.array([[1., 2., 3., 4.],[5., 6., 7., 8.],[9., 10., 11., 12.]])x = np.reshape(x, [1, 3, 4, 1])max_pool_2d = keras.layers.MaxPooling2D(pool_size=(2, 2),strides=(2, 2), padding="valid")max_pool_2d(x)
stride=(1, 1) and padding="same":
x = np.array([[1., 2., 3.],[4., 5., 6.],[7., 8., 9.]])x = np.reshape(x, [1, 3, 3, 1])max_pool_2d = keras.layers.MaxPooling2D(pool_size=(2, 2),strides=(1, 1), padding="same")max_pool_2d(x)
Methods
from_config
@classmethodfrom_config( config )
Creates a layer from its config.
This method is the reverse of get_config,
capable of instantiating the same layer from the config
dictionary. It does not handle layer connectivity
(handled by Network), nor weights (handled by set_weights).
| Args | |
|---|---|
config
|
A Python dictionary, typically the output of get_config. |
| Returns | |
|---|---|
| A layer instance. |
symbolic_call
symbolic_call(
*args, **kwargs
)
View source on GitHub