View source on GitHub |
Average pooling operation for 2D spatial data.
Inherits From: Layer
, Operation
tf.keras.layers.AveragePooling2D(
pool_size,
strides=None,
padding='valid',
data_format=None,
name=None,
**kwargs
)
Downsamples the input along its spatial dimensions (height and width)
by taking the average 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])
avg_pool_2d = keras.layers.AveragePooling2D(pool_size=(2, 2),
strides=(1, 1), padding="valid")
avg_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])
avg_pool_2d = keras.layers.AveragePooling2D(pool_size=(2, 2),
strides=(2, 2), padding="valid")
avg_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])
avg_pool_2d = keras.layers.AveragePooling2D(pool_size=(2, 2),
strides=(1, 1), padding="same")
avg_pool_2d(x)
Methods
from_config
@classmethod
from_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
)