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 張量