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