Keras 2 API 文件 / 層 API / 池化層 / MaxPooling3D 層

MaxPooling3D 層

[原始碼]

MaxPooling3D 類別

tf_keras.layers.MaxPooling3D(
    pool_size=(2, 2, 2), strides=None, padding="valid", data_format=None, **kwargs
)

用於 3D 資料(空間或時空)的最大池化操作。

透過在輸入的每個通道的輸入視窗(大小由 pool_size 定義)中取最大值,來沿著其空間維度(深度、高度和寬度)對輸入進行降採樣。視窗會沿每個維度依 strides 移動。

參數

  • pool_size:3 個整數的 Tuple,用於縮減比例的因子(dim1、dim2、dim3)。(2, 2, 2) 會使 3D 輸入在每個維度上的大小減半。
  • strides:3 個整數的 tuple,或 None。步幅值。
  • padding"valid""same" (不區分大小寫) 其中之一。"valid" 表示不填充。"same" 會導致均勻地在輸入的左/右或上/下填充,以便輸出具有與輸入相同的高度/寬度維度。
  • data_format:一個字串,可以是 channels_last (預設) 或 channels_first 其中之一。輸入中維度的順序。channels_last 對應於形狀為 (批次, spatial_dim1, spatial_dim2, spatial_dim3, 通道) 的輸入,而 channels_first 對應於形狀為 (批次, 通道, spatial_dim1, spatial_dim2, spatial_dim3) 的輸入。如果未指定,則使用在您的 TF-Keras 組態檔案 ~/.keras/keras.json (如果存在) 中找到的 image_data_format 值,否則使用 'channels_last'。預設為 'channels_last'。

輸入形狀

  • 如果 data_format='channels_last':具有形狀的 5D 張量:(batch_size, spatial_dim1, spatial_dim2, spatial_dim3, channels)
  • 如果 data_format='channels_first':具有形狀的 5D 張量:(batch_size, channels, spatial_dim1, spatial_dim2, spatial_dim3)

輸出形狀

  • 如果 data_format='channels_last':具有形狀的 5D 張量:(batch_size, pooled_dim1, pooled_dim2, pooled_dim3, channels)
  • 如果 data_format='channels_first':具有形狀的 5D 張量:(batch_size, channels, pooled_dim1, pooled_dim2, pooled_dim3)

範例

depth = 30
height = 30
width = 30
input_channels = 3

inputs = tf.keras.Input(shape=(depth, height, width, input_channels))
layer = tf.keras.layers.MaxPooling3D(pool_size=3)
outputs = layer(inputs)  # Shape: (batch_size, 10, 10, 10, 3)