一维平均池化层
keras.layers.AveragePooling1D(
pool_size, strides=None, padding="valid", data_format=None, name=None, **kwargs
)
pool_size
:整数或整数元组,表示池化窗口的大小。如果为单个整数,则表示池化窗口的长度;如果为整数元组,则表示池化窗口的高度和宽度。例如,pool_size=(2, 3)
表示使用一个高度为 2、宽度为 3 的池化窗口。strides
:整数或整数元组,表示池化窗口在输入数据上的步长。默认值为 None
,表示步长与池化窗口大小相同。如果为单个整数,则表示步长的长度;如果为整数元组,则表示步长的宽度和高度。例如,strides=(2, 3)
表示步长为 2、3。padding
:字符串,表示填充方式。可选值为 "valid"(不填充)和 "same"(填充)。默认值为 "valid"。data_format
:字符串,表示输入数据的格式。可选值为 "channels_first"(通道优先)和 "channels_last"(通道后)。默认值为 None
,表示根据 Keras 的配置自动选择数据格式。name
:字符串,表示该层的名称。默认值为 None
,表示自动生成名称。**kwargs
:其他关键字参数,用于传递给底层的 TensorFlow 函数。from keras.models import Sequential
from keras.layers import AveragePooling1D
#创建一个Sequential对象
model = Sequential()
#向模型中添加一个一维平均池化层
pool_size=2: 指定池化窗口的大小为2,即在每个时间步上取两个相邻样本的平均值作为输出
#input_shape=(10, 5): 指定输入数据的形状为(10, 5)
model.add(AveragePooling1D(pool_size=2, input_shape=(10, 5)))
#打印模型结构
model.summary()
Model: "sequential"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
average_pooling1d (AveragePo (None, 5, 2) 0
=================================================================
Total params: 0
Trainable params: 0
Non-trainable params: 0
二维平均池化层
keras.layers.AveragePooling2D(
pool_size,
strides=None,
padding="valid",
data_format="channels_last",
name=None,
**kwargs
)
pool_size
: 这是一个整数或整数元组,表示池化窗口的大小。如果是一个整数,那么这个值将应用于高度和宽度两个维度。如果是一个元组,那么第一个元素将应用于高度,第二个元素将应用于宽度。例如,(2, 2)将会在高度和宽度方向上都使用大小为2的池化窗口。strides
: 这是一个可选参数,默认值为None。它也是一个整数或整数元组,表示池化操作的步幅。步幅决定了池化窗口在输入数据上移动的步长。如果步幅为None,那么默认步幅与池化窗口的大小相同。padding
: 这是一个可选参数,默认值为"valid"。它指定了填充方式。如果设置为"valid",则不进行填充;如果设置为"same",则在输入数据的边界处添加零填充,使得输出数据的大小与输入数据的大小相同。data_format
: 这是一个可选参数,默认值为"channels_last"。它指定了输入数据的格式。如果设置为"channels_last",则输入数据的形状为(batch_size, height, width, channels);如果设置为"channels_first",则输入数据的形状为(batch_size, channels, height, width)。name
: 这是一个可选参数,默认值为None。它指定了该层的名称。**kwargs
: 这是可变参数,可以接收任意数量的关键字参数。这些参数将被传递给底层的TensorFlow函数。from keras.models import Sequential
from keras.layers import AveragePooling2D
# 创建一个Sequential模型
model = Sequential()
# 添加一个二维平均池化层,池化窗口大小为(2, 2),步幅为(2, 2),不进行填充,输入数据格式为"channels_last"
model.add(AveragePooling2D(pool_size=(2, 2), strides=(2, 2), padding='valid', data_format='channels_last'))
# 打印模型结构
model.summary()
Model: "sequential"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
average_pooling2d (AveragePo (None, 5, 5, 64) 0
=================================================================
Total params: 32,768
Trainable params: 32,768
Non-trainable params: 0
_________________________________________________________________
三维平均池化层
keras.layers.AveragePooling3D(
pool_size,
strides=None,
padding="valid",
data_format="channels_last",
name=None,
**kwargs
)
pool_size
: 这是一个整数或整数元组,表示池化窗口的大小。如果是一个整数,那么在每个维度上都会使用相同的池化窗口大小。如果是一个元组,那么分别指定每个维度上的池化窗口大小。例如,pool_size=(2, 2, 2)
表示在每个维度上使用大小为2的池化窗口。strides
: 这是一个可选参数,默认值为None
。它也是一个整数或整数元组,表示池化窗口在每个维度上的步幅。步幅决定了池化操作的移动速度。如果步幅为None
,则默认步幅与池化窗口大小相同。padding
: 这是一个可选参数,默认值为"valid"
。它指定了填充方式。如果设置为"valid"
,则不进行填充;如果设置为"same"
,则在输入数据的边缘处添加零填充,以保持输出数据的尺寸与输入数据相同。data_format
: 这是一个可选参数,默认值为"channels_last"
。它指定了输入数据的格式。如果设置为"channels_last"
,则输入数据的维度顺序为(batch_size, height, width, channels)
;如果设置为"channels_first"
,则输入数据的维度顺序为(batch_size, channels, height, width)
。name
: 这是一个可选参数,用于给该层命名。如果不提供名称,将自动生成一个名称。**kwargs
: 这是一个可变参数,可以传递其他关键字参数给该层。这些额外的参数将被传递给底层的TensorFlow函数。import numpy as np
from keras.models import Sequential
from keras.layers import AveragePooling3D
# 创建一个随机的三维输入数据
input_shape = (10, 10, 10, 3)
input_data = np.random.rand(*input_shape)
# 创建模型
model = Sequential()
model.add(AveragePooling3D(pool_size=(2, 2, 2), strides=None, padding="valid", data_format="channels_last"))
# 打印模型结构
model.summary()
Model: "sequential"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
average_pooling3d (AveragePoo (None, 5, 5, 5, 3) 0
=================================================================
Total params: 0
Trainable params: 0
Non-trainable params: 0