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

AveragePooling3D 層

[原始碼]

AveragePooling3D 類別

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

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

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

參數

  • pool_size:包含 3 個整數的元組,表示要縮減的比例(dim1、dim2、dim3)。(2, 2, 2) 將使 3D 輸入在每個維度上的大小減半。
  • strides:包含 3 個整數的元組或 None。步幅值。
  • padding"valid""same" 其中之一(不區分大小寫)。"valid" 表示不使用填充。"same" 會使輸入在左/右或上/下均勻填充,使輸出具有與輸入相同的高度/寬度維度。
  • data_format:字串,channels_last(預設)或 channels_first 其中之一。輸入中維度的順序。channels_last 對應於形狀為 (batch, spatial_dim1, spatial_dim2, spatial_dim3, channels) 的輸入,而 channels_first 對應於形狀為 (batch, channels, 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.AveragePooling3D(pool_size=3)
outputs = layer(inputs)  # Shape: (batch_size, 10, 10, 10, 3)