Keras 2 API 文档 / 层 API / 池化层 / GlobalMaxPooling1D 层

GlobalMaxPooling1D 层

[源代码]

GlobalMaxPooling1D

tf_keras.layers.GlobalMaxPooling1D(
    data_format="channels_last", keepdims=False, **kwargs
)

1D 时间数据的全局最大池化操作。

通过在时间维度上取最大值来下采样输入表示。

例如

>>> x = tf.constant([[1., 2., 3.], [4., 5., 6.], [7., 8., 9.]])
>>> x = tf.reshape(x, [3, 3, 1])
>>> x
<tf.Tensor: shape=(3, 3, 1), dtype=float32, numpy=
array([[[1.], [2.], [3.]],
       [[4.], [5.], [6.]],
       [[7.], [8.], [9.]]], dtype=float32)>
>>> max_pool_1d = tf.keras.layers.GlobalMaxPooling1D()
>>> max_pool_1d(x)
<tf.Tensor: shape=(3, 1), dtype=float32, numpy=
array([[3.],
       [6.],
       [9.], dtype=float32)>

参数

  • data_format:一个字符串,可选值为 channels_last(默认)或 channels_first。输入中维度的顺序。channels_last 对应于形状为 (batch, steps, features) 的输入,而 channels_first 对应于形状为 (batch, features, steps) 的输入。
  • keepdims:一个布尔值,表示是否保留时间维度。如果 keepdimsFalse(默认),则空间维度的张量秩会降低。如果 keepdimsTrue,则时间维度将被保留,长度为 1。其行为与 tf.reduce_maxnp.max 相同。

输入形状

  • 如果 data_format='channels_last':形状为 (batch_size, steps, features) 的 3D 张量
  • 如果 data_format='channels_first':形状为 (batch_size, features, steps) 的 3D 张量

输出形状

  • 如果 keepdims=False:形状为 (batch_size, features) 的 2D 张量。
  • 如果 keepdims=True
    • 如果 data_format='channels_last':形状为 (batch_size, 1, features) 的 3D 张量
    • 如果 data_format='channels_first':形状为 (batch_size, features, 1) 的 3D 张量