AveragePooling1D层 和 MaxPooling1D layer

AveragePooling1D层
tf.keras.layers.AveragePooling1D(
pool_size=2, strides=None, padding=“valid”, data_format=“channels_last”, **kwargs
)
平均池化用于时序数据。
下采样输入表示,通过对被定义为pool_size的窗口取平均值。窗口根据步长strides进行切换。
当使用"valid" (padding)填充选项时,结果的输出的形状为:output_shape = (input_shape - pool_size + 1) / strides)
示例代码1:

x = tf.constant([1., 2., 3., 4., 5.])
x = tf.reshape(x, [1, 5, 1])
x
<tf.Tensor: shape=(1, 5, 1), dtype=float32, numpy=
array([[[1.],
[2.],
[3.],
[4.],
[5.]], dtype=float32)>
avg_pool_1d = tf.keras.layers.AveragePooling1D(pool_size=2,
… strides=1, padding=‘valid’)
avg_pool_1d(x)
<tf.Tensor: shape=(1, 4, 1), dtype=float32, numpy=
array([[[1.5],
[2.5],
[3.5],
[4.5]]], dtype=float32)>
当使用"same"(padding)填充选项时,输出形状:output_shape = input_shape / strides
示例代码2:
x = tf.constant([1., 2., 3., 4., 5.])
x = tf.reshape(x, [1, 5, 1])
x
<tf.Tensor: shape=(1, 5, 1), dtype=float32, numpy=
array([[[1.],
[2.],
[3.],
[4.],
[5.]], dtype=float32)>
avg_pool_1d = tf.keras.layers.AveragePooling1D(pool_size=2,
… strides=1, padding=‘same’)
avg_pool_1d(x)
<tf.Tensor: shape=(1, 5, 1), dtype=float32, numpy=
array([[[1.5],
[2.5],
[3.5],
[4.5],
[5.]]], dtype=float32)>
参数:
pool_size:平均池化窗口的大小;
strides:步长,如果是None,它默认值为pool_size。
data_format:字符串,可选项为“channels_last”和“channels_first”。也就是输入中的维度排序,channels_last 对应于inputs with shape (batch, steps, features),channels_first 对应于 inputs with shape (batch, features, steps)。
GlobalAveragePooling1D层
tf.keras.layers.GlobalAveragePooling1D(data_format=“channels_last”, **kwargs)

示例代码:

input_shape = (2, 3, 4)
x = tf.random.normal(input_shape)
y = tf.keras.layers.GlobalAveragePooling1D()(x)
print(y.shape)

1、MaxPooling1D layer
一维最大池化层

keras.layers.MaxPooling1D(
pool_size=2, strides=None, padding=“valid”, data_format=None, name=None, **kwargs
)
参数说明
pool_size:整数或整数元组,表示池化窗口的大小。如果为整数,则在每个维度上使用相同的池化窗口大小。例如,pool_size=2 表示在每个维度上使用大小为 2 的池化窗口。
strides:整数或整数元组,表示池化窗口在每个维度上的步长。如果为整数,则在每个维度上使用相同的步长。例如,strides=2 表示在每个维度上使用步长为 2 的池化窗口。默认值为 None,此时步长与池化窗口大小相同。
padding:字符串,表示填充方式。可选值为 “valid”(不填充)和 “same”(填充)。默认值为 “valid”。
data_format:字符串,表示输入数据的格式。可选值为 “channels_first”(通道优先)和 “channels_last”(通道最后一个)。默认值为 None,此时根据 TensorFlow 的版本自动选择数据格式。
name:字符串,表示该层的名称。默认值为 None。