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
Args |
|---|
pool_size
strides
pool_size. If only one int is specified, the
same stride size will be used for all dimensions.
padding
"valid" or "same" (case-insensitive).
"valid" means no padding. "same" results in padding evenly to
the left/right or up/down of the input such that output has the same
height/width dimension as the input.
data_format
"channels_last" or "channels_first".
The ordering of the dimensions in the inputs. "channels_last"
corresponds to inputs with shape (batch, height, width, channels)
while "channels_first" corresponds to inputs with shape
(batch, channels, height, width). It defaults to the
image_data_format value found in your Keras config file at
~/.keras/keras.json. If you never set it, then it will be
"channels_last".
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)
Attributes |
|---|
input
Only returns the tensor(s) corresponding to the first time the operation was called.
output
Only returns the tensor(s) corresponding to the first time the operation was called.
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
| Returns | |
|---|---|
| A layer instance. |
symbolic_call
symbolic_call(
*args, **kwargs
)
View source on GitHub